summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2012-04-09 16:29:23 +0200
committerGravatar waker <wakeroid@gmail.com>2012-04-09 16:29:23 +0200
commit516f25073a726709abb83c3b73bd1e53404514c9 (patch)
tree68113731910c0df756717191a9cfaf55be514130
parent6502057510696ea575a1cf0143dec02acb7cf01c (diff)
parent1ed51a80ec0979bc0be453f75548c59965fbd6f5 (diff)
Merge branch 'master' into devel
Conflicts: plugins/gtkui/callbacks.c plugins/gtkui/callbacks.h plugins/gtkui/gtkui.h
-rw-r--r--ChangeLog51
-rw-r--r--Makefile.am2
-rw-r--r--PORTABLE_VERSION2
-rw-r--r--README1
-rw-r--r--about.txt2
-rw-r--r--common.h2
-rw-r--r--conf.c6
-rw-r--r--conf.h2
-rw-r--r--configure.ac5
-rw-r--r--deadbeef.h40
-rw-r--r--dsppreset.c2
-rw-r--r--dsppreset.h2
-rw-r--r--junklib.c8
-rw-r--r--junklib.h2
-rw-r--r--main.c346
-rw-r--r--messagepump.c4
-rw-r--r--messagepump.h2
-rw-r--r--metacache.c2
-rw-r--r--metacache.h2
-rw-r--r--optmath.h2
-rw-r--r--playlist.c474
-rw-r--r--playlist.h7
-rw-r--r--plmeta.c2
-rw-r--r--pltmeta.c2
-rw-r--r--pltmeta.h2
-rw-r--r--plugins.c14
-rw-r--r--plugins.h2
-rw-r--r--plugins/aac/aac.c221
-rw-r--r--plugins/aac/aac_parser.c2
-rw-r--r--plugins/aac/aac_parser.h2
-rw-r--r--plugins/aac/mp4ff/mp4meta.c8
-rw-r--r--plugins/adplug/Makefile.am4
-rw-r--r--plugins/adplug/adplug-db.cpp34
-rw-r--r--plugins/adplug/adplug/adl.cpp2
-rw-r--r--plugins/adplug/adplug/adtrack.cpp7
-rw-r--r--plugins/adplug/adplug/cmf.cpp40
-rw-r--r--plugins/adplug/plugin.c10
-rw-r--r--plugins/alsa/alsa.c4
-rw-r--r--plugins/ao/Makefile.am8
-rw-r--r--plugins/ao/plugin.c6
-rw-r--r--plugins/artwork/albumartorg.c2
-rw-r--r--plugins/artwork/albumartorg.h2
-rw-r--r--plugins/artwork/artwork.c145
-rw-r--r--plugins/artwork/escape.h2
-rw-r--r--plugins/artwork/lastfm.h2
-rw-r--r--plugins/cdda/cdda.c5
-rw-r--r--plugins/converter/callbacks.c1
-rw-r--r--plugins/converter/callbacks.h4
-rw-r--r--plugins/converter/converter.c178
-rw-r--r--plugins/converter/converter.glade107
-rw-r--r--plugins/converter/converter.h24
-rw-r--r--plugins/converter/convgui.c137
-rw-r--r--plugins/converter/interface.c47
-rw-r--r--plugins/converter/support.c68
-rw-r--r--plugins/converter/support.h77
-rw-r--r--plugins/dca/dcaplug.c4
-rw-r--r--plugins/dsp_libsrc/src.c5
-rw-r--r--plugins/dsp_libsrc/src.h2
-rw-r--r--plugins/dumb/cdumb.c4
-rw-r--r--plugins/dumb/dumb-kode54/src/it/itrender.c2
-rw-r--r--plugins/ffap/Makefile.am4
-rw-r--r--plugins/ffap/ffap.c4
-rw-r--r--plugins/ffmpeg/ffmpeg.c5
-rw-r--r--plugins/flac/flac.c104
-rw-r--r--plugins/gme/Makefile.am207
-rw-r--r--plugins/gme/cgme.c46
-rw-r--r--plugins/gme/game-music-emu-0.5.5/gme/Dual_Resampler.cpp4
-rw-r--r--plugins/gme/game-music-emu-0.5.5/gme/blargg_config.h2
-rw-r--r--plugins/gme/game-music-emu-svn/CMakeLists.txt91
-rw-r--r--plugins/gme/game-music-emu-svn/changes.txt239
-rw-r--r--plugins/gme/game-music-emu-svn/design.txt194
-rw-r--r--plugins/gme/game-music-emu-svn/gme.txt375
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ay_Apu.cpp395
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ay_Apu.h107
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ay_Cpu.cpp1665
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ay_Cpu.h92
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ay_Emu.cpp405
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ay_Emu.h70
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Blip_Buffer.cpp460
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Blip_Buffer.h488
-rw-r--r--plugins/gme/game-music-emu-svn/gme/CMakeLists.txt163
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Classic_Emu.cpp184
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Classic_Emu.h127
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Data_Reader.cpp315
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Data_Reader.h151
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Dual_Resampler.cpp131
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Dual_Resampler.h50
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Effects_Buffer.cpp529
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Effects_Buffer.h86
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Fir_Resampler.cpp199
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Fir_Resampler.h171
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gb_Apu.cpp306
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gb_Apu.h90
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gb_Cpu.cpp1056
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gb_Cpu.h93
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gb_Oscs.cpp336
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gb_Oscs.h83
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gbs_Emu.cpp289
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gbs_Emu.h88
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gme_File.cpp216
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gme_File.h177
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gym_Emu.cpp380
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Gym_Emu.h82
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Hes_Apu.cpp315
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Hes_Apu.h66
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Hes_Cpu.cpp1303
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Hes_Cpu.h124
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Hes_Emu.cpp531
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Hes_Emu.h94
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Kss_Cpu.cpp1706
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Kss_Cpu.h124
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Kss_Emu.cpp416
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Kss_Emu.h96
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.cpp97
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.h106
-rw-r--r--plugins/gme/game-music-emu-svn/gme/M3u_Playlist.cpp426
-rw-r--r--plugins/gme/game-music-emu-svn/gme/M3u_Playlist.h67
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Multi_Buffer.cpp232
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Multi_Buffer.h158
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Music_Emu.cpp411
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Music_Emu.h218
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Apu.cpp391
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Apu.h179
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Cpu.cpp1084
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Cpu.h114
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.cpp121
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.h131
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.cpp145
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.h102
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Oscs.cpp551
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Oscs.h147
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.cpp215
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.h95
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nsf_Emu.cpp559
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nsf_Emu.h106
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.cpp332
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.h68
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sap_Apu.cpp334
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sap_Apu.h77
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sap_Cpu.cpp1011
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sap_Cpu.h83
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sap_Emu.cpp444
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sap_Emu.h69
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sms_Apu.cpp330
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sms_Apu.h75
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Sms_Oscs.h49
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Snes_Spc.cpp380
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Snes_Spc.h287
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Cpu.cpp565
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Cpu.h1220
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Dsp.cpp703
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Dsp.h212
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Emu.cpp352
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Emu.h82
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Filter.cpp83
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Spc_Filter.h53
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Vgm_Emu.cpp416
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Vgm_Emu.h84
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.cpp314
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.h71
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.cpp21
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.h33
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.cpp1319
-rw-r--r--plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.h38
-rw-r--r--plugins/gme/game-music-emu-svn/gme/blargg_common.h196
-rw-r--r--plugins/gme/game-music-emu-svn/gme/blargg_config.h43
-rw-r--r--plugins/gme/game-music-emu-svn/gme/blargg_endian.h184
-rw-r--r--plugins/gme/game-music-emu-svn/gme/blargg_source.h110
-rw-r--r--plugins/gme/game-music-emu-svn/gme/gb_cpu_io.h72
-rw-r--r--plugins/gme/game-music-emu-svn/gme/gme.cpp376
-rw-r--r--plugins/gme/game-music-emu-svn/gme/gme.h238
-rw-r--r--plugins/gme/game-music-emu-svn/gme/gme_types.h21
-rw-r--r--plugins/gme/game-music-emu-svn/gme/gme_types.h.in23
-rw-r--r--plugins/gme/game-music-emu-svn/gme/hes_cpu_io.h101
-rw-r--r--plugins/gme/game-music-emu-svn/gme/libgme.pc.in15
-rw-r--r--plugins/gme/game-music-emu-svn/gme/nes_cpu_io.h83
-rw-r--r--plugins/gme/game-music-emu-svn/gme/sap_cpu_io.h26
-rw-r--r--plugins/gme/game-music-emu-svn/license.txt504
-rw-r--r--plugins/gme/game-music-emu-svn/readme.txt216
-rw-r--r--plugins/gme/game-music-emu-svn/test.m3u2
-rw-r--r--plugins/gme/game-music-emu-svn/test.nsfbin0 -> 749 bytes
-rw-r--r--plugins/gtkui/actions.c2
-rw-r--r--plugins/gtkui/actions.h2
-rw-r--r--plugins/gtkui/callbacks.c29
-rw-r--r--plugins/gtkui/callbacks.h10
-rw-r--r--plugins/gtkui/coverart.c2
-rw-r--r--plugins/gtkui/coverart.h2
-rw-r--r--plugins/gtkui/ddbequalizer.c2
-rw-r--r--plugins/gtkui/ddblistview.c12
-rw-r--r--plugins/gtkui/ddblistview.h2
-rw-r--r--plugins/gtkui/ddbseekbar.c2
-rw-r--r--plugins/gtkui/ddbtabstrip.c138
-rw-r--r--plugins/gtkui/ddbtabstrip.h2
-rw-r--r--plugins/gtkui/ddbvolumebar.c3
-rw-r--r--plugins/gtkui/ddbvolumebar.h2
-rw-r--r--plugins/gtkui/deadbeef.glade29
-rw-r--r--plugins/gtkui/drawing.h2
-rw-r--r--plugins/gtkui/dspconfig.c2
-rw-r--r--plugins/gtkui/dspconfig.h2
-rw-r--r--plugins/gtkui/eq.c11
-rw-r--r--plugins/gtkui/eq.h2
-rw-r--r--plugins/gtkui/fileman.c3
-rw-r--r--plugins/gtkui/gdkdrawing.c2
-rw-r--r--plugins/gtkui/gtkui.c22
-rw-r--r--plugins/gtkui/gtkui.h28
-rw-r--r--plugins/gtkui/gtkui_api.h2
-rw-r--r--plugins/gtkui/interface.c18
-rw-r--r--plugins/gtkui/mainplaylist.c2
-rw-r--r--plugins/gtkui/mainplaylist.h2
-rw-r--r--plugins/gtkui/parser.c2
-rw-r--r--plugins/gtkui/parser.h2
-rw-r--r--plugins/gtkui/plcommon.c4
-rw-r--r--plugins/gtkui/plcommon.h2
-rw-r--r--plugins/gtkui/pluginconf.c2
-rw-r--r--plugins/gtkui/pluginconf.h2
-rw-r--r--plugins/gtkui/prefwin.c13
-rw-r--r--plugins/gtkui/progress.c2
-rw-r--r--plugins/gtkui/progress.h2
-rw-r--r--plugins/gtkui/search.c2
-rw-r--r--plugins/gtkui/search.h2
-rw-r--r--plugins/gtkui/support.c23
-rw-r--r--plugins/gtkui/support.h44
-rw-r--r--plugins/gtkui/tagwritersettings.c2
-rw-r--r--plugins/gtkui/tagwritersettings.h2
-rw-r--r--plugins/gtkui/timeline.c2
-rw-r--r--plugins/gtkui/timeline.h2
-rw-r--r--plugins/gtkui/trkproperties.c5
-rw-r--r--plugins/gtkui/trkproperties.h2
-rw-r--r--plugins/gtkui/wingeom.c3
-rw-r--r--plugins/gtkui/wingeom.h2
-rw-r--r--plugins/hotkeys/hotkeys.c26
-rw-r--r--plugins/hotkeys/hotkeys.h2
-rw-r--r--plugins/lastfm/lastfm.c45
-rw-r--r--plugins/m3u/Makefile.am2
-rw-r--r--plugins/m3u/m3u.c107
-rw-r--r--plugins/mms/libmms/bswap.h86
-rw-r--r--plugins/mms/mmsplug.c4
-rw-r--r--plugins/mono2stereo/mono2stereo.c4
-rw-r--r--plugins/mpgmad/mpgmad.c4
-rw-r--r--plugins/musepack/musepack.c4
-rw-r--r--plugins/notify/notify.c4
-rw-r--r--plugins/nullout/nullout.c4
-rw-r--r--plugins/oss/oss.c4
-rw-r--r--plugins/pulse/pulse.c4
-rw-r--r--plugins/shellexec/shellexec.c188
-rw-r--r--plugins/shellexec/shellexec.h49
-rw-r--r--plugins/shn/shn.c4
-rw-r--r--plugins/sid/csid.cpp2
-rw-r--r--plugins/sid/csid.h2
-rw-r--r--plugins/sid/plugin.c4
-rw-r--r--plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i4
-rw-r--r--plugins/sndfile/sndfile.c8
-rw-r--r--plugins/soundtouch/plugin.c4
-rw-r--r--plugins/soundtouch/st.cpp2
-rw-r--r--plugins/soundtouch/st.h2
-rw-r--r--plugins/supereq/Equ.cpp2
-rw-r--r--plugins/supereq/Equ.h2
-rw-r--r--plugins/supereq/supereq.c4
-rw-r--r--plugins/tta/ttaplug.c4
-rw-r--r--plugins/uade2/plugin.c2
-rw-r--r--plugins/vfs_curl/vfs_curl.c6
-rw-r--r--plugins/vfs_zip/vfs_zip.c4
-rw-r--r--plugins/vorbis/vorbis.c16
-rw-r--r--plugins/vtx/vtx.c4
-rw-r--r--plugins/wildmidi/wildmidiplug.c4
-rw-r--r--po/LINGUAS11
-rw-r--r--po/be.po1594
-rw-r--r--po/bg.po1655
-rw-r--r--po/bn.po1639
-rw-r--r--po/ca.po1498
-rw-r--r--po/cs.po1801
-rw-r--r--po/da.po1673
-rw-r--r--po/de.po424
-rw-r--r--po/el.po1646
-rw-r--r--po/en_GB.po1657
-rw-r--r--po/eo.po1724
-rw-r--r--po/es.po1625
-rw-r--r--po/et.po1763
-rw-r--r--po/fa.po1645
-rw-r--r--po/fi.po1666
-rw-r--r--po/fr.po1846
-rw-r--r--po/gl.po1711
-rw-r--r--po/he.po1683
-rw-r--r--po/hr.po1496
-rw-r--r--po/hu.po1625
-rw-r--r--po/id.po1557
-rw-r--r--po/it.po1831
-rw-r--r--po/ja.po1542
-rw-r--r--po/kk.po1642
-rw-r--r--po/km.po1426
-rw-r--r--po/lg.po1704
-rw-r--r--po/lt.po1723
-rw-r--r--po/nb.po1386
-rw-r--r--po/nl.po1614
-rw-r--r--po/pl.po1484
-rw-r--r--po/pt.po1970
-rw-r--r--po/pt_BR.po866
-rw-r--r--po/ro.po1771
-rw-r--r--po/ru.po557
-rw-r--r--po/si.po1384
-rw-r--r--po/sk.po1639
-rw-r--r--po/sl.po1851
-rw-r--r--po/sr.po1629
-rw-r--r--po/sr@latin.po1629
-rw-r--r--po/sv.po1637
-rw-r--r--po/te.po1538
-rw-r--r--po/tr.po1467
-rw-r--r--po/ug.po1799
-rw-r--r--po/uk.po1514
-rw-r--r--po/vi.po1655
-rw-r--r--po/zh_CN.po1624
-rw-r--r--po/zh_TW.po1404
-rw-r--r--premix.c2
-rw-r--r--premix.h2
-rw-r--r--replaygain.c2
-rw-r--r--replaygain.h2
-rw-r--r--ringbuf.c2
-rw-r--r--ringbuf.h2
-rwxr-xr-xscripts/extract_translators.pl2
-rwxr-xr-xscripts/portable_build.sh2
-rwxr-xr-xscripts/portable_package_static.sh8
-rwxr-xr-xscripts/portable_postbuild.sh9
-rw-r--r--shortlicense2
-rw-r--r--streamer.c98
-rw-r--r--streamer.h4
-rw-r--r--threading.h2
-rw-r--r--threading_pthread.c2
-rw-r--r--tools/pluginfo/pluginfo.c2
-rw-r--r--translators.txt39
-rw-r--r--utf8.c2
-rw-r--r--utf8.h2
-rw-r--r--vfs.c2
-rw-r--r--vfs.h2
-rw-r--r--vfs_stdio.c4
-rw-r--r--volume.c2
-rw-r--r--volume.h2
336 files changed, 86418 insertions, 21239 deletions
diff --git a/ChangeLog b/ChangeLog
index 8d84dedb..afd2654c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,54 @@
+version 0.5.2
+ fixed reading id3v2 and apev2 tags from raw AAC files
+ fixed proxy authentication bug in vfs_curl plugin
+ added OpenIndian b148 support (Kevin van der Vlist)
+ improved APE performance
+ fixed freeze bug in alsa plugin on x86_64
+ added automatic creation of directory structure to the converter plugin
+ few fixes in random and shuffle modes
+ improved automatic config saving
+ added support for ffmpeg-0.8 (Igor Murzov)
+ fixed rename/remove playlist crash when no playlist was selected
+ last.fm plugin will now split multiline fields when scrobbling
+ few bug fixes / improvements in cuesheet support
+ fixed writing non-ascii id3v1 tags
+ pressing enter/play in paused state will now play selected track (bugfix)
+ fixed content-length handling after redirects in vfs_curl plugin
+ artwork plugin now supports png by default
+ fixed rdb check in aac adts parser, this means improved aac support (by 少昊)
+ fixed rare aac crash
+ added EXTM3U support
+ m3u and pls files are now supported only via Load Playlist menu
+ fix off-by-one error in convstr_id3v2 (gohai)
+ improved support for the case when an M3U file contains URIs of other M3Us
+ improved volumebar tooltip (xent)
+ replaygain preamp improvements (Jan D. Behrens)
+ ignore embedded album cuesheets in single-track files
+ experimental GTK3 support, can be enabled with ./configure --enable-gtk3
+ Vala is not used in this project anymore
+ vorbis plugin will now try to open .OGA files
+ GME plugin: added fadeout support, fixed intro/looping, fixed headerless files support (e.g. some GYM), improved gzipped files detection
+ added auto-resizing support to playlist columns
+ DUMB, AudioOverload, SHN, Mono2Stereo plugins are now back in the main tarball
+ default PulseAudio buffer is set to 8K
+ added FLAC embedded album covers (Tydus)
+ added "Album Artist" support to shuffle albums mode
+ fixed several memory leaks
+ config file parser now supports blank values
+ added %L %X %Z to title formatting for "selected playback length", "selected track count", "current channel configuration" respectively
+ added new commandline switch --gui to select GUI plugin
+ added WM/Year field support to ffmpeg plugin
+ fixed reading embedded covers from id3v2.4
+ added optional "Album Artist" support to last.fm
+ aac: improved duration scanner, fixed infinite loop in mp4ff ATOM_UNKNOWN handler
+ avoid scanning/loading plugins twice when XDG_LOCAL_HOME is the same as install directory (Thynson)
+ improvements in the command line handling code (Eugene Debrev)
+ shellexec now supports quoting strings for more flexibility
+ fixed resampler dsp plugin auto-configuration when the player is started for the 1st time
+ plugin API now allows to extend playlist context menu
+ added "audio/ogg" mime-type support
+ fixed playing mp4/aac files with id3v2 tags
+
version 0.5.1
fixed crash bug after deleting playlists
fixed importing fb2k EQ presets
diff --git a/Makefile.am b/Makefile.am
index 5b3eac6a..bc58549e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,6 +58,6 @@ docs_DATA = README help.txt about.txt translators.txt ChangeLog\
desktopdir = $(datadir)/applications
desktop_DATA = deadbeef.desktop
-EXTRA_DIST = $(docs_DATA) $(desktop_DATA) $(INTLTOOL_FILES) translation/extra.c sj_to_unicode.h examples/decoder_template.c examples/dsp_template.c
+EXTRA_DIST = $(docs_DATA) $(desktop_DATA) $(INTLTOOL_FILES) translation/extra.c sj_to_unicode.h examples/decoder_template.c examples/dsp_template.c yasmwrapper.sh
ACLOCAL_AMFLAGS = -I m4
diff --git a/PORTABLE_VERSION b/PORTABLE_VERSION
index d64531f1..cb0c939a 100644
--- a/PORTABLE_VERSION
+++ b/PORTABLE_VERSION
@@ -1 +1 @@
-devel
+0.5.2
diff --git a/README b/README
index f073b1b0..ddf83475 100644
--- a/README
+++ b/README
@@ -43,6 +43,7 @@ full list of dependencies:
faad2: for AAC plugin
zlib: for Audio Overload plugin (psf, psf2, etc), GME (for vgz)
libzip: for vfs_zip plugin
+ yasm: required to build assembly portions of ffap plugin on supported platforms (x86, x86_64)
actual package names for your Linux distribution may vary.
diff --git a/about.txt b/about.txt
index 56ce845c..05423602 100644
--- a/about.txt
+++ b/about.txt
@@ -1,5 +1,5 @@
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
-Copyright © 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+Copyright © 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
http://deadbeef.sf.net
This program is free software; you can redistribute it and/or
diff --git a/common.h b/common.h
index 6b5fc743..39355685 100644
--- a/common.h
+++ b/common.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/conf.c b/conf.c
index f875d349..d4e0ee28 100644
--- a/conf.c
+++ b/conf.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -89,10 +89,6 @@ conf_load (void) {
while (*p && *p <= 0x20) {
p++;
}
- if (!*p) {
- fprintf (stderr, "error in config file line %d\n", line);
- continue;
- }
char *value = p;
// remove trailing trash
while (*p && *p >= 0x20) {
diff --git a/conf.h b/conf.h
index c20c01cc..d767f691 100644
--- a/conf.h
+++ b/conf.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/configure.ac b/configure.ac
index 0b5d538a..9427c45b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,14 +4,16 @@ AC_INIT([deadbeef], [devel])
AC_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([1.11 dist-bzip2])
+AM_SILENT_RULES([yes])
AM_MAINTAINER_MODE()
AC_USE_SYSTEM_EXTENSIONS
+LT_INIT
AC_PROG_CC
AC_PROG_CXX
AC_STDC_HEADERS
AC_PROG_INSTALL
-AC_PROG_LIBTOOL
+#AC_PROG_LIBTOOL
AC_CONFIG_MACRO_DIR([m4])
AC_C_BIGENDIAN
AM_GNU_GETTEXT
@@ -58,7 +60,6 @@ AC_SUBST(YASM_FLAGS)
test "x$prefix" = xNONE && prefix=$ac_default_prefix
-
dnl INSANE_CFLAGS="-Wformat -Wdisabled-optimization -Wcomment -Wchar-subscripts -Wunused-function -Wunused-value -Wuninitialized -Wtype-limits -Wbad-function-cast"
dnl INSANE_CXXFLAGS="-Wcomment -Wchar-subscripts -Wunused-function -Wunused-value -Wuninitialized -Wtype-limits"
diff --git a/deadbeef.h b/deadbeef.h
index 9b9d3bae..fb2289ba 100644
--- a/deadbeef.h
+++ b/deadbeef.h
@@ -2,7 +2,7 @@
deadbeef.h -- plugin API of the DeaDBeeF audio player
http://deadbeef.sourceforge.net
- Copyright (C) 2009-2011 Alexey Yakovenko
+ Copyright (C) 2009-2012 Alexey Yakovenko
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -61,6 +61,8 @@ extern "C" {
// api version history:
// 9.9 -- devel
+// 1.3 -- deadbeef-0.5.3
+// 1.2 -- deadbeef-0.5.2
// 1.1 -- deadbeef-0.5.1
// adds pass_through method to dsp plugins for optimization purposes
// 1.0 -- deadbeef-0.5.0
@@ -76,7 +78,7 @@ extern "C" {
// 0.1 -- deadbeef-0.2.0
#define DB_API_VERSION_MAJOR 1
-#define DB_API_VERSION_MINOR 2
+#define DB_API_VERSION_MINOR 3
#define DDB_PLUGIN_SET_API_VERSION\
.plugin.api_vmajor = DB_API_VERSION_MAJOR,\
@@ -296,6 +298,13 @@ enum {
DDB_REPLAYGAIN_TRACKPEAK,
};
+// sort order constants
+enum ddb_sort_order_t {
+ DDB_SORT_DESCENDING,
+ DDB_SORT_ASCENDING,
+ DDB_SORT_RANDOM, // available since API 1.3
+};
+
// typecasting macros
#define DB_PLUGIN(x) ((DB_plugin_t *)(x))
#define DB_CALLBACK(x) ((DB_callback_t)(x))
@@ -477,7 +486,7 @@ typedef struct {
void (*plt_copy_items) (ddb_playlist_t *to, int iter, ddb_playlist_t * from, DB_playItem_t *before, uint32_t *indices, int cnt);
void (*plt_search_reset) (ddb_playlist_t *plt);
void (*plt_search_process) (ddb_playlist_t *plt, const char *text);
- void (*plt_sort) (ddb_playlist_t *plt, int iter, int id, const char *format, int ascending);
+ void (*plt_sort) (ddb_playlist_t *plt, int iter, int id, const char *format, int order);
// add files and folders to current playlist
int (*plt_add_file) (ddb_playlist_t *plt, const char *fname, int (*cb)(DB_playItem_t *it, void *data), void *user_data);
@@ -743,8 +752,20 @@ typedef struct {
// this function must return original un-overriden value (ignoring the keys prefixed with '!')
const char *(*pl_find_meta_raw) (DB_playItem_t *it, const char *key);
+
+ // ******* new 1.3 APIs ********
+ int (*streamer_dsp_chain_save) (void);
} DB_functions_t;
+// NOTE: an item placement must be selected like this
+// if (flags & DB_ACTION_COMMON) -> main menu, or nowhere, or where GUI plugin wants
+// basically, to put it into main menu, prefix the item title with the menu name
+// e.g. title = "File/MyItem" --> this will add the item under File menu
+//
+// if (flags & PLAYLIST) -> playlist (tab) context menu
+//
+// if (none of the above) -> track context menu
+
enum {
/* Action in main menu (or whereever ui prefers) */
DB_ACTION_COMMON = 1 << 0,
@@ -759,12 +780,21 @@ enum {
DB_ACTION_CAN_MULTIPLE_TRACKS = 1 << 3,
/* Action is inactive */
- DB_ACTION_DISABLED = 1 << 4
+ DB_ACTION_DISABLED = 1 << 4,
+
+ /* Action for the playlist (tab) */
+ /* this is new in 0.5.2 (API v1.2) */
+ DB_ACTION_PLAYLIST = 1 << 5,
};
struct DB_plugin_action_s;
-typedef int (*DB_plugin_action_callback_t) (struct DB_plugin_action_s *action, DB_playItem_t *it);
+// userdata type depends on type of action
+// it must be NULL for DB_ACTION_COMMON
+// or ddb_playlist_t * for DB_ACTION_PLAYLIST
+// or ddb_playItem_t * for none of the above (track context menu)
+typedef int (*DB_plugin_action_callback_t) (struct DB_plugin_action_s *action, void *userdata);
+#define DDB_ACTION_CALLBACK(x)((int (*)(struct DB_plugin_action_s *action, void *userdata))x)
typedef struct DB_plugin_action_s {
const char *title;
diff --git a/dsppreset.c b/dsppreset.c
index 840a7b29..821f97ea 100644
--- a/dsppreset.c
+++ b/dsppreset.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/dsppreset.h b/dsppreset.h
index 37354f9f..343dcf37 100644
--- a/dsppreset.h
+++ b/dsppreset.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/junklib.c b/junklib.c
index 45e98405..d91f4060 100644
--- a/junklib.c
+++ b/junklib.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -711,7 +711,8 @@ convstr_id3v2 (int version, uint8_t encoding, const unsigned char* str, int sz)
}
else {
trace ("invalid ucs-2 signature %x %x\n", (int)str[0], (int)str[1]);
- return NULL;
+ enc = "UCS-2LE";
+ // NOTE: this is an assumption, might break in the future.
}
}
else {
@@ -735,7 +736,7 @@ convstr_id3v2 (int version, uint8_t encoding, const unsigned char* str, int sz)
}
// trim trailing linebreaks
for (n = converted_sz-1; n >= 0; n--) {
- if (out[n] == '\n') {
+ if ((uint8_t)out[n] <= 32) {
out[n] = 0;
}
else {
@@ -1129,6 +1130,7 @@ junk_apev2_add_frame (playItem_t *it, DB_apev2_tag_t *tag_store, DB_apev2_frame_
}
}
}
+ return 0;
}
int
diff --git a/junklib.h b/junklib.h
index 1733620b..0cd3b275 100644
--- a/junklib.h
+++ b/junklib.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/main.c b/main.c
index db8205fa..b4005e17 100644
--- a/main.c
+++ b/main.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -37,6 +37,7 @@
#include <sys/types.h>
#include <sys/types.h>
#include <sys/socket.h>
+#include <sys/select.h>
#include <sys/un.h>
#include <sys/fcntl.h>
#include <sys/errno.h>
@@ -75,50 +76,86 @@ char dbdocdir[PATH_MAX]; // see deadbeef->get_doc_dir
char dbplugindir[PATH_MAX]; // see deadbeef->get_plugin_dir
char dbpixmapdir[PATH_MAX]; // see deadbeef->get_pixmap_dir
-// client-side commandline support
-// -1 error, program must exit with error code -1
-// 0 proceed normally as nothing happened
-// 1 no error, but program must exit with error code 0
-int
-client_exec_command_line (const char *cmdline, int len) {
- const uint8_t *parg = (const uint8_t *)cmdline;
- const uint8_t *pend = cmdline + len;
- while (parg < pend) {
- // if (filter == 1) {
- // help, version and nowplaying are executed with any filter
- if (!strcmp (parg, "--help") || !strcmp (parg, "-h")) {
- fprintf (stdout, _("Usage: deadbeef [options] [file(s)]\n"));
- fprintf (stdout, _("Options:\n"));
- fprintf (stdout, _(" --help or -h Print help (this message) and exit\n"));
- fprintf (stdout, _(" --quit Quit player\n"));
- fprintf (stdout, _(" --version Print version info and exit\n"));
- fprintf (stdout, _(" --play Start playback\n"));
- fprintf (stdout, _(" --stop Stop playback\n"));
- fprintf (stdout, _(" --pause Pause playback\n"));
- fprintf (stdout, _(" --toggle-pause Toggle pause\n"));
- fprintf (stdout, _(" --play-pause Start playback if stopped, toggle pause otherwise\n"));
- fprintf (stdout, _(" --next Next song in playlist\n"));
- fprintf (stdout, _(" --prev Previous song in playlist\n"));
- fprintf (stdout, _(" --random Random song in playlist\n"));
- fprintf (stdout, _(" --queue Append file(s) to existing playlist\n"));
- fprintf (stdout, _(" --nowplaying FMT Print formatted track name to stdout\n"));
- fprintf (stdout, _(" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
- " [l]ength, track[n]umber, [y]ear, [c]omment,\n"
- " copy[r]ight, [e]lapsed\n"));
- fprintf (stdout, _(" e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"));
- fprintf (stdout, _(" for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"));
- return 1;
- }
- else if (!strcmp (parg, "--version")) {
- fprintf (stdout, "DeaDBeeF " VERSION " Copyright © 2009-2011 Alexey Yakovenko\n");
- return 1;
+char use_gui_plugin[100];
+
+static void
+print_help (void) {
+ fprintf (stdout, _("Usage: deadbeef [options] [--] [file(s)]\n"));
+ fprintf (stdout, _("Options:\n"));
+ fprintf (stdout, _(" --help or -h Print help (this message) and exit\n"));
+ fprintf (stdout, _(" --quit Quit player\n"));
+ fprintf (stdout, _(" --version Print version info and exit\n"));
+ fprintf (stdout, _(" --play Start playback\n"));
+ fprintf (stdout, _(" --stop Stop playback\n"));
+ fprintf (stdout, _(" --pause Pause playback\n"));
+ fprintf (stdout, _(" --toggle-pause Toggle pause\n"));
+ fprintf (stdout, _(" --play-pause Start playback if stopped, toggle pause otherwise\n"));
+ fprintf (stdout, _(" --next Next song in playlist\n"));
+ fprintf (stdout, _(" --prev Previous song in playlist\n"));
+ fprintf (stdout, _(" --random Random song in playlist\n"));
+ fprintf (stdout, _(" --queue Append file(s) to existing playlist\n"));
+ fprintf (stdout, _(" --gui PLUGIN Tells which GUI plugin to use, default is \"GTK2\"\n"));
+ fprintf (stdout, _(" --nowplaying FMT Print formatted track name to stdout\n"));
+ fprintf (stdout, _(" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+ " [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+ " copy[r]ight, [e]lapsed\n"));
+ fprintf (stdout, _(" e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"));
+ fprintf (stdout, _(" for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"));
+}
+
+// Parse command line an return a single buffer with all
+// parameters concatenated (separated by \0). File names
+// are resolved.
+char*
+prepare_command_line (int argc, char *argv[], int *size) {
+ int seen_ddash = 0;
+
+ // initial buffer limit, will expand if needed
+ int limit = 4096;
+ char *buf = (char*) malloc (limit);
+
+ if (argc <= 1) {
+ buf[0] = 0;
+ *size = 1;
+ return buf;
+ }
+
+ int p = 0;
+ for (int i = 1; i < argc; i++) {
+ // if argument is a filename, try to resolve it
+ char resolved[PATH_MAX];
+ char *arg;
+ if (!strncmp ("--", argv[i], 2) && !seen_ddash || !realpath (argv[i], resolved)) {
+ arg = argv[i];
+ }
+ else {
+ arg = resolved;
+ }
+
+ // make sure that there is enough space in the buffer;
+ // re-allocate, if needed
+ int arglen = strlen(arg) + 1;
+ while (p + arglen >= limit) {
+ char *newbuf = (char*) malloc (limit * 2);
+ memcpy (newbuf, buf, p);
+ free (buf);
+ limit *= 2;
+ buf = newbuf;
+ }
+
+ memcpy (buf + p, arg, arglen);
+ p += arglen;
+
+ if (!strcmp("--", argv[i])) {
+ seen_ddash = 1;
}
- parg += strlen (parg);
- parg++;
}
- return 0;
+
+ *size = p;
+ return buf;
}
+
// this function executes server-side commands only
// must be called only from within server
// -1 error, program must exit with error code -1
@@ -266,7 +303,14 @@ server_exec_command_line (const char *cmdline, int len, char *sendback, int sbsi
}
if (deadbeef->plt_add_dir ((ddb_playlist_t*)curr_plt, pname, NULL, NULL) < 0) {
if (deadbeef->plt_add_file ((ddb_playlist_t*)curr_plt, pname, NULL, NULL) < 0) {
- fprintf (stderr, "failed to add file or folder %s\n", pname);
+ int ab = 0;
+ playItem_t *it = plt_load (curr_plt, NULL, pname, &ab, NULL, NULL);
+ if (it) {
+ pl_item_unref (it);
+ }
+ else {
+ fprintf (stderr, "failed to add file or folder %s\n", pname);
+ }
}
}
parg += strlen (parg);
@@ -341,6 +385,39 @@ server_close (void) {
}
}
+// Read the whole message till end-of-stream
+char*
+read_entire_message (int sockfd, int *size) {
+ int bufsize = 4096; // initial buffer size, will expand if
+ // the actual package turns out to be bigger
+ char *buf = (char*) malloc(bufsize);
+ int rdp = 0;
+
+ for (;;) {
+ if (rdp >= bufsize) {
+ int newsize = bufsize * 2;
+ char *newbuf = (char*) malloc(newsize);
+ memcpy(newbuf, buf, rdp);
+ free(buf);
+ buf = newbuf;
+ bufsize = newsize;
+ }
+
+ int rd = recv(sockfd, buf + rdp, bufsize - rdp, 0);
+ if (rd < 0) {
+ free(buf);
+ return NULL;
+ }
+ if (rd == 0) {
+ break;
+ }
+ rdp += rd;
+ }
+
+ *size = rdp;
+ return buf;
+}
+
int
server_update (void) {
// handle remote stuff
@@ -352,16 +429,16 @@ server_update (void) {
return -1;
}
else if (s2 != -1) {
- char str[2048];
+ int size = -1;
+ char *buf = read_entire_message(s2, &size);
char sendback[1024] = "";
- int size;
- if ((size = recv (s2, str, 2048, 0)) >= 0) {
- if (size == 1 && str[0] == 0) {
+ if (size > 0) {
+ if (size == 1 && buf[0] == 0) {
// FIXME: that should be called right after activation of gui plugin
messagepump_push (DB_EV_ACTIVATED, 0, 0, 0);
}
else {
- server_exec_command_line (str, size, sendback, sizeof (sendback));
+ server_exec_command_line (buf, size, sendback, sizeof (sendback));
}
}
if (sendback[0]) {
@@ -372,6 +449,8 @@ server_update (void) {
send (s2, "", 1, 0);
}
close(s2);
+
+ free(buf);
}
return 0;
}
@@ -402,6 +481,26 @@ server_loop (void *ctx) {
}
void
+save_resume_state (void) {
+ playItem_t *trk = streamer_get_playing_track ();
+ DB_output_t *output = plug_get_output ();
+ float playpos = -1;
+ int playtrack = -1;
+ int playlist = streamer_get_current_playlist ();
+ int paused = (output->state () == OUTPUT_STATE_PAUSED);
+ if (trk && playlist >= 0) {
+ playtrack = str_get_idx_of (trk);
+ playpos = streamer_get_playpos ();
+ pl_item_unref (trk);
+ }
+
+ conf_set_float ("resume.position", playpos);
+ conf_set_int ("resume.track", playtrack);
+ conf_set_int ("resume.playlist", playlist);
+ conf_set_int ("resume.paused", paused);
+}
+
+void
player_mainloop (void) {
for (;;) {
uint32_t msg;
@@ -425,7 +524,18 @@ player_mainloop (void) {
conf_save ();
break;
case DB_EV_TERMINATE:
- term = 1;
+ {
+ save_resume_state ();
+
+ pl_playqueue_clear ();
+
+ // stop streaming and playback before unloading plugins
+ DB_output_t *output = plug_get_output ();
+ output->stop ();
+ streamer_free ();
+ output->free ();
+ term = 1;
+ }
break;
case DB_EV_PLAY_CURRENT:
if (p1) {
@@ -499,33 +609,9 @@ player_mainloop (void) {
return;
}
messagepump_wait ();
- //usleep(50000);
- //plug_trigger_event (DB_EV_FRAMEUPDATE, 0);
}
}
-#if 0
-static int sigterm_handled = 0;
-void
-atexit_handler (void) {
- fprintf (stderr, "atexit_handler\n");
- if (!sigterm_handled) {
- fprintf (stderr, "handling atexit.\n");
- pl_save_all ();
- conf_save ();
- }
-}
-
-void
-sigterm_handler (int sig) {
- fprintf (stderr, "got sigterm.\n");
- atexit_handler ();
- sigterm_handled = 1;
- fprintf (stderr, "bye.\n");
- exit (0);
-}
-#endif
-
#ifdef __linux__
void
sigsegv_handler (int sig) {
@@ -559,26 +645,6 @@ sigsegv_handler (int sig) {
#endif
void
-save_resume_state (void) {
- playItem_t *trk = streamer_get_playing_track ();
- DB_output_t *output = plug_get_output ();
- float playpos = -1;
- int playtrack = -1;
- int playlist = streamer_get_current_playlist ();
- int paused = (output->state () == OUTPUT_STATE_PAUSED);
- if (trk && playlist >= 0) {
- playtrack = str_get_idx_of (trk);
- playpos = streamer_get_playpos ();
- pl_item_unref (trk);
- }
-
- conf_set_float ("resume.position", playpos);
- conf_set_int ("resume.track", playtrack);
- conf_set_int ("resume.playlist", playlist);
- conf_set_int ("resume.paused", paused);
-}
-
-void
restore_resume_state (void) {
DB_output_t *output = plug_get_output ();
if (conf_get_int ("resume_last_session", 0) && output->state () == OUTPUT_STATE_STOPPED) {
@@ -706,6 +772,23 @@ main (int argc, char *argv[]) {
return -1;
}
#endif
+
+ for (int i = 1; i < argc; i++) {
+ // help, version and nowplaying are executed with any filter
+ if (!strcmp (argv[i], "--help") || !strcmp (argv[i], "-h")) {
+ print_help ();
+ return 0;
+ }
+ else if (!strcmp (argv[i], "--version")) {
+ fprintf (stdout, "DeaDBeeF " VERSION " Copyright © 2009-2012 Alexey Yakovenko\n");
+ return 0;
+ }
+ else if (!strcmp (argv[i], "--gui")) {
+ strncpy (use_gui_plugin, argv[i], sizeof(use_gui_plugin) - 1);
+ use_gui_plugin[sizeof(use_gui_plugin) - 1] = 0;
+ }
+ }
+
trace ("installdir: %s\n", dbinstalldir);
trace ("confdir: %s\n", confdir);
trace ("docdir: %s\n", dbdocdir);
@@ -714,52 +797,8 @@ main (int argc, char *argv[]) {
mkdir (dbconfdir, 0755);
- char cmdline[2048];
- cmdline[0] = 0;
int size = 0;
- if (argc > 1) {
- size = 2048;
- // join command line into single string
- char *p = cmdline;
- cmdline[0] = 0;
- for (int i = 1; i < argc; i++) {
- if (size < 2) {
- break;
- }
- if (i > 1) {
- size--;
- p++;
- }
- int len = strlen (argv[i]);
- if (len >= size) {
- break;
- }
- char resolved[PATH_MAX];
- // need to resolve path here, because remote doesn't know current
- // path of this process
- if (argv[i][0] != '-' && realpath (argv[i], resolved)) {
- len = strlen (resolved);
- if (len >= size) {
- break;
- }
- memcpy (p, resolved, len+1);
- }
- else {
- memcpy (p, argv[i], len+1);
- }
- p += len;
- size -= len;
- }
- size = 2048 - size + 1;
- }
- int res;
- res = client_exec_command_line (cmdline, size);
- if (res == 1) {
- return 0;
- }
- else if (res < 0) {
- return res;
- }
+ char *cmdline = prepare_command_line (argc, argv, &size);
// try to connect to remote player
int s, len;
@@ -781,18 +820,16 @@ main (int argc, char *argv[]) {
len = offsetof(struct sockaddr_un, sun_path) + strlen (remote.sun_path);
#endif
if (connect(s, (struct sockaddr *)&remote, len) == 0) {
- if (argc <= 1) {
- cmdline[0] = 0;
- size = 1;
- }
-
// pass args to remote and exit
if (send(s, cmdline, size, 0) == -1) {
perror ("send");
exit (-1);
}
- char out[2048] = "";
- ssize_t sz = recv(s, out, sizeof (out), 0);
+ // end of message
+ shutdown(s, SHUT_WR);
+
+ int sz = -1;
+ char *out = read_entire_message(s, &sz);
if (sz == -1) {
fprintf (stderr, "failed to pass args to remote!\n");
exit (-1);
@@ -837,6 +874,10 @@ main (int argc, char *argv[]) {
conf_init ();
conf_load (); // required by some plugins at startup
+ if (use_gui_plugin[0]) {
+ conf_set_str ("gui_plugin", use_gui_plugin);
+ }
+
conf_set_str ("deadbeef_version", VERSION);
volume_set_db (conf_get_float ("playback.volume", 0)); // volume need to be initialized before plugins start
@@ -850,7 +891,7 @@ main (int argc, char *argv[]) {
// execute server commands in local context
int noloadpl = 0;
if (argc > 1) {
- res = server_exec_command_line (cmdline, size, NULL, 0);
+ int res = server_exec_command_line (cmdline, size, NULL, 0);
// some of the server commands ran on 1st instance should terminate it
if (res == 2) {
noloadpl = 1;
@@ -863,6 +904,8 @@ main (int argc, char *argv[]) {
}
}
+ free (cmdline);
+
#if 0
signal (SIGTERM, sigterm_handler);
atexit (atexit_handler); // helps to save in simple cases
@@ -882,6 +925,7 @@ main (int argc, char *argv[]) {
server_tid = thread_start (server_loop, NULL);
// this runs in main thread (blocks right here)
player_mainloop ();
+
// terminate server and wait for completion
if (server_tid) {
server_terminate = 1;
@@ -889,8 +933,6 @@ main (int argc, char *argv[]) {
server_tid = 0;
}
- save_resume_state ();
-
// save config
pl_save_all ();
conf_save ();
@@ -906,12 +948,6 @@ main (int argc, char *argv[]) {
// stop receiving messages from outside
server_close ();
- // stop streaming and playback before unloading plugins
- DB_output_t *output = plug_get_output ();
- output->stop ();
- streamer_free ();
- output->free ();
-
// plugins might still hood references to playitems,
// and query configuration in background
// so unload everything 1st before final cleanup
@@ -923,9 +959,7 @@ main (int argc, char *argv[]) {
conf_free ();
messagepump_free ();
plug_cleanup ();
-#if 0
- sigterm_handled = 1;
-#endif
+
fprintf (stderr, "hej-hej!\n");
return 0;
}
diff --git a/messagepump.c b/messagepump.c
index 7299cabf..c7290f88 100644
--- a/messagepump.c
+++ b/messagepump.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -74,7 +74,7 @@ messagepump_reset (void) {
int
messagepump_push (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) {
if (!mfree) {
- fprintf (stderr, "WARNING: message queue is full! message ignored (%d %p %d %d)\n", id, (void*)ctx, p1, p2);
+ //fprintf (stderr, "WARNING: message queue is full! message ignored (%d %p %d %d)\n", id, (void*)ctx, p1, p2);
if (id >= DB_EV_FIRST && ctx) {
messagepump_event_free ((ddb_event_t *)ctx);
}
diff --git a/messagepump.h b/messagepump.h
index b044b72c..8a7abeee 100644
--- a/messagepump.h
+++ b/messagepump.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/metacache.c b/metacache.c
index e7fa1619..e5ba608a 100644
--- a/metacache.c
+++ b/metacache.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/metacache.h b/metacache.h
index 50c5cb7f..79432ddd 100644
--- a/metacache.h
+++ b/metacache.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/optmath.h b/optmath.h
index c655fd17..358629ca 100644
--- a/optmath.h
+++ b/optmath.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/playlist.c b/playlist.c
index b73d4ad3..ebc68ce5 100644
--- a/playlist.c
+++ b/playlist.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -1117,20 +1117,18 @@ plt_insert_cue_from_buffer (playlist_t *playlist, playItem_t *after, playItem_t
// fprintf (stderr, "got unknown line:\n%s\n", p);
}
}
- if (!title[0]) {
- UNLOCK;
- return NULL;
- }
- // handle last track
- playItem_t *it = plt_process_cue_track (playlist, pl_find_meta_raw (origin, ":URI"), &prev, track, index00, index01, pregap, title, albumperformer, performer, albumtitle, genre, date, replaygain_album_gain, replaygain_album_peak, replaygain_track_gain, replaygain_track_peak, pl_find_meta_raw (origin, ":DECODER"), filetype, samplerate);
- if (it) {
- trace ("last track endsample: %d\n", numsamples-1);
- it->endsample = numsamples-1;
- if (it->endsample >= numsamples || it->startsample >= numsamples) {
- goto error;
+ if (title[0]) {
+ // handle last track
+ playItem_t *it = plt_process_cue_track (playlist, pl_find_meta_raw (origin, ":URI"), &prev, track, index00, index01, pregap, title, albumperformer, performer, albumtitle, genre, date, replaygain_album_gain, replaygain_album_peak, replaygain_track_gain, replaygain_track_peak, pl_find_meta_raw (origin, ":DECODER"), filetype, samplerate);
+ if (it) {
+ trace ("last track endsample: %d\n", numsamples-1);
+ it->endsample = numsamples-1;
+ if (it->endsample >= numsamples || it->startsample >= numsamples) {
+ goto error;
+ }
+ plt_set_item_duration (playlist, it, (float)(it->endsample - it->startsample + 1) / samplerate);
+ cuetracks[ncuetracks++] = it;
}
- plt_set_item_duration (playlist, it, (float)(it->endsample - it->startsample + 1) / samplerate);
- cuetracks[ncuetracks++] = it;
}
if (!ncuetracks) {
@@ -1161,6 +1159,7 @@ plt_insert_cue_from_buffer (playlist_t *playlist, playItem_t *after, playItem_t
UNLOCK;
return after;
error:
+ trace ("cue parsing error occured\n");
for (int i = 0; i < ncuetracks; i++) {
pl_item_unref (cuetracks[i]);
}
@@ -1206,265 +1205,6 @@ plt_insert_cue (playlist_t *plt, playItem_t *after, playItem_t *origin, int nums
return plt_insert_cue_from_buffer (plt, after, origin, buf, sz, numsamples, samplerate);
}
-#if 0
-playItem_t *
-plt_insert_m3u (playlist_t *plt, playItem_t *after, const char *fname, int *pabort, int (*cb)(playItem_t *it, void *data), void *user_data) {
- trace ("enter pl_insert_m3u\n");
- // skip all empty lines and comments
- DB_FILE *fp = vfs_fopen (fname);
- if (!fp) {
- trace ("failed to open file %s\n", fname);
- return NULL;
- }
- int sz = vfs_fgetlength (fp);
- if (sz > 1024*1024) {
- vfs_fclose (fp);
- trace ("file %s is too large to be a playlist\n", fname);
- return NULL;
- }
- trace ("loading m3u...\n");
- uint8_t buffer[sz];
- vfs_fread (buffer, 1, sz, fp);
- vfs_fclose (fp);
- const uint8_t *p = buffer;
- const uint8_t *end = buffer+sz;
- while (p < end) {
- p = pl_str_skipspaces (p, end);
- if (p >= end) {
- break;
- }
- if (*p == '#') {
- while (p < end && *p >= 0x20) {
- p++;
- }
- if (p >= end) {
- break;
- }
- continue;
- }
- const uint8_t *e = p;
- while (e < end && *e >= 0x20) {
- e++;
- }
- int n = e-p;
- uint8_t nm[n+1];
- memcpy (nm, p, n);
- nm[n] = 0;
- trace ("pl_insert_m3u: adding file %s\n", nm);
- playItem_t *it = plt_insert_file (plt, after, nm, pabort, cb, user_data);
- if (it) {
- after = it;
- }
- if (pabort && *pabort) {
- return after;
- }
- p = e;
- if (p >= end) {
- break;
- }
- }
- trace ("leave pl_insert_m3u\n");
- return after;
-}
-
-// that has to be opened with vfs functions to allow loading from http, as
-// referenced from M3U.
-static playItem_t *
-plt_insert_pls (playlist_t *playlist, playItem_t *after, const char *fname, int *pabort, int (*cb)(playItem_t *it, void *data), void *user_data) {
- DB_FILE *fp = vfs_fopen (fname);
- if (!fp) {
- trace ("failed to open file %s\n", fname);
- return NULL;
- }
- int sz = vfs_fgetlength (fp);
- if (sz > 1024*1024) {
- vfs_fclose (fp);
- trace ("file %s is too large to be a playlist\n", fname);
- return NULL;
- }
- if (sz < 10) {
- vfs_fclose (fp);
- trace ("file %s is too small to be a playlist (%d)\n", fname, sz);
- return NULL;
- }
- vfs_rewind (fp);
- uint8_t buffer[sz];
- vfs_fread (buffer, 1, sz, fp);
- vfs_fclose (fp);
- // 1st line must be "[playlist]"
- const uint8_t *p = buffer;
- const uint8_t *end = buffer+sz;
- if (strncasecmp (p, "[playlist]", 10)) {
- trace ("file %s doesn't begin with [playlist]\n", fname);
- return NULL;
- }
- p += 10;
- p = pl_str_skipspaces (p, end);
- if (p >= end) {
- trace ("file %s finished before numberofentries had been read\n", fname);
- return NULL;
- }
- // fetch all tracks
- char url[1024] = "";
- char title[1024] = "";
- char length[20] = "";
- int lastidx = -1;
- while (p < end) {
- p = pl_str_skipspaces (p, end);
- if (p >= end) {
- break;
- }
- if (end-p < 6) {
- break;
- }
- const uint8_t *e;
- int n;
- if (!strncasecmp (p, "numberofentries=", 16) || !strncasecmp (p, "version=", 8)) {
- while (p < end && *p >= 0x20) {
- p++;
- }
- continue;
- }
- else if (!strncasecmp (p, "file", 4)) {
- int idx = atoi (p + 4);
- if (url[0] && idx != lastidx && lastidx != -1) {
- // add track
- playItem_t *it = plt_insert_file (playlist, after, url, pabort, cb, user_data);
- if (it) {
- after = it;
- plt_set_item_duration (playlist, it, atoi (length));
- if (title[0]) {
- pl_delete_all_meta (it);
- pl_add_meta (it, "title", title);
- }
- }
- if (pabort && *pabort) {
- return after;
- }
- url[0] = 0;
- title[0] = 0;
- length[0] = 0;
- }
- lastidx = idx;
- p += 4;
- while (p < end && *p != '=') {
- p++;
- }
- p++;
- if (p >= end) {
- break;
- }
- e = p;
- while (e < end && *e >= 0x20) {
- e++;
- }
- n = e-p;
- n = min (n, sizeof (url)-1);
- memcpy (url, p, n);
- url[n] = 0;
- trace ("url: %s\n", url);
- p = ++e;
- }
- else if (!strncasecmp (p, "title", 5)) {
- int idx = atoi (p + 5);
- if (url[0] && idx != lastidx && lastidx != -1) {
- // add track
- playItem_t *it = plt_insert_file (playlist, after, url, pabort, cb, user_data);
- if (it) {
- after = it;
- plt_set_item_duration (playlist, it, atoi (length));
- if (title[0]) {
- pl_delete_all_meta (it);
- pl_add_meta (it, "title", title);
- }
- }
- if (pabort && *pabort) {
- return after;
- }
- url[0] = 0;
- title[0] = 0;
- length[0] = 0;
- }
- lastidx = idx;
- p += 5;
- while (p < end && *p != '=') {
- p++;
- }
- p++;
- if (p >= end) {
- break;
- }
- e = p;
- while (e < end && *e >= 0x20) {
- e++;
- }
- n = e-p;
- n = min (n, sizeof (title)-1);
- memcpy (title, p, n);
- title[n] = 0;
- trace ("title: %s\n", title);
- p = ++e;
- }
- else if (!strncasecmp (p, "length", 6)) {
- int idx = atoi (p + 6);
- if (url[0] && idx != lastidx && lastidx != -1) {
- // add track
- playItem_t *it = plt_insert_file (playlist, after, url, pabort, cb, user_data);
- if (it) {
- after = it;
- if (title[0]) {
- pl_delete_all_meta (it);
- pl_add_meta (it, "title", title);
- }
- }
- if (pabort && *pabort) {
- return after;
- }
- url[0] = 0;
- title[0] = 0;
- length[0] = 0;
- }
- lastidx = idx;
- p += 6;
- // skip =
- while (p < end && *p != '=') {
- p++;
- }
- p++;
- if (p >= end) {
- break;
- }
- e = p;
- while (e < end && *e >= 0x20) {
- e++;
- }
- n = e-p;
- n = min (n, sizeof (length)-1);
- memcpy (length, p, n);
- }
- else {
- trace ("invalid entry in pls file: %s\n", p);
- break;
- }
- while (e < end && *e < 0x20) {
- e++;
- }
- p = e;
- }
- if (url[0]) {
- playItem_t *it = plt_insert_file (playlist, after, url, pabort, cb, user_data);
- if (it) {
- after = it;
- if (title[0]) {
- pl_delete_all_meta (it);
- pl_add_meta (it, "title", title);
- }
- }
- }
- return after;
-}
-#endif
-
static int follow_symlinks = 0;
static int ignore_archives = 0;
@@ -1496,13 +1236,6 @@ plt_insert_file (playlist_t *playlist, playItem_t *after, const char *fname, int
}
}
- // detect decoder
- const char *eol = strrchr (fname, '.');
- if (!eol) {
- return NULL;
- }
- eol++;
-
const char *fn = strrchr (fname, '/');
if (!fn) {
fn = fname;
@@ -1510,19 +1243,6 @@ plt_insert_file (playlist_t *playlist, playItem_t *after, const char *fname, int
else {
fn++;
}
-#if 0
- // detect pls/m3u files
- // they must be handled before checking for http://,
- // so that remote playlist files referenced from other playlist files could
- // be loaded correctly
- if (!strncmp (eol, "m3u", 3) || !strncmp (eol, "m3u8", 4)) {
- return plt_insert_m3u (playlist, after, fname, pabort, cb, user_data);
- }
- else if (!strncmp (eol, "pls", 3)) {
-
- return plt_insert_pls (playlist, after, fname, pabort, cb, user_data);
- }
-#endif
// add all posible streams as special-case:
// set decoder to NULL, and filetype to "content"
@@ -1587,6 +1307,13 @@ plt_insert_file (playlist_t *playlist, playItem_t *after, const char *fname, int
fname += 7;
}
+ // detect decoder
+ const char *eol = strrchr (fname, '.');
+ if (!eol) {
+ return NULL;
+ }
+ eol++;
+
DB_decoder_t **decoders = plug_get_decoder_list ();
// match by decoder
for (int i = 0; decoders[i]; i++) {
@@ -1674,6 +1401,10 @@ plt_insert_dir_int (playlist_t *playlist, DB_vfs_t *vfs, playItem_t *after, cons
}
else {
inserted = plt_insert_file (playlist, after, namelist[i]->d_name, pabort, cb, user_data);
+ if (!inserted) {
+ // special case for loading playlists in zip files
+ inserted = plt_load (playlist, after, namelist[i]->d_name, pabort, cb, user_data);
+ }
}
if (inserted) {
after = inserted;
@@ -1925,7 +1656,24 @@ plt_insert_item (playlist_t *playlist, playItem_t *after, playItem_t *it) {
// shuffle
playItem_t *prev = it->prev[PL_MAIN];
- if (pl_order == PLAYBACK_ORDER_SHUFFLE_ALBUMS && prev && pl_find_meta_raw (prev, "album") == pl_find_meta_raw (it, "album") && pl_find_meta_raw (prev, "artist") == pl_find_meta_raw (it, "artist")) {
+ const char *aa = NULL, *prev_aa = NULL;
+ if (prev) {
+ aa = pl_find_meta_raw (it, "band");
+ if (!aa) {
+ aa = pl_find_meta_raw (it, "album artist");
+ }
+ if (!aa) {
+ aa = pl_find_meta_raw (it, "albumartist");
+ }
+ prev_aa = pl_find_meta_raw (prev, "band");
+ if (!prev_aa) {
+ prev_aa = pl_find_meta_raw (prev, "album artist");
+ }
+ if (!prev_aa) {
+ prev_aa = pl_find_meta_raw (prev, "albumartist");
+ }
+ }
+ if (pl_order == PLAYBACK_ORDER_SHUFFLE_ALBUMS && prev && pl_find_meta_raw (prev, "album") == pl_find_meta_raw (it, "album") && ((aa && prev_aa && aa == prev_aa) || pl_find_meta_raw (prev, "artist") == pl_find_meta_raw (it, "artist"))) {
it->shufflerating = prev->shufflerating;
}
else {
@@ -2067,8 +1815,9 @@ plt_delete_selected (playlist_t *playlist) {
int
pl_delete_selected (void) {
LOCK;
- plt_delete_selected (playlist);
+ int ret = plt_delete_selected (playlist);
UNLOCK;
+ return ret;
}
void
@@ -2362,15 +2111,10 @@ pl_save_all (void) {
playItem_t *
plt_load (playlist_t *plt, playItem_t *after, const char *fname, int *pabort, int (*cb)(playItem_t *it, void *data), void *user_data) {
- FILE *fp = fopen (fname, "rb");
- if (!fp) {
- trace ("plt_load: failed to open %s\n", fname);
- return NULL;
- }
-
// try plugins 1st
const char *ext = strrchr (fname, '.');
if (ext) {
+ trace ("finding playlist plugin for %s\n", ext);
ext++;
DB_playlist_t **plug = plug_get_playlist_list ();
int p, e;
@@ -2384,6 +2128,12 @@ plt_load (playlist_t *plt, playItem_t *after, const char *fname, int *pabort, in
}
}
trace ("plt_load: loading dbpl\n");
+ FILE *fp = fopen (fname, "rb");
+ if (!fp) {
+ trace ("plt_load: failed to open %s\n", fname);
+ return NULL;
+ }
+
uint8_t majorver;
uint8_t minorver;
@@ -2643,7 +2393,6 @@ pl_load_all (void) {
char path[1024];
DB_conf_item_t *it = conf_find ("playlist.tab.", NULL);
if (!it) {
-// fprintf (stderr, "INFO: loading legacy default playlist\n");
// legacy (0.3.3 and earlier)
char defpl[1024]; // $HOME/.config/deadbeef/default.dbpl
if (snprintf (defpl, sizeof (defpl), "%s/default.dbpl", dbconfdir) > sizeof (defpl)) {
@@ -2730,8 +2479,17 @@ plt_reshuffle (playlist_t *playlist, playItem_t **ppmin, playItem_t **ppmax) {
playItem_t *prev = NULL;
const char *alb = NULL;
const char *art = NULL;
+ const char *aa = NULL;
for (playItem_t *it = playlist->head[PL_MAIN]; it; it = it->next[PL_MAIN]) {
- if (pl_order == PLAYBACK_ORDER_SHUFFLE_ALBUMS && prev && alb == pl_find_meta_raw (it, "album") && art == pl_find_meta_raw (it, "artist")) {
+ const char *new_aa = NULL;
+ new_aa = pl_find_meta_raw (it, "band");
+ if (!new_aa) {
+ new_aa = pl_find_meta_raw (it, "album artist");
+ }
+ if (!new_aa) {
+ new_aa = pl_find_meta_raw (it, "albumartist");
+ }
+ if (pl_order == PLAYBACK_ORDER_SHUFFLE_ALBUMS && prev && alb == pl_find_meta_raw (it, "album") && ((aa && new_aa && aa == new_aa) || art == pl_find_meta_raw (it, "artist"))) {
it->shufflerating = prev->shufflerating;
}
else {
@@ -2739,6 +2497,7 @@ plt_reshuffle (playlist_t *playlist, playItem_t **ppmin, playItem_t **ppmax) {
it->shufflerating = rand ();
alb = pl_find_meta_raw (it, "album");
art = pl_find_meta_raw (it, "artist");
+ aa = new_aa;
}
if (!pmin || it->shufflerating < pmin->shufflerating) {
pmin = it;
@@ -2822,6 +2581,7 @@ pl_get_item_replaygain (playItem_t *it, int idx) {
case DDB_REPLAYGAIN_TRACKPEAK:
return pl_find_meta_float (it, rg_keys[idx], 1);
}
+ return 0;
}
int
@@ -2951,9 +2711,7 @@ pl_format_elapsed (const char *ret, char *elapsed, int size) {
// @escape_chars: list of escapable characters terminated with 0, or NULL if none
static int
pl_format_title_int (const char *escape_chars, playItem_t *it, int idx, char *s, int size, int id, const char *fmt) {
- char dur[50];
- char elp[50];
- char fno[50];
+ char tmp[50];
char tags[200];
char dirname[PATH_MAX];
const char *duration = NULL;
@@ -2969,8 +2727,8 @@ pl_format_title_int (const char *escape_chars, playItem_t *it, int idx, char *s,
if (idx == -1) {
idx = pl_get_idx_of (it);
}
- snprintf (fno, sizeof (fno), "%d", idx+1);
- text = fno;
+ snprintf (tmp, sizeof (tmp), "%d", idx+1);
+ text = tmp;
break;
case DB_COLUMN_PLAYING:
UNLOCK;
@@ -3094,8 +2852,8 @@ pl_format_title_int (const char *escape_chars, playItem_t *it, int idx, char *s,
p++;
}
if (!(*p)) {
- snprintf (fno, sizeof (fno), "%02d", atoi (meta));
- meta = fno;
+ snprintf (tmp, sizeof (tmp), "%02d", atoi (meta));
+ meta = tmp;
}
}
}
@@ -3115,7 +2873,7 @@ pl_format_title_int (const char *escape_chars, playItem_t *it, int idx, char *s,
meta = pl_find_meta_raw (it, "copyright");
}
else if (*fmt == 'l') {
- const char *value = (duration = pl_format_duration (it, duration, dur, sizeof (dur)));
+ const char *value = (duration = pl_format_duration (it, duration, tmp, sizeof (tmp)));
while (n > 0 && *value) {
*s++ = *value++;
n--;
@@ -3123,7 +2881,7 @@ pl_format_title_int (const char *escape_chars, playItem_t *it, int idx, char *s,
}
else if (*fmt == 'e') {
// what a hack..
- const char *value = (elapsed = pl_format_elapsed (elapsed, elp, sizeof (elp)));
+ const char *value = (elapsed = pl_format_elapsed (elapsed, tmp, sizeof (tmp)));
while (n > 0 && *value) {
*s++ = *value++;
n--;
@@ -3227,6 +2985,36 @@ pl_format_title_int (const char *escape_chars, playItem_t *it, int idx, char *s,
meta = dirname;
}
}
+ else if (*fmt == 'L') {
+ float l = 0;
+ for (playItem_t *it = playlist->head[PL_MAIN]; it; it = it->next[PL_MAIN]) {
+ if (it->selected) {
+ l += it->_duration;
+ }
+ }
+ pl_format_time (l, tmp, sizeof(tmp));
+ meta = tmp;
+ }
+ else if (*fmt == 'X') {
+ int n = 0;
+ for (playItem_t *it = playlist->head[PL_MAIN]; it; it = it->next[PL_MAIN]) {
+ if (it->selected) {
+ n++;
+ }
+ }
+ snprintf (tmp, sizeof (tmp), "%d", n);
+ meta = tmp;
+ }
+ else if (*fmt == 'Z') {
+ DB_fileinfo_t *c = deadbeef->streamer_get_current_fileinfo (); // FIXME: might crash streamer
+ if (c->fmt.channels <= 2) {
+ meta = c->fmt.channels == 1 ? _("Mono") : _("Stereo");
+ }
+ else {
+ snprintf (tmp, sizeof (tmp), "%dch Multichannel", c->fmt.channels);
+ meta = tmp;
+ }
+ }
else if (*fmt == 'V') {
meta = VERSION;
}
@@ -3386,7 +3174,13 @@ qsort_cmp_func (const void *a, const void *b) {
}
void
-plt_sort (playlist_t *playlist, int iter, int id, const char *format, int ascending) {
+plt_sort (playlist_t *playlist, int iter, int id, const char *format, int order) {
+ if (order == DDB_SORT_RANDOM) {
+ plt_sort_random (playlist, iter);
+ return;
+ }
+ int ascending = order == DDB_SORT_DESCENDING ? 0 : 1;
+
if (id == DB_COLUMN_FILENUMBER || !playlist->head[iter] || !playlist->head[iter]->next[iter]) {
return;
}
@@ -3446,6 +3240,56 @@ plt_sort (playlist_t *playlist, int iter, int id, const char *format, int ascend
}
void
+plt_sort_random (playlist_t *playlist, int iter) {
+ if (!playlist->head[iter] || !playlist->head[iter]->next[iter]) {
+ return;
+ }
+
+ LOCK;
+
+ const int playlist_count = playlist->count[iter];
+ playItem_t **array = malloc (playlist_count * sizeof (playItem_t *));
+ int idx = 0;
+ for (playItem_t *it = playlist->head[iter]; it; it = it->next[iter], idx++) {
+ array[idx] = it;
+ }
+
+ //randomize array
+ for (int swap_a = 0; swap_a < playlist_count - 1; swap_a++) {
+ //select random item above swap_a-1
+ const int swap_b = swap_a + (rand() / (float)RAND_MAX * (playlist_count - swap_a));
+
+ //swap a with b
+ playItem_t* const swap_temp = array[swap_a];
+ array[swap_a] = array[swap_b];
+ array[swap_b] = swap_temp;
+
+ }
+
+ playItem_t *prev = NULL;
+ playlist->head[iter] = 0;
+ for (idx = 0; idx < playlist->count[iter]; idx++) {
+ playItem_t *it = array[idx];
+ it->prev[iter] = prev;
+ it->next[iter] = NULL;
+ if (!prev) {
+ playlist->head[iter] = it;
+ }
+ else {
+ prev->next[iter] = it;
+ }
+ prev = it;
+ }
+ playlist->tail[iter] = array[playlist->count[iter]-1];
+
+ free (array);
+
+ plt_modified (playlist);
+
+ UNLOCK;
+}
+
+void
plt_reset_cursor (playlist_t *playlist) {
int i;
LOCK;
@@ -3457,6 +3301,9 @@ plt_reset_cursor (playlist_t *playlist) {
float
plt_get_totaltime (playlist_t *playlist) {
+ if (!playlist) {
+ return 0;
+ }
return playlist->totaltime;
}
@@ -3784,6 +3631,7 @@ pl_playqueue_clear (void) {
}
for (i = 0; i < cnt; i++) {
pl_item_unref (playqueue[i]);
+ playqueue[i] = NULL;
}
UNLOCK;
}
diff --git a/playlist.h b/playlist.h
index a517930b..fefb3943 100644
--- a/playlist.h
+++ b/playlist.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -400,7 +400,10 @@ void
plt_search_process (playlist_t *plt, const char *text);
void
-plt_sort (playlist_t *plt, int iter, int id, const char *format, int ascending);
+plt_sort (playlist_t *plt, int iter, int id, const char *format, int order);
+
+void
+plt_sort_random (playlist_t *plt, int iter);
// playqueue support functions
int
diff --git a/plmeta.c b/plmeta.c
index 6f667a89..cf17f341 100644
--- a/plmeta.c
+++ b/plmeta.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/pltmeta.c b/pltmeta.c
index e141a743..e2e6cd04 100644
--- a/pltmeta.c
+++ b/pltmeta.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/pltmeta.h b/pltmeta.h
index ca781b87..e34a2a56 100644
--- a/pltmeta.h
+++ b/pltmeta.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins.c b/plugins.c
index d41b0777..d19139ff 100644
--- a/plugins.c
+++ b/plugins.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -172,7 +172,7 @@ static DB_functions_t deadbeef_api = {
.pl_get_item_duration = (float (*) (DB_playItem_t *it))pl_get_item_duration,
.pl_get_item_flags = (uint32_t (*) (DB_playItem_t *it))pl_get_item_flags,
.pl_set_item_flags = (void (*) (DB_playItem_t *it, uint32_t flags))pl_set_item_flags,
- .plt_sort = (void (*) (ddb_playlist_t *plt, int iter, int id, const char *format, int ascending))plt_sort,
+ .plt_sort = (void (*) (ddb_playlist_t *plt, int iter, int id, const char *format, int order))plt_sort,
.pl_items_copy_junk = (void (*)(DB_playItem_t *from, DB_playItem_t *first, DB_playItem_t *last))pl_items_copy_junk,
.pl_set_item_replaygain = (void (*)(DB_playItem_t *it, int idx, float value))pl_set_item_replaygain,
.pl_get_item_replaygain = (float (*)(DB_playItem_t *it, int idx))pl_get_item_replaygain,
@@ -329,6 +329,8 @@ static DB_functions_t deadbeef_api = {
.metacache_ref = metacache_ref,
.metacache_unref = metacache_unref,
.pl_find_meta_raw = (const char *(*) (DB_playItem_t *it, const char *key))pl_find_meta_raw,
+ // ******* new 1.3 APIs ********
+ .streamer_dsp_chain_save = streamer_dsp_chain_save,
};
DB_functions_t *deadbeef = &deadbeef_api;
@@ -779,6 +781,14 @@ plug_load_all (void) {
// load from HOME 1st, than replace from installdir if needed
const char *plugins_dirs[] = { xdg_plugin_dir, dirname, NULL };
+
+ // If xdg_plugin_dir and dirname is the same, we should avoid each plugin
+ // to be load twice.
+ // XXX: Here absolute path is assumed, however if dirname is a relative
+ // path it won't work.
+ if (strcmp(xdg_plugin_dir, dirname) == 0) {
+ plugins_dirs[1] = NULL;
+ }
#else
const char *plugins_dirs[] = { dirname, NULL };
#endif
diff --git a/plugins.h b/plugins.h
index 9ee703e9..eb979c61 100644
--- a/plugins.h
+++ b/plugins.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/aac/aac.c b/plugins/aac/aac.c
index db3280dd..b3417879 100644
--- a/plugins/aac/aac.c
+++ b/plugins/aac/aac.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -42,10 +42,13 @@
//#define trace(...) { fprintf(stderr, __VA_ARGS__); }
#define trace(fmt,...)
+// FIXME: use aac_probe in both _init and _insert, in order to avoid LOTS of code duplication
+
static DB_decoder_t plugin;
static DB_functions_t *deadbeef;
-#define AAC_BUFFER_SIZE 50000
+//#define AAC_BUFFER_SIZE 50000
+#define AAC_BUFFER_SIZE (FAAD_MIN_STREAMSIZE * 16)
#define OUT_BUFFER_SIZE 100000
#ifdef USE_MP4FF
@@ -95,6 +98,7 @@ typedef struct {
int remap[10];
int noremap;
int eof;
+ int junk;
} aac_info_t;
// allocate codec control structure
@@ -109,15 +113,15 @@ aac_open (uint32_t hints) {
#ifdef USE_MP4FF
static uint32_t
aac_fs_read (void *user_data, void *buffer, uint32_t length) {
-// trace ("aac_fs_read %d\n", length);
- DB_FILE *fp = (DB_FILE *)user_data;
- return deadbeef->fread (buffer, 1, length, fp);
+ trace ("aac_fs_read %d\n", length);
+ aac_info_t *info = user_data;
+ return deadbeef->fread (buffer, 1, length, info->file);
}
static uint32_t
aac_fs_seek (void *user_data, uint64_t position) {
-// trace ("aac_fs_seek\n");
- DB_FILE *fp = (DB_FILE *)user_data;
- return deadbeef->fseek (fp, position, SEEK_SET);
+ aac_info_t *info = user_data;
+ trace ("aac_fs_seek %lld (%lld)\n", position, position + info->junk);
+ return deadbeef->fseek (info->file, position+info->junk, SEEK_SET);
}
#else
@@ -260,6 +264,7 @@ parse_aac_stream(DB_FILE *fp, int *psamplerate, int *pchannels, float *pduration
int
aac_probe (DB_FILE *fp, const char *fname, MP4FILE_CB *cb, float *duration, int *samplerate, int *channels, int *totalsamples, int *mp4track, MP4FILE *pmp4) {
// try mp4
+ trace ("aac_probe: pos=%lld, junk=%d\n", deadbeef->ftell (fp), ((aac_info_t*)cb->user_data)->junk);
if (mp4track) {
*mp4track = -1;
@@ -269,6 +274,7 @@ aac_probe (DB_FILE *fp, const char *fname, MP4FILE_CB *cb, float *duration, int
}
*duration = -1;
#ifdef USE_MP4FF
+ trace ("mp4ff_open_read\n");
mp4ff_t *mp4 = mp4ff_open_read (cb);
#else
MP4FileHandle mp4 = MP4ReadProvider (fname, 0, cb);
@@ -287,39 +293,69 @@ aac_probe (DB_FILE *fp, const char *fname, MP4FILE_CB *cb, float *duration, int
int i = -1;
trace ("looking for mp4 data...\n");
int sr = -1;
+ unsigned char* buff = 0;
+ unsigned int buff_size = 0;
for (i = 0; i < ntracks; i++) {
- unsigned char* buff = 0;
- unsigned int buff_size = 0;
mp4AudioSpecificConfig mp4ASC;
mp4ff_get_decoder_config(mp4, i, &buff, &buff_size);
- if(buff){
+ if (buff) {
int rc = AudioSpecificConfig(buff, buff_size, &mp4ASC);
sr = mp4ASC.samplingFrequency;
- free(buff);
- if(rc < 0)
+ if(rc < 0) {
+ free (buff);
+ buff = 0;
continue;
+ }
break;
}
}
-
- if (i != ntracks)
+ if (i != ntracks && buff)
{
- trace ("mp4 track: %d\n", i);
- if (sr != -1) {
- *samplerate = sr;
+ trace ("found audio track (%d)\n", i);
+ // init mp4 decoding
+ NeAACDecHandle dec = NeAACDecOpen ();
+ unsigned long srate;
+ unsigned char ch;
+ if (NeAACDecInit2(dec, buff, buff_size, &srate, &ch) < 0) {
+ trace ("NeAACDecInit2 returned error\n");
+ goto error;
+ }
+ *samplerate = srate;
+ *channels = ch;
+ int samples = mp4ff_num_samples(mp4, i);
+ samples = (int64_t)samples * srate / mp4ff_time_scale (mp4, i);
+ int tsamples = samples;
+ NeAACDecConfigurationPtr conf = NeAACDecGetCurrentConfiguration (dec);
+ conf->dontUpSampleImplicitSBR = 1;
+ NeAACDecSetConfiguration (dec, conf);
+ mp4AudioSpecificConfig mp4ASC;
+ int mp4framesize;
+ if (NeAACDecAudioSpecificConfig(buff, buff_size, &mp4ASC) >= 0)
+ {
+ mp4framesize = 1024;
+ if (mp4ASC.frameLengthFlag == 1) {
+ mp4framesize = 960;
+ }
+ // commented this out, since it fixes double-duration bug on
+ // some mp4 files
+ //if (mp4ASC.sbr_present_flag == 1) {
+ // mp4framesize *= 2;
+ //}
}
else {
- *samplerate = mp4ff_get_sample_rate (mp4, i);
+ trace ("NeAACDecAudioSpecificConfig failed, can't get mp4framesize\n");
+ goto error;
}
- *channels = mp4ff_get_channel_count (mp4, i);
- int samples = mp4ff_num_samples(mp4, i) * 1024;
- samples = (int64_t)samples * (*samplerate) / mp4ff_time_scale (mp4, i);
+ tsamples *= mp4framesize;
trace ("mp4 nsamples=%d, samplerate=%d, timescale=%d, duration=%lld\n", samples, *samplerate, mp4ff_time_scale(mp4, i), mp4ff_get_track_duration(mp4, i));
- *duration = (float)samples / (*samplerate);
+ *duration = (float)tsamples / (*samplerate);
+ trace ("mp4 duration: %f (tsamples %d/samplerate %d)\n", *duration, tsamples, *samplerate);
+
+ NeAACDecClose (dec);
if (totalsamples) {
- *totalsamples = samples;
+ *totalsamples = tsamples;
}
if (mp4track) {
*mp4track = i;
@@ -328,7 +364,24 @@ aac_probe (DB_FILE *fp, const char *fname, MP4FILE_CB *cb, float *duration, int
mp4ff_close (mp4);
}
return 0;
+error:
+ NeAACDecClose (dec);
+ free (buff);
+ if (!*pmp4) {
+ mp4ff_close (mp4);
+ }
+ return -1;
+ }
+ else {
+ trace ("audio track not found\n");
+ mp4ff_close (mp4);
+ mp4 = NULL;
+ }
+ if (buff) {
+ free (buff);
+ buff = NULL;
}
+
}
#else
MP4FileHandle mp4File = mp4;
@@ -407,13 +460,14 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
int channels = -1;
int totalsamples = -1;
- int offs = -1;
- int skip = deadbeef->junk_get_leading_size (info->file);
+ info->junk = deadbeef->junk_get_leading_size (info->file);
if (!info->file->vfs->is_streaming ()) {
- if (skip >= 0) {
- deadbeef->fseek (info->file, skip, SEEK_SET);
+ if (info->junk >= 0) {
+ deadbeef->fseek (info->file, info->junk, SEEK_SET);
+ }
+ else {
+ info->junk = 0;
}
- offs = deadbeef->ftell (info->file);
}
else {
deadbeef->fset_track (info->file, it);
@@ -425,7 +479,7 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
info->mp4reader.write = NULL;
info->mp4reader.seek = aac_fs_seek;
info->mp4reader.truncate = NULL;
- info->mp4reader.user_data = info->file;
+ info->mp4reader.user_data = info;
#else
info->mp4reader.open = aac_fs_open;
info->mp4reader.seek = aac_fs_seek;
@@ -462,8 +516,6 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
trace ("mp4 track: %d\n", i);
int samples = mp4ff_num_samples(info->mp4file, i);
info->mp4samples = samples;
- trace ("mp4 mp4samples=%d, nsamples=%d, samplerate=%d\n", samples, samples * 1024, samplerate);
- totalsamples = samples;
info->mp4track = i;
// init mp4 decoding
@@ -472,10 +524,13 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
unsigned char ch;
if (NeAACDecInit2(info->dec, buff, buff_size, &srate, &ch) < 0) {
trace ("NeAACDecInit2 returned error\n");
+ free (buff);
return -1;
}
samplerate = srate;
channels = ch;
+ samples = (int64_t)samples * srate / mp4ff_time_scale (info->mp4file, i);
+ totalsamples = samples;
NeAACDecConfigurationPtr conf = NeAACDecGetCurrentConfiguration (info->dec);
conf->dontUpSampleImplicitSBR = 1;
NeAACDecSetConfiguration (info->dec, conf);
@@ -486,24 +541,27 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
if (mp4ASC.frameLengthFlag == 1) {
info->mp4framesize = 960;
}
- if (mp4ASC.sbr_present_flag == 1) {
- info->mp4framesize *= 2;
- }
+// if (mp4ASC.sbr_present_flag == 1) {
+// info->mp4framesize *= 2;
+// }
}
totalsamples *= info->mp4framesize;
duration = (float)totalsamples / samplerate;
- free (buff);
}
else {
mp4ff_close (info->mp4file);
info->mp4file = NULL;
}
+ if (buff) {
+ free (buff);
+ }
}
else {
mp4ff_close (info->mp4file);
info->mp4file = NULL;
}
}
+// {{{ libmp4v2 code
#else
trace ("aac_init: MP4ReadProvider %s\n", deadbeef->pl_find_meta (it, ":URI"));
info->mp4file = MP4ReadProvider (deadbeef->pl_find_meta (it, ":URI"), 0, &info->mp4reader);
@@ -543,9 +601,9 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
if (mp4ASC.frameLengthFlag == 1) {
info->mp4framesize = 960;
}
- if (mp4ASC.sbr_present_flag == 1) {
- info->mp4framesize *= 2;
- }
+// if (mp4ASC.sbr_present_flag == 1) {
+// info->mp4framesize *= 2;
+// }
}
//totalsamples *= info->mp4framesize;
free (pConfig);
@@ -563,26 +621,31 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
info->mp4file = NULL;
}
#endif
+// }}}
if (!info->mp4file) {
trace ("mp4 track not found, looking for aac stream...\n");
- if (skip >= 0) {
- deadbeef->fseek (info->file, skip, SEEK_SET);
+ if (info->junk >= 0) {
+ deadbeef->fseek (info->file, info->junk, SEEK_SET);
}
else {
deadbeef->rewind (info->file);
}
- if (parse_aac_stream (info->file, &samplerate, &channels, &duration, &totalsamples) == -1) {
+ int offs = parse_aac_stream (info->file, &samplerate, &channels, &duration, &totalsamples);
+ if (offs == -1) {
trace ("aac stream not found\n");
return -1;
}
- if (skip >= 0) {
- deadbeef->fseek (info->file, skip, SEEK_SET);
+ if (offs > info->junk) {
+ info->junk = offs;
+ }
+ if (info->junk >= 0) {
+ deadbeef->fseek (info->file, info->junk, SEEK_SET);
}
else {
deadbeef->rewind (info->file);
}
- trace ("found aac stream (junk: %d, offs: %d)\n", skip, offs);
+ trace ("found aac stream (junk: %d, offs: %d)\n", info->junk, offs);
}
_info->fmt.channels = channels;
@@ -592,18 +655,18 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
// sync before attempting to init
int samplerate, channels;
float duration;
- offs = parse_aac_stream (info->file, &samplerate, &channels, &duration, NULL);
+ int offs = parse_aac_stream (info->file, &samplerate, &channels, &duration, NULL);
if (offs < 0) {
trace ("aac: parse_aac_stream failed\n");
return -1;
}
+ if (offs > info->junk) {
+ info->junk = offs;
+ }
trace("parse_aac_stream returned %x\n", offs);
deadbeef->pl_replace_meta (it, "!FILETYPE", "AAC");
}
- if (offs >= 0) {
- deadbeef->fseek (info->file, offs, SEEK_SET);
- }
// duration = (float)totalsamples / samplerate;
// deadbeef->pl_set_item_duration (it, duration);
@@ -658,6 +721,7 @@ aac_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
info->endsample = totalsamples-1;
}
}
+ trace ("totalsamples: %d, endsample: %d, samples-from-duration: %d\n", totalsamples-1, info->endsample, (int)deadbeef->pl_get_item_duration (it)*44100);
for (int i = 0; i < _info->fmt.channels; i++) {
_info->fmt.channelmask |= 1 << i;
@@ -702,14 +766,13 @@ aac_read (DB_fileinfo_t *_info, char *bytes, int size) {
if (info->currentsample + size / samplesize > info->endsample) {
size = (info->endsample - info->currentsample + 1) * samplesize;
if (size <= 0) {
- trace ("aac_read: eof");
+ trace ("aac_read: eof (current=%d, total=%d)\n", info->currentsample, info->endsample);
return 0;
}
}
}
int initsize = size;
- int eof = 0;
while (size > 0) {
if (info->skipsamples > 0 && info->out_remaining > 0) {
@@ -859,10 +922,8 @@ aac_read (DB_fileinfo_t *_info, char *bytes, int size) {
if (info->remaining < AAC_BUFFER_SIZE) {
trace ("fread from offs %lld\n", deadbeef->ftell (info->file));
size_t res = deadbeef->fread (info->buffer + info->remaining, 1, AAC_BUFFER_SIZE-info->remaining, info->file);
- if (res == 0) {
- eof = 1;
- }
info->remaining += res;
+ trace ("remain: %d\n", info->remaining);
if (!info->remaining) {
break;
}
@@ -870,6 +931,7 @@ aac_read (DB_fileinfo_t *_info, char *bytes, int size) {
trace ("NeAACDecDecode %d bytes\n", info->remaining)
samples = NeAACDecDecode (info->dec, &info->frame_info, info->buffer, info->remaining);
+ trace ("samples =%p\n", samples);
if (!samples) {
trace ("NeAACDecDecode failed with error %s (%d), consumed=%d\n", NeAACDecGetErrorMessage(info->frame_info.error), (int)info->frame_info.error, info->frame_info.bytesconsumed);
@@ -878,16 +940,7 @@ aac_read (DB_fileinfo_t *_info, char *bytes, int size) {
break;
}
info->num_errors++;
- int s = 0;
- while (!s && info->remaining > 0) {
- int ch, sr, br, sm;
- s = aac_sync (info->buffer, &ch, &sr, &br, &sm);
- if (s == 0) {
- memmove (info->buffer, info->buffer+1, info->remaining-1);
- info->remaining--;
- }
- }
-// info->remaining = 0;
+ info->remaining = 0;
continue;
}
info->num_errors=0;
@@ -912,7 +965,6 @@ aac_read (DB_fileinfo_t *_info, char *bytes, int size) {
}
info->currentsample += (initsize-size) / samplesize;
- trace ("aac_read return: %d\n", initsize-size);
return initsize-size;
}
@@ -977,8 +1029,9 @@ aac_seek_sample (DB_fileinfo_t *_info, int sample) {
sample += info->startsample;
if (info->mp4file) {
- info->mp4sample = sample / (info->mp4framesize-1);
- info->skipsamples = sample - info->mp4sample * (info->mp4framesize-1);
+ int scale = _info->fmt.samplerate / mp4ff_time_scale (info->mp4file, info->mp4track) * info->mp4framesize;
+ info->mp4sample = sample / scale;
+ info->skipsamples = sample - info->mp4sample * scale;
}
else {
int skip = deadbeef->junk_get_leading_size (info->file);
@@ -1060,7 +1113,6 @@ aac_load_tags (DB_playItem_t *it, mp4ff_t *mp4) {
deadbeef->pl_set_item_replaygain (it, DDB_REPLAYGAIN_ALBUMPEAK, atof (s));
free (s);
}
- deadbeef->pl_add_meta (it, "title", NULL);
}
#endif
@@ -1092,6 +1144,7 @@ aac_read_metadata (DB_playItem_t *it) {
if (mp4) {
aac_load_tags (it, mp4);
mp4ff_close (mp4);
+ deadbeef->pl_add_meta (it, "title", NULL);
}
else {
/*int apeerr = */deadbeef->junk_apev2_read (it, fp);
@@ -1194,10 +1247,14 @@ aac_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
trace ("not found\n");
return NULL;
}
- int skip = deadbeef->junk_get_leading_size (fp);
- if (skip > 0) {
- trace ("mpgmad: skipping %d bytes (tag)\n", skip);
- deadbeef->fseek(fp, skip, SEEK_SET);
+ aac_info_t info = {0};
+ info.junk = deadbeef->junk_get_leading_size (fp);
+ if (info.junk >= 0) {
+ trace ("junk: %d\n", info.junk);
+ deadbeef->fseek (fp, info.junk, SEEK_SET);
+ }
+ else {
+ info.junk = 0;
}
const char *ftype = NULL;
@@ -1214,19 +1271,16 @@ aac_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
ftype = "RAW AAC";
}
else {
- int skip = deadbeef->junk_get_leading_size (fp);
- if (skip >= 0) {
- deadbeef->fseek (fp, skip, SEEK_SET);
- }
// slowwww!
+ info.file = fp;
MP4FILE_CB cb = {
#ifdef USE_MP4FF
.read = aac_fs_read,
.write = NULL,
.seek = aac_fs_seek,
.truncate = NULL,
- .user_data = fp
+ .user_data = &info
#else
.open = aac_fs_open,
.seek = aac_fs_seek,
@@ -1291,12 +1345,11 @@ aac_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
MP4Close (mp4);
#endif
}
- else if (ftype && !strcmp (ftype, "RAW AAC")) {
- int apeerr = deadbeef->junk_apev2_read (it, fp);
- int v2err = deadbeef->junk_id3v2_read (it, fp);
- int v1err = deadbeef->junk_id3v1_read (it, fp);
- deadbeef->pl_add_meta (it, "title", NULL);
- }
+
+ int apeerr = deadbeef->junk_apev2_read (it, fp);
+ int v2err = deadbeef->junk_id3v2_read (it, fp);
+ int v1err = deadbeef->junk_id3v1_read (it, fp);
+ deadbeef->pl_add_meta (it, "title", NULL);
int64_t fsize = deadbeef->fgetlength (fp);
@@ -1358,7 +1411,7 @@ static DB_decoder_t plugin = {
.plugin.name = "AAC player",
.plugin.descr = "plays aac files, supports raw aac files, as well as mp4 container",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified libmp4ff (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com\n"
"\n"
diff --git a/plugins/aac/aac_parser.c b/plugins/aac/aac_parser.c
index ea274989..81338cd0 100644
--- a/plugins/aac/aac_parser.c
+++ b/plugins/aac/aac_parser.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/aac/aac_parser.h b/plugins/aac/aac_parser.h
index 7d3b886e..fa1d4120 100644
--- a/plugins/aac/aac_parser.h
+++ b/plugins/aac/aac_parser.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/aac/mp4ff/mp4meta.c b/plugins/aac/mp4ff/mp4meta.c
index a0c1b7e3..5e13c693 100644
--- a/plugins/aac/mp4ff/mp4meta.c
+++ b/plugins/aac/mp4ff/mp4meta.c
@@ -335,7 +335,13 @@ int32_t mp4ff_parse_metadata(mp4ff_t *f, const int32_t size)
subsize = mp4ff_atom_read_header(f, &atom_type, &header_size);
if (subsize == 0)
break;
- mp4ff_parse_tag(f, atom_type, (uint32_t)(subsize-header_size));
+ if (atom_type == ATOM_UNKNOWN) {
+ // don't try to read unknown atoms
+ mp4ff_set_position(f, mp4ff_position(f)+subsize-header_size);
+ }
+ else {
+ mp4ff_parse_tag(f, atom_type, (uint32_t)(subsize-header_size));
+ }
sumsize += subsize;
}
diff --git a/plugins/adplug/Makefile.am b/plugins/adplug/Makefile.am
index c125a056..6a56e1b8 100644
--- a/plugins/adplug/Makefile.am
+++ b/plugins/adplug/Makefile.am
@@ -5,9 +5,9 @@ adlibdir = $(libdir)/$(PACKAGE)
pkglib_LTLIBRARIES = adplug.la
AM_CFLAGS = $(CFLAGS) -std=c99 -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fPIC
-adplug_la_LDFLAGS = -module -nostdlib -lsupc++
+adplug_la_LDFLAGS = -module -nostdlib -lm -lsupc++
-AM_CPPFLAGS = $(CXXFLAGS) -Dstricmp=strcasecmp -DVERSION=\"2.1\" -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fno-exceptions -fno-rtti -nostdlib -fno-unwind-tables -fPIC
+AM_CPPFLAGS = $(CXXFLAGS) -Dstricmp=strcasecmp -DVERSION=\"2.1\" -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fno-exceptions -fno-rtti -fno-unwind-tables
adplug_la_SOURCES = plugin.c\
adplug-db.cpp\
diff --git a/plugins/adplug/adplug-db.cpp b/plugins/adplug/adplug-db.cpp
index 98005298..6e6242e6 100644
--- a/plugins/adplug/adplug-db.cpp
+++ b/plugins/adplug/adplug-db.cpp
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -23,6 +23,8 @@
#include "../../deadbeef.h"
#include "adplug.h"
#include "emuopl.h"
+#include "kemuopl.h"
+#include "surroundopl.h"
#include "silentopl.h"
#define min(x,y) ((x)<(y)?(x):(y))
@@ -42,6 +44,12 @@ int _Unwind_GetDataRelBase;
int _Unwind_GetRegionStart;
int _Unwind_SetGR;
int _Unwind_GetIPInfo;
+//int __cxa_pure_virtual;
+////int _Znaj;
+////int _ZdaPv;
+//int __cxa_guard_release;
+////int _ZdlPv;
+//int __cxa_guard_acquire;
extern "C" {
@@ -55,7 +63,7 @@ const char *adplug_filetypes[] = { "A2M", "ADL", "AMD", "BAM", "CFF", "CMF", "D0
typedef struct {
DB_fileinfo_t info;
- CEmuopl *opl;
+ Copl *opl;
CPlayer *decoder;
int totalsamples;
int currentsample;
@@ -80,8 +88,26 @@ adplug_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
int samplerate = deadbeef->conf_get_int ("synth.samplerate", 44100);
int bps = 16; // NOTE: there's no need to support 8bit input, because adplug simply downgrades 16bit signal to 8bits
int channels = 2;
- info->opl = new CEmuopl (samplerate, bps == 16 ? true : false, channels == 2);
-// opl->settype (Copl::TYPE_OPL2);
+ if (deadbeef->conf_get_int ("adplug.surround", 1)) {
+ if (deadbeef->conf_get_int ("adplug.use_ken", 0)) {
+ Copl *a = new CKemuopl(samplerate, bps == 16, false);
+ Copl *b = new CKemuopl(samplerate, bps == 16, false);
+ info->opl = new CSurroundopl(a, b, bps == 16);
+ }
+ else {
+ Copl *a = new CEmuopl(samplerate, bps == 16, false);
+ Copl *b = new CEmuopl(samplerate, bps == 16, false);
+ info->opl = new CSurroundopl(a, b, bps == 16);
+ }
+ }
+ else {
+ if (deadbeef->conf_get_int ("adplug.use_satoh", 0)) {
+ info->opl = new CEmuopl (samplerate, bps == 16, channels == 2);
+ }
+ else {
+ info->opl = new CKemuopl (samplerate, bps == 16, channels == 2);
+ }
+ }
info->decoder = CAdPlug::factory (deadbeef->pl_find_meta (it, ":URI"), info->opl, CAdPlug::players);
if (!info->decoder) {
trace ("adplug: failed to open %s\n", deadbeef->pl_find_meta (it, ":URI"));
diff --git a/plugins/adplug/adplug/adl.cpp b/plugins/adplug/adplug/adl.cpp
index 6febbf87..1dd95ea8 100644
--- a/plugins/adplug/adplug/adl.cpp
+++ b/plugins/adplug/adplug/adl.cpp
@@ -2402,7 +2402,7 @@ bool CadlPlayer::load(const char *filename, const CFileProvider &fp)
// _soundFileLoaded = file;
// find last subsong
- for(int i = 119; i >= 0; i--) {
+ for(int i = 199; i >= 0; i--) {
if(_trackEntries[i] != 0xff) {
numsubsongs = i + 1;
break;
diff --git a/plugins/adplug/adplug/adtrack.cpp b/plugins/adplug/adplug/adtrack.cpp
index 54866a32..87d9629c 100644
--- a/plugins/adplug/adplug/adtrack.cpp
+++ b/plugins/adplug/adplug/adtrack.cpp
@@ -64,11 +64,8 @@ bool CadtrackLoader::load(const char * filename, const CFileProvider &fp)
char instfilename[PATH_MAX];
strncpy (instfilename, filename, sizeof (instfilename)-5);
instfilename[PATH_MAX-5] = 0;
- char *pext = instfilename + strlen (instfilename);
- while (pext > instfilename && *pext != '.') {
- pext--;
- }
- if (*pext == '.') {
+ char *pext = strrchr (instfilename, '.');
+ if (pext) {
strcpy (pext, ".ins");
}
else {
diff --git a/plugins/adplug/adplug/cmf.cpp b/plugins/adplug/adplug/cmf.cpp
index 580b6df3..1f6e6bf5 100644
--- a/plugins/adplug/adplug/cmf.cpp
+++ b/plugins/adplug/adplug/cmf.cpp
@@ -137,13 +137,20 @@ bool CcmfPlayer::load(const std::string &filename, const CFileProvider &fp)
this->cmfHeader.iTagOffsetComposer = f->readInt(2);
this->cmfHeader.iTagOffsetRemarks = f->readInt(2);
f->readString((char *)this->cmfHeader.iChannelsInUse, 16);
- this->cmfHeader.iNumInstruments = f->readInt(2);
- this->cmfHeader.iTempo = f->readInt(2);
+ if (iVer == 0x0100) {
+ this->cmfHeader.iNumInstruments = f->readInt(1);
+ this->cmfHeader.iTempo = 0;
+ } else { // 0x0101
+ this->cmfHeader.iNumInstruments = f->readInt(2);
+ this->cmfHeader.iTempo = f->readInt(2);
+ }
// Load the instruments
f->seek(this->cmfHeader.iInstrumentBlockOffset);
- this->pInstruments = new SBI[128]; // Always 128 available for use
+ this->pInstruments = new SBI[
+ (this->cmfHeader.iNumInstruments < 128) ? 128 : this->cmfHeader.iNumInstruments
+ ]; // Always at least 128 available for use
for (int i = 0; i < this->cmfHeader.iNumInstruments; i++) {
this->pInstruments[i].op[0].iCharMult = f->readInt(1);
@@ -280,20 +287,16 @@ bool CcmfPlayer::update()
// This will have read in the terminating EOX (0xF7) message too
break;
}
- case 0xF1: // MIDI Time Code Quarter Frame
- this->iPlayPointer++;
- //this->data[this->iPlayPointer++]; // message data (ignored)
- break;
- case 0xF2: // Song position pointer
- this->iPlayPointer++;
- this->iPlayPointer++;
-// this->data[this->iPlayPointer++]; // message data (ignored)
-// this->data[this->iPlayPointer++];
- break;
- case 0xF3: // Song select
- this->iPlayPointer++;
-// this->data[this->iPlayPointer++]; // message data (ignored)
- AdPlug_LogWrite("CMF: MIDI Song Select is not implemented.\n");
+ case 0xF1: // MIDI Time Code Quarter Frame
+ this->data[this->iPlayPointer++]; // message data (ignored)
+ break;
+ case 0xF2: // Song position pointer
+ this->data[this->iPlayPointer++]; // message data (ignored)
+ this->data[this->iPlayPointer++];
+ break;
+ case 0xF3: // Song select
+ this->data[this->iPlayPointer++]; // message data (ignored)
+ AdPlug_LogWrite("CMF: MIDI Song Select is not implemented.\n");
break;
case 0xF6: // Tune request
break;
@@ -360,6 +363,9 @@ void CcmfPlayer::rewind(int subsong)
// Apparently this enables nine-channel mode?
this->writeOPL(0x01, 0x20);
+ // Disable OPL3 mode (can be left enabled by a previous non-CMF song)
+ this->writeOPL(0x05, 0x00);
+
// Really make sure CSM+SEL are off (again, Creative's player...)
this->writeOPL(0x08, 0x00);
diff --git a/plugins/adplug/plugin.c b/plugins/adplug/plugin.c
index 3c800b22..2fdae09f 100644
--- a/plugins/adplug/plugin.c
+++ b/plugins/adplug/plugin.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -43,6 +43,11 @@ adplug_start (void);
int
adplug_stop (void);
+static const char settings_dlg[] =
+ "property \"Prefer Ken emu over Satoh (surround won't work)\" checkbox adplug.use_ken 0;\n"
+ "property \"Enable surround\" checkbox adplug.surround 1;\n"
+;
+
// define plugin interface
DB_decoder_t adplug_plugin = {
.plugin.api_vmajor = 1,
@@ -54,7 +59,7 @@ DB_decoder_t adplug_plugin = {
.plugin.name = "Adplug player",
.plugin.descr = "Adplug player (ADLIB OPL2/OPL3 emulator)",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified AdPlug library\n"
"Copyright (C) 1999 - 2010 Simon Peter, et al.\n"
@@ -77,6 +82,7 @@ DB_decoder_t adplug_plugin = {
.plugin.website = "http://deadbeef.sf.net",
.plugin.start = adplug_start,
.plugin.stop = adplug_stop,
+ .plugin.configdialog = settings_dlg,
.open = adplug_open,
.init = adplug_init,
.free = adplug_free,
diff --git a/plugins/alsa/alsa.c b/plugins/alsa/alsa.c
index 0cc458db..3ea17435 100644
--- a/plugins/alsa/alsa.c
+++ b/plugins/alsa/alsa.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -779,7 +779,7 @@ static DB_output_t plugin = {
.plugin.name = "ALSA output plugin",
.plugin.descr = "plays sound through linux standard alsa library",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/ao/Makefile.am b/plugins/ao/Makefile.am
index 62df2b2c..5a7750e5 100644
--- a/plugins/ao/Makefile.am
+++ b/plugins/ao/Makefile.am
@@ -1,7 +1,7 @@
if HAVE_PSF
aodir = $(libdir)/$(PACKAGE)
-pkglib_LTLIBRARIES = ddb_aopsf.la
-ddb_aopsf_la_SOURCES = plugin.c main.c corlett.c\
+pkglib_LTLIBRARIES = ddb_ao.la
+ddb_ao_la_SOURCES = plugin.c main.c corlett.c\
eng_dsf/eng_dsf.c eng_dsf/dc_hw.c eng_dsf/aica.c eng_dsf/aicadsp.c eng_dsf/arm7.c eng_dsf/arm7i.c\
eng_ssf/m68kcpu.c eng_ssf/m68kopac.c eng_ssf/m68kopdm.c eng_ssf/m68kopnz.c eng_ssf/m68kops.c \
eng_ssf/scsp.c eng_ssf/scspdsp.c eng_ssf/sat_hw.c eng_ssf/eng_ssf.c\
@@ -17,11 +17,11 @@ eng_psf/cpuintrf.h eng_psf/mamemem.h eng_psf/psx.h\
eng_psf/peops/adsr.h eng_psf/peops/dma.h eng_psf/peops/externals.h eng_psf/peops/gauss_i.h eng_psf/peops/registers.h eng_psf/peops/regs.h eng_psf/peops/spu.h eng_psf/peops/stdafx.h\
eng_psf/peops2/adsr.h eng_psf/peops2/dma.h eng_psf/peops2/externals.h eng_psf/peops2/gauss_i.h eng_psf/peops2/psemuxa.h eng_psf/peops2/registers.h eng_psf/peops2/regs.h eng_psf/peops2/reverb.h eng_psf/peops2/spu.h eng_psf/peops2/stdafx.h
-ddb_aopsf_la_LDFLAGS = -module -fPIC
+ddb_ao_la_LDFLAGS = -module -fPIC
EXTRA_DIST=eng_psf/peops/reverb.c eng_psf/peops/adsr.c eng_psf/peops/registers.c eng_psf/peops/dma.c eng_psf/peops2/spu2.c eng_psf/peops2/reverb2.c eng_psf/peops2/adsr2.c eng_dsf/arm7memil.c eng_dsf/aicalfo.c eng_ssf/scsplfo.c
-ddb_aopsf_la_LIBADD = $(LDADD)
+ddb_ao_la_LIBADD = $(LDADD)
AM_CFLAGS = $(CFLAGS) -Wall -DPATH_MAX=1024 -DHAS_PSXCPU=1 -I.. -Ieng_ssf -Ieng_qsf -Ieng_dsf -lm $(ZLIB_LIBS)
endif
diff --git a/plugins/ao/plugin.c b/plugins/ao/plugin.c
index dee8c4a6..2239d995 100644
--- a/plugins/ao/plugin.c
+++ b/plugins/ao/plugin.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -353,7 +353,7 @@ static DB_decoder_t plugin = {
.plugin.name = "PSF player using Audio Overload SDK",
.plugin.descr = "plays psf, psf2, spu, ssf, dsf, qsf file formats",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified aosdk-1.4.8 - library for playing .PSF (Sony PlayStation), .SPU (Sony PlayStation), .PSF2 (Sony PlayStation 2), .SSF (Sega Saturn), .DSF (Sega Dreamcast), and .QSF (Capcom QSound) audio file formats,\n"
"http://rbelmont.mameworld.info/?page_id=221\n"
@@ -387,7 +387,7 @@ static DB_decoder_t plugin = {
};
DB_plugin_t *
-ddb_aopsf_load (DB_functions_t *api) {
+ddb_ao_load (DB_functions_t *api) {
deadbeef = api;
return DB_PLUGIN (&plugin);
}
diff --git a/plugins/artwork/albumartorg.c b/plugins/artwork/albumartorg.c
index 51ca54cb..c07bb82c 100644
--- a/plugins/artwork/albumartorg.c
+++ b/plugins/artwork/albumartorg.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/artwork/albumartorg.h b/plugins/artwork/albumartorg.h
index 49231b04..c561b4f7 100644
--- a/plugins/artwork/albumartorg.h
+++ b/plugins/artwork/albumartorg.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/artwork/artwork.c b/plugins/artwork/artwork.c
index 7fad8166..5dffd714 100644
--- a/plugins/artwork/artwork.c
+++ b/plugins/artwork/artwork.c
@@ -824,83 +824,88 @@ fetcher_thread (void *none)
make_cache_path (cache_path, sizeof (cache_path), param->album, param->artist, -1);
int got_pic = 0;
- // try to load embedded from id3v2
if (deadbeef->is_local_file (param->fname)) {
if (artwork_enable_embedded) {
- trace ("trying to load artwork from id3v2 tag for %s\n", param->fname);
- DB_id3v2_tag_t tag;
- memset (&tag, 0, sizeof (tag));
- DB_FILE *fp = deadbeef->fopen (param->fname);
- current_file = fp;
- if (fp) {
- int res = deadbeef->junk_id3v2_read_full (NULL, &tag, fp);
- if (!res) {
- for (DB_id3v2_frame_t *f = tag.frames; f; f = f->next) {
- if (!strcmp (f->id, "APIC")) {
-
- if (f->size < 20) {
- trace ("artwork: id3v2 APIC frame is too small\n");
- continue;
- }
- uint8_t *data = f->data;
- uint8_t *end = f->data + f->size;
- int enc = *data;
- data++; // enc
- // mime-type must always be ASCII - hence enc is 0 here
- uint8_t *mime_end = id3v2_skip_str (0, data, end);
- if (!mime_end) {
- trace ("artwork: corrupted id3v2 APIC frame\n");
- continue;
- }
- if (strcasecmp (data, "image/jpeg") && strcasecmp (data, "image/png")) {
- trace ("artwork: unsupported mime type: %s\n", data);
- continue;
- }
- if (*mime_end != 3) {
- trace ("artwork: picture type=%d, skipped: %s\n", *mime_end);
- continue;
- }
- trace ("artwork: mime-type=%s, picture type: %d\n", data, *mime_end);
- data = mime_end;
- data++; // picture type
- data = id3v2_skip_str (enc, data, end); // description
- if (!data) {
- trace ("artwork: corrupted id3v2 APIC frame\n");
- continue;
- }
- int sz = f->size - (data - f->data);
-
- char tmp_path[1024];
- trace ("will write id3v2 APIC into %s\n", cache_path);
- snprintf (tmp_path, sizeof (tmp_path), "%s.part", cache_path);
- FILE *out = fopen (tmp_path, "w+b");
- if (!out) {
- trace ("artwork: failed to open %s for writing\n", tmp_path);
- break;
- }
- if (fwrite (data, 1, sz, out) != sz) {
- trace ("artwork: failed to write id3v2 picture into %s\n", tmp_path);
+ // try to load embedded from id3v2
+ {
+ trace ("trying to load artwork from id3v2 tag for %s\n", param->fname);
+ DB_id3v2_tag_t tag;
+ memset (&tag, 0, sizeof (tag));
+ DB_FILE *fp = deadbeef->fopen (param->fname);
+ current_file = fp;
+ if (fp) {
+ int res = deadbeef->junk_id3v2_read_full (NULL, &tag, fp);
+ if (!res) {
+ for (DB_id3v2_frame_t *f = tag.frames; f; f = f->next) {
+ if (!strcmp (f->id, "APIC")) {
+ if (f->size < 20) {
+ trace ("artwork: id3v2 APIC frame is too small\n");
+ continue;
+ }
+ uint8_t *data = f->data;
+ if (tag.version[0] == 4) {
+ // skip size
+ data += 4;
+ }
+ uint8_t *end = f->data + f->size;
+ int enc = *data;
+ data++; // enc
+ // mime-type must always be ASCII - hence enc is 0 here
+ uint8_t *mime_end = id3v2_skip_str (enc, data, end);
+ if (!mime_end) {
+ trace ("artwork: corrupted id3v2 APIC frame\n");
+ continue;
+ }
+ if (strcasecmp (data, "image/jpeg") && strcasecmp (data, "image/png")) {
+ trace ("artwork: unsupported mime type: %s\n", data);
+ continue;
+ }
+ if (*mime_end != 3) {
+ trace ("artwork: picture type=%d, skipped: %s\n", *mime_end);
+ continue;
+ }
+ trace ("artwork: mime-type=%s, picture type: %d\n", data, *mime_end);
+ data = mime_end;
+ data++; // picture type
+ data = id3v2_skip_str (enc, data, end); // description
+ if (!data) {
+ trace ("artwork: corrupted id3v2 APIC frame\n");
+ continue;
+ }
+ int sz = f->size - (data - f->data);
+
+ char tmp_path[1024];
+ trace ("will write id3v2 APIC into %s\n", cache_path);
+ snprintf (tmp_path, sizeof (tmp_path), "%s.part", cache_path);
+ FILE *out = fopen (tmp_path, "w+b");
+ if (!out) {
+ trace ("artwork: failed to open %s for writing\n", tmp_path);
+ break;
+ }
+ if (fwrite (data, 1, sz, out) != sz) {
+ trace ("artwork: failed to write id3v2 picture into %s\n", tmp_path);
+ fclose (out);
+ unlink (tmp_path);
+ break;
+ }
fclose (out);
+ int err = rename (tmp_path, cache_path);
+ if (err != 0) {
+ trace ("Failed not move %s to %s: %s\n", tmp_path, cache_path, strerror (err));
+ unlink (tmp_path);
+ break;
+ }
unlink (tmp_path);
+ got_pic = 1;
break;
}
- fclose (out);
- int err = rename (tmp_path, cache_path);
- if (err != 0) {
- trace ("Failed not move %s to %s: %s\n", tmp_path, cache_path, strerror (err));
- unlink (tmp_path);
- break;
- }
- unlink (tmp_path);
- got_pic = 1;
- break;
}
}
- }
- deadbeef->junk_id3v2_free (&tag);
- current_file = NULL;
- deadbeef->fclose (fp);
+ deadbeef->junk_id3v2_free (&tag);
+ current_file = NULL;
+ deadbeef->fclose (fp);
+ }
}
// try to load embedded from apev2
@@ -975,8 +980,8 @@ fetcher_thread (void *none)
}
#ifdef USE_METAFLAC
+ // try to load embedded from flac metadata
{
- // try to load embedded from flac metadata
FLAC__StreamMetadata *meta = NULL;
do {
trace ("trying to load artwork flac metadata for %s\n", param->fname);
@@ -1431,7 +1436,7 @@ static DB_artwork_plugin_t plugin = {
.plugin.plugin.name = "Album Artwork",
.plugin.plugin.descr = "Loads album artwork either from local directories or from internet",
.plugin.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"Copyright (C) 2009-2011 Viktor Semykin <thesame.ml@gmail.com>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
diff --git a/plugins/artwork/escape.h b/plugins/artwork/escape.h
index 75d24091..e23421a2 100644
--- a/plugins/artwork/escape.h
+++ b/plugins/artwork/escape.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/artwork/lastfm.h b/plugins/artwork/lastfm.h
index cef71919..b5c12b8b 100644
--- a/plugins/artwork/lastfm.h
+++ b/plugins/artwork/lastfm.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/cdda/cdda.c b/plugins/cdda/cdda.c
index aef9f65c..44c04e7a 100644
--- a/plugins/cdda/cdda.c
+++ b/plugins/cdda/cdda.c
@@ -597,12 +597,13 @@ cda_action_add_cd (DB_plugin_action_t *act, DB_playItem_t *it)
deadbeef->plt_unref (plt);
}
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
+ return 0;
}
static DB_plugin_action_t add_cd_action = {
.title = "File/Add Audio CD",
.flags = DB_ACTION_COMMON,
- .callback = cda_action_add_cd,
+ .callback = DDB_ACTION_CALLBACK(cda_action_add_cd),
.next = NULL
};
@@ -633,7 +634,7 @@ static DB_decoder_t plugin = {
.plugin.name = "Audio CD player",
.plugin.descr = "Audio CD plugin using libcdio and libcddb",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"Copyright (C) 2009-2011 Viktor Semykin <thesame.ml@gmail.com>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
diff --git a/plugins/converter/callbacks.c b/plugins/converter/callbacks.c
index b8fb56d3..f609a9a1 100644
--- a/plugins/converter/callbacks.c
+++ b/plugins/converter/callbacks.c
@@ -9,3 +9,4 @@
#include "support.h"
+
diff --git a/plugins/converter/callbacks.h b/plugins/converter/callbacks.h
index 7e323527..5bb84e85 100644
--- a/plugins/converter/callbacks.h
+++ b/plugins/converter/callbacks.h
@@ -122,3 +122,7 @@ on_preserve_folder_root_changed (GtkEditable *editable,
void
on_preserve_root_folder_changed (GtkEditable *editable,
gpointer user_data);
+
+void
+on_write_to_source_folder_toggled (GtkToggleButton *togglebutton,
+ gpointer user_data);
diff --git a/plugins/converter/converter.c b/plugins/converter/converter.c
index 39604785..a653089a 100644
--- a/plugins/converter/converter.c
+++ b/plugins/converter/converter.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -18,8 +18,10 @@
*/
#include <stdlib.h>
#include <string.h>
+#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
+#include <fcntl.h>
#include <unistd.h>
#include "converter.h"
#include "../../deadbeef.h"
@@ -27,6 +29,11 @@
#ifndef PATH_MAX
#define PATH_MAX 1024 /* max # of characters in a path name */
#endif
+
+#ifndef __linux__
+#define O_LARGEFILE 0
+#endif
+
#define min(x,y) ((x)<(y)?(x):(y))
//#define trace(...) { fprintf(stderr, __VA_ARGS__); }
@@ -149,6 +156,10 @@ encoder_preset_load (const char *fname) {
// @return -1 on path/write error, -2 if file already exists
int
encoder_preset_save (ddb_encoder_preset_t *p, int overwrite) {
+ if (!p->title || !p->title[0]) {
+ fprintf (stderr, "encoder_preset_save: empty title\n");
+ return -1;
+ }
const char *confdir = deadbeef->get_config_dir ();
char path[1024];
if (snprintf (path, sizeof (path), "%s/presets", confdir) < 0) {
@@ -349,6 +360,10 @@ dsp_preset_load (const char *fname) {
int
dsp_preset_save (ddb_dsp_preset_t *p, int overwrite) {
+ if (!p->title || !p->title[0]) {
+ fprintf (stderr, "dsp_preset_save: empty title\n");
+ return -1;
+ }
const char *confdir = deadbeef->get_config_dir ();
char path[1024];
if (snprintf (path, sizeof (path), "%s/presets", confdir) < 0) {
@@ -639,7 +654,7 @@ get_output_field (DB_playItem_t *it, const char *field, char *out, int sz)
deadbeef->pl_format_title (it, idx, out, sz, -1, field);
// replace invalid chars
- char invalid[] = "/\\?%*:|\"<>";
+ char invalid[] = "/\\?%*:|\"<>`";
char *p = out;
while (*p) {
if (strchr (invalid, *p)) {
@@ -650,15 +665,45 @@ get_output_field (DB_playItem_t *it, const char *field, char *out, int sz)
trace ("field '%s' expanded to '%s'\n", field, out);
}
-static void
-get_output_path (DB_playItem_t *it, const char *outfolder, const char *outfile, ddb_encoder_preset_t *encoder_preset, char *out, int sz) {
+void
+get_output_path (DB_playItem_t *it, const char *outfolder_user, const char *outfile, ddb_encoder_preset_t *encoder_preset, int preserve_folder_structure, const char *root_folder, int write_to_source_folder, char *out, int sz) {
+
+ const char *uri = strdupa (deadbeef->pl_find_meta (it, ":URI"));
+ char outfolder_preserve[2000];
+ if (preserve_folder_structure) {
+ // generate new outfolder
+ int rootlen = strlen (root_folder);
+ const char *e = strrchr (uri, '/');
+ if (e) {
+ const char *s = uri + rootlen;
+ char subpath[e-s+1];
+ memcpy (subpath, s, e-s);
+ subpath[e-s] = 0;
+ snprintf (outfolder_preserve, sizeof (outfolder_preserve), "%s/%s", outfolder_user[0] ? outfolder_user : getenv("HOME"), subpath);
+ }
+ }
+
+ const char *outfolder;
+
+ if (write_to_source_folder) {
+ char *path = strdupa (uri);
+ char *sep = strrchr (path, '/');
+ if (sep) {
+ *sep = 0;
+ }
+ outfolder = path;
+ }
+ else {
+ outfolder = preserve_folder_structure ? outfolder_preserve : outfolder_user;
+ }
+
int l;
char fname[PATH_MAX];
- char *path = outfolder[0] ? strdupa (outfolder) : strdupa (getenv("HOME"));
+ char *path = strdupa (outfolder);
char *pattern = strdupa (outfile);
// replace invalid chars
- char invalid[] = "?%*:|\"<>";
+ char invalid[] = "?%*:|\"<>`";
char *p = path;
while (*p) {
if (strchr (invalid, *p)) {
@@ -693,6 +738,13 @@ get_output_path (DB_playItem_t *it, const char *outfolder, const char *outfile,
trace ("converter output file is '%s'\n", out);
}
+static void
+get_output_path_1_0 (DB_playItem_t *it, const char *outfolder, const char *outfile, ddb_encoder_preset_t *encoder_preset, char *out, int sz) {
+ fprintf (stderr, "converter: warning: old version of \"get_output_path\" has been called, please update your plugins which depend on converter 1.1\n");
+ *out = 0;
+ sz = 0;
+}
+
static int
check_dir (const char *dir, mode_t mode)
{
@@ -709,7 +761,7 @@ check_dir (const char *dir, mode_t mode)
trace ("creating dir %s\n", tmp);
if (0 != mkdir (tmp, mode))
{
- trace ("Failed to create %s (%d)\n", tmp, errno);
+ trace ("Failed to create %s\n", tmp);
free (tmp);
return 0;
}
@@ -722,7 +774,7 @@ check_dir (const char *dir, mode_t mode)
}
int
-convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int output_bps, int output_is_float, int preserve_folder_structure, const char *root_folder, ddb_encoder_preset_t *encoder_preset, ddb_dsp_preset_t *dsp_preset, int *abort) {
+convert (DB_playItem_t *it, const char *out, int output_bps, int output_is_float, ddb_encoder_preset_t *encoder_preset, ddb_dsp_preset_t *dsp_preset, int *abort) {
if (deadbeef->pl_get_item_duration (it) <= 0) {
deadbeef->pl_lock ();
const char *fname = deadbeef->pl_find_meta (it, ":URI");
@@ -731,17 +783,11 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
return -1;
}
- if (!check_dir (outfolder, 0755)) {
- fprintf (stderr, "converter: failed to create output folder: %s\n", outfolder);
- return -1;
- }
-
int err = -1;
FILE *enc_pipe = NULL;
- FILE *temp_file = NULL;
+ int temp_file = -1;
DB_decoder_t *dec = NULL;
DB_fileinfo_t *fileinfo = NULL;
- char out[PATH_MAX] = ""; // full path to output file
char input_file_name[PATH_MAX] = "";
dec = (DB_decoder_t *)deadbeef->plug_get_for_id (deadbeef->pl_find_meta (it, ":DECODER"));
@@ -759,7 +805,16 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
output_is_float = fileinfo->fmt.is_float;
}
- get_output_path (it, outfolder, outfile, encoder_preset, out, sizeof (out));
+ char *final_path = strdupa (out);
+ char *sep = strrchr (final_path, '/');
+ if (sep) {
+ *sep = 0;
+ if (!check_dir (final_path, 0755)) {
+ fprintf (stderr, "converter: failed to create output folder: %s\n", final_path);
+ goto error;
+ }
+ }
+
if (encoder_preset->method == DDB_ENCODER_METHOD_FILE) {
const char *tmp = getenv ("TMPDIR");
if (!tmp) {
@@ -813,17 +868,19 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
fprintf (stderr, "converter: will encode using: %s\n", enc[0] ? enc : "internal RIFF WAVE writer");
+ mode_t wrmode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+
if (!encoder_preset->encoder[0]) {
// write to wave file
- temp_file = fopen (out, "w+b");
- if (!temp_file) {
+ temp_file = open (out, O_LARGEFILE | O_WRONLY | O_CREAT | O_TRUNC, wrmode);
+ if (temp_file == -1) {
fprintf (stderr, "converter: failed to open output wave file %s\n", out);
goto error;
}
}
else if (encoder_preset->method == DDB_ENCODER_METHOD_FILE) {
- temp_file = fopen (input_file_name, "w+b");
- if (!temp_file) {
+ temp_file = open (input_file_name, O_LARGEFILE | O_WRONLY | O_CREAT | O_TRUNC, wrmode);
+ if (temp_file == -1) {
fprintf (stderr, "converter: failed to open temp file %s\n", input_file_name);
goto error;
}
@@ -836,8 +893,8 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
}
}
- if (!temp_file) {
- temp_file = enc_pipe;
+ if (temp_file == -1 && enc_pipe) {
+ temp_file = fileno (enc_pipe);
}
// write wave header
@@ -934,15 +991,21 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
memcpy (&wavehdr[32], &blockalign, 2);
memcpy (&wavehdr[34], &output_bps, 2);
- fwrite (wavehdr, 1, wavehdr_size, temp_file);
+ if (wavehdr_size != write (temp_file, wavehdr, wavehdr_size)) {
+ fprintf (stderr, "converter: wave header write error\n");
+ goto error;
+ }
if (encoder_preset->method == DDB_ENCODER_METHOD_PIPE) {
size = 0;
}
- fwrite (&size, 1, sizeof (size), temp_file);
+ if (write (temp_file, &size, sizeof (size)) != sizeof (size)) {
+ fprintf (stderr, "converter: wave header size write error\n");
+ goto error;
+ }
header_written = 1;
}
- int64_t res = fwrite (buffer, 1, sz, temp_file);
+ int64_t res = write (temp_file, buffer, sz);
if (sz != res) {
fprintf (stderr, "converter: write error (%lld bytes written out of %d)\n", res, sz);
goto error;
@@ -951,12 +1014,17 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
if (abort && *abort) {
goto error;
}
- if (temp_file && temp_file != enc_pipe) {
- fseek (temp_file, wavehdr_size, SEEK_SET);
- fwrite (&outsize, 1, 4, temp_file);
+ if (temp_file != -1 && (!enc_pipe || temp_file != fileno (enc_pipe))) {
+ lseek (temp_file, wavehdr_size, SEEK_SET);
+ if (4 != write (temp_file, &outsize, 4)) {
+ fprintf (stderr, "converter: data size write error\n");
+ goto error;
+ }
- fclose (temp_file);
- temp_file = NULL;
+ if (temp_file != -1 && (!enc_pipe || temp_file != fileno (enc_pipe))) {
+ close (temp_file);
+ temp_file = -1;
+ }
}
if (encoder_preset->encoder[0] && encoder_preset->method == DDB_ENCODER_METHOD_FILE) {
@@ -966,9 +1034,9 @@ convert (DB_playItem_t *it, const char *outfolder, const char *outfile, int outp
}
err = 0;
error:
- if (temp_file && temp_file != enc_pipe) {
- fclose (temp_file);
- temp_file = NULL;
+ if (temp_file != -1 && (!enc_pipe || temp_file != fileno (enc_pipe))) {
+ close (temp_file);
+ temp_file = -1;
}
if (enc_pipe) {
pclose (enc_pipe);
@@ -986,7 +1054,17 @@ error:
}
// write junklib tags
- uint32_t tagflags = JUNK_STRIP_ID3V2 | JUNK_STRIP_APEV2 | JUNK_STRIP_ID3V1;
+
+ DB_playItem_t *out_it = NULL;
+
+ if (encoder_preset->tag_id3v2 || encoder_preset->tag_id3v1 || encoder_preset->tag_apev2 || encoder_preset->tag_flac || encoder_preset->tag_oggvorbis) {
+ out_it = deadbeef->pl_item_alloc ();
+ deadbeef->pl_item_copy (out_it, it);
+ deadbeef->pl_replace_meta (out_it, ":URI", out);
+ deadbeef->pl_delete_meta (out_it, "cuesheet");
+ }
+
+ uint32_t tagflags = 0;
if (encoder_preset->tag_id3v2) {
tagflags |= JUNK_WRITE_ID3V2;
}
@@ -996,12 +1074,11 @@ error:
if (encoder_preset->tag_apev2) {
tagflags |= JUNK_WRITE_APEV2;
}
- DB_playItem_t *out_it = deadbeef->pl_item_alloc ();
- deadbeef->pl_item_copy (out_it, it);
- deadbeef->pl_replace_meta (out_it, ":URI", out);
- deadbeef->pl_delete_meta (out_it, "cuesheet");
- deadbeef->junk_rewrite_tags (out_it, tagflags, encoder_preset->id3v2_version + 3, "iso8859-1");
+ if (tagflags) {
+ tagflags |= JUNK_STRIP_ID3V2 | JUNK_STRIP_APEV2 | JUNK_STRIP_ID3V1;
+ deadbeef->junk_rewrite_tags (out_it, tagflags, encoder_preset->id3v2_version + 3, "iso8859-1");
+ }
// write flac tags
if (encoder_preset->tag_flac) {
@@ -1044,14 +1121,20 @@ error:
}
}
}
-
- deadbeef->pl_item_unref (out_it);
-
+ if (out_it) {
+ deadbeef->pl_item_unref (out_it);
+ }
return err;
}
int
+convert_1_0 (DB_playItem_t *it, const char *outfolder, const char *outfile, int output_bps, int output_is_float, int preserve_folder_structure, const char *root_folder, ddb_encoder_preset_t *encoder_preset, ddb_dsp_preset_t *dsp_preset, int *abort) {
+ fprintf (stderr, "converter: warning: old version of \"convert\" has been called, please update your plugins which depend on converter 1.1\n");
+ return -1;
+}
+
+int
converter_cmd (int cmd, ...) {
return -1;
}
@@ -1076,14 +1159,14 @@ static ddb_converter_t plugin = {
.misc.plugin.api_vmajor = 1,
.misc.plugin.api_vminor = 0,
.misc.plugin.version_major = 1,
- .misc.plugin.version_minor = 1,
+ .misc.plugin.version_minor = 2,
.misc.plugin.type = DB_PLUGIN_MISC,
.misc.plugin.name = "Converter",
.misc.plugin.id = "converter",
.misc.plugin.descr = "Converts any supported formats to other formats.\n"
"Requires separate GUI plugin, e.g. Converter GTK UI\n",
.misc.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
@@ -1123,13 +1206,16 @@ static ddb_converter_t plugin = {
.dsp_preset_append = dsp_preset_append,
.dsp_preset_remove = dsp_preset_remove,
.dsp_preset_replace = dsp_preset_replace,
- .get_output_path = get_output_path,
- .convert = convert,
+ .get_output_path_1_0 = get_output_path_1_0,
+ .convert_1_0 = convert_1_0,
// 1.1 entry points
.load_encoder_presets = load_encoder_presets,
.load_dsp_presets = load_dsp_presets,
.free_encoder_presets = free_encoder_presets,
.free_dsp_presets = free_dsp_presets,
+ // 1.2 entry points
+ .convert = convert,
+ .get_output_path = get_output_path,
};
DB_plugin_t *
diff --git a/plugins/converter/converter.glade b/plugins/converter/converter.glade
index 8ad62319..667dbcf8 100644
--- a/plugins/converter/converter.glade
+++ b/plugins/converter/converter.glade
@@ -161,6 +161,45 @@
</child>
<child>
+ <widget class="GtkCheckButton" id="write_to_source_folder">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Write to source track folder</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="preserve_folders">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Preserve folder structure</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_preserve_folders_toggled" last_modification_time="Sun, 13 Mar 2011 12:34:49 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
<widget class="GtkHBox" id="hbox100">
<property name="visible">True</property>
<property name="homogeneous">False</property>
@@ -601,74 +640,6 @@ Overwrite</property>
<property name="fill">True</property>
</packing>
</child>
-
- <child>
- <widget class="GtkCheckButton" id="preserve_folders">
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Preserve folder structure, starting from:</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_preserve_folders_toggled" last_modification_time="Sun, 13 Mar 2011 12:34:49 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox102">
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkEntry" id="preserve_root_folder">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char">•</property>
- <property name="activates_default">False</property>
- <signal name="changed" handler="on_preserve_root_folder_changed" last_modification_time="Mon, 14 Mar 2011 21:00:54 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="preserve_folder_browse">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label">...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_preserve_folder_browse_clicked" last_modification_time="Sun, 13 Mar 2011 12:29:48 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
</widget>
<packing>
<property name="padding">0</property>
diff --git a/plugins/converter/converter.h b/plugins/converter/converter.h
index d58c5b0b..530b192c 100644
--- a/plugins/converter/converter.h
+++ b/plugins/converter/converter.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -139,11 +139,13 @@ typedef struct {
/////////////////////////////
+ // this function is deprecated, please don't use directly
void
- (*get_output_path) (DB_playItem_t *it, const char *outfolder, const char *outfile, ddb_encoder_preset_t *encoder_preset, char *out, int sz);
+ (*get_output_path_1_0) (DB_playItem_t *it, const char *outfolder, const char *outfile, ddb_encoder_preset_t *encoder_preset, char *out, int sz);
+ // this function is deprecated, please don't use directly
int
- (*convert) (DB_playItem_t *it, const char *outfolder, const char *outfile, int output_bps, int output_is_float, int preserve_folder_structure, const char *root_folder, ddb_encoder_preset_t *encoder_preset, ddb_dsp_preset_t *dsp_preset, int *abort);
+ (*convert_1_0) (DB_playItem_t *it, const char *outfolder, const char *outfile, int output_bps, int output_is_float, int preserve_folder_structure, const char *root_folder, ddb_encoder_preset_t *encoder_preset, ddb_dsp_preset_t *dsp_preset, int *abort);
/////////////////////////////
// new APIs for converter-1.1
@@ -157,6 +159,22 @@ typedef struct {
(*free_encoder_presets) (void);
void
(*free_dsp_presets) (void);
+
+ /////////////////////////////
+ // new APIs for converter-1.2
+ /////////////////////////////
+ int
+ (*convert) (
+ DB_playItem_t *it, // track to be converted
+ const char *outpath, // final path to write the file (should normally be obtained using get_output_path)
+ int output_bps, // stream should be pre-converted to this resolution
+ int output_is_float, // stream should be converted to float
+ ddb_encoder_preset_t *encoder_preset, // encoder preset to use
+ ddb_dsp_preset_t *dsp_preset, // dsp preset to use
+ int *abort // *abort will be checked regularly, conversion will be interrupted if it's non-zero
+ );
+ void
+ (*get_output_path) (DB_playItem_t *it, const char *outfolder, const char *outfile, ddb_encoder_preset_t *encoder_preset, int preserve_folder_structure, const char *root_folder, int write_to_source_folder, char *out, int sz);
} ddb_converter_t;
#endif
diff --git a/plugins/converter/convgui.c b/plugins/converter/convgui.c
index bd54eb0e..d229c811 100644
--- a/plugins/converter/convgui.c
+++ b/plugins/converter/convgui.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -27,6 +27,10 @@
#include "interface.h"
#include "../gtkui/gtkui_api.h"
+#ifndef PATH_MAX
+#define PATH_MAX 1024 /* max # of characters in a path name */
+#endif
+
DB_functions_t *deadbeef;
ddb_converter_t *converter_plugin;
@@ -42,7 +46,7 @@ typedef struct {
char *outfolder;
char *outfile;
int preserve_folder_structure;
- char *preserve_root_folder;
+ int write_to_source_folder;
int output_bps;
int output_is_float;
int overwrite_action;
@@ -121,6 +125,37 @@ static void
converter_worker (void *ctx) {
converter_ctx_t *conv = ctx;
+ char root[2000] = "";
+ int rootlen = 0;
+ // prepare for preserving folder struct
+ if (conv->preserve_folder_structure && conv->convert_items_count >= 1) {
+ // start with the 1st track path
+ strncpy (root, deadbeef->pl_find_meta (conv->convert_items[0], ":URI"), sizeof (root));
+ char *sep = strrchr (root, '/');
+ if (sep) {
+ *sep = 0;
+ }
+ // reduce
+ rootlen = strlen (root);
+ for (int n = 1; n < conv->convert_items_count; n++) {
+ const char *path = deadbeef->pl_find_meta (conv->convert_items[n], ":URI");
+ if (strncmp (path, root, rootlen)) {
+ // find where path splits
+ char *r = root;
+ while (*path && *r) {
+ if (*path != *r) {
+ *r = 0;
+ rootlen = r-root;
+ break;
+ }
+ path++;
+ r++;
+ }
+ }
+ }
+// fprintf (stderr, "common root path: %s\n", root);
+ }
+
for (int n = 0; n < conv->convert_items_count; n++) {
update_progress_info_t *info = malloc (sizeof (update_progress_info_t));
info->entry = conv->progress_entry;
@@ -129,7 +164,8 @@ converter_worker (void *ctx) {
g_idle_add (update_progress_cb, info);
char outpath[2000];
- converter_plugin->get_output_path (conv->convert_items[n], conv->outfolder, conv->outfile, conv->encoder_preset, outpath, sizeof (outpath));
+
+ converter_plugin->get_output_path (conv->convert_items[n], conv->outfolder, conv->outfile, conv->encoder_preset, conv->preserve_folder_structure, root, conv->write_to_source_folder, outpath, sizeof (outpath));
int skip = 0;
struct stat st;
@@ -162,7 +198,7 @@ converter_worker (void *ctx) {
}
if (!skip) {
- converter_plugin->convert (conv->convert_items[n], conv->outfolder, conv->outfile, conv->output_bps, conv->output_is_float, conv->preserve_folder_structure, conv->preserve_root_folder, conv->encoder_preset, conv->dsp_preset, &conv->cancelled);
+ converter_plugin->convert (conv->convert_items[n], outpath, conv->output_bps, conv->output_is_float, conv->encoder_preset, conv->dsp_preset, &conv->cancelled);
}
if (conv->cancelled) {
for (; n < conv->convert_items_count; n++) {
@@ -192,7 +228,7 @@ converter_process (converter_ctx_t *conv)
}
conv->outfile = strdup (outfile);
conv->preserve_folder_structure = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (lookup_widget (conv->converter, "preserve_folders")));
- conv->preserve_root_folder = strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (conv->converter, "preserve_root_folder"))));
+ conv->write_to_source_folder = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (lookup_widget (conv->converter, "write_to_source_folder")));
conv->overwrite_action = gtk_combo_box_get_active (GTK_COMBO_BOX (lookup_widget (conv->converter, "overwrite_action")));
GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (conv->converter, "output_format"));
@@ -264,6 +300,10 @@ converter_process (converter_ctx_t *conv)
return 0;
}
+void
+on_write_to_source_folder_toggled (GtkToggleButton *togglebutton,
+ gpointer user_data);
+
static gboolean
converter_show_cb (void *ctx) {
converter_ctx_t *conv = malloc (sizeof (converter_ctx_t));
@@ -295,10 +335,22 @@ converter_show_cb (void *ctx) {
conv->converter = create_converterdlg ();
deadbeef->conf_lock ();
- gtk_entry_set_text (GTK_ENTRY (lookup_widget (conv->converter, "output_folder")), deadbeef->conf_get_str_fast ("converter.output_folder", ""));
+ const char *out_folder = deadbeef->conf_get_str_fast ("converter.output_folder", "");
+ if (!out_folder[0]) {
+ out_folder = getenv("HOME");
+ }
+ gtk_entry_set_text (GTK_ENTRY (lookup_widget (conv->converter, "output_folder")), out_folder);
gtk_entry_set_text (GTK_ENTRY (lookup_widget (conv->converter, "output_file")), deadbeef->conf_get_str_fast ("converter.output_file", ""));
- gtk_entry_set_text (GTK_ENTRY (lookup_widget (conv->converter, "preserve_root_folder")), deadbeef->conf_get_str_fast ("converter.preserve_root_folder", ""));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (conv->converter, "preserve_folders")), deadbeef->conf_get_int ("converter.preserve_folder_structure", 0));
+ int write_to_source_folder = deadbeef->conf_get_int ("converter.write_to_source_folder", 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (conv->converter, "write_to_source_folder")), write_to_source_folder);
+
+ g_signal_connect ((gpointer) lookup_widget (conv->converter, "write_to_source_folder"), "toggled",
+ G_CALLBACK (on_write_to_source_folder_toggled),
+ conv);
+
+ gtk_widget_set_sensitive (lookup_widget (conv->converter, "output_folder"), !write_to_source_folder);
+ gtk_widget_set_sensitive (lookup_widget (conv->converter, "preserve_folders"), !write_to_source_folder);
gtk_combo_box_set_active (GTK_COMBO_BOX (lookup_widget (conv->converter, "overwrite_action")), deadbeef->conf_get_int ("converter.overwrite_action", 0));
deadbeef->conf_unlock ();
@@ -397,7 +449,17 @@ on_converter_output_browse_clicked (GtkButton *button,
gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dlg), FALSE);
// restore folder
deadbeef->conf_lock ();
- gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dlg), deadbeef->conf_get_str_fast ("converter.lastdir", ""));
+ char dir[2000];
+ deadbeef->conf_get_str ("converter.lastdir", "", dir, sizeof (dir));
+ if (!dir[0]) {
+ const char *out_folder = deadbeef->conf_get_str_fast ("converter.output_folder", "");
+ if (!out_folder[0]) {
+ out_folder = getenv("HOME");
+ }
+ snprintf (dir, sizeof (dir), "file://%s", out_folder);
+ }
+
+ gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dlg), dir);
deadbeef->conf_unlock ();
int response = gtk_dialog_run (GTK_DIALOG (dlg));
// store folder
@@ -490,39 +552,6 @@ on_encoder_changed (GtkEditable *editable,
}
void
-on_preserve_folder_browse_clicked (GtkButton *button,
- gpointer user_data)
-{
- GtkWidget *dlg = gtk_file_chooser_dialog_new (_("Select folder..."), GTK_WINDOW (current_ctx->converter), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL);
- gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (current_ctx->converter));
-
- gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dlg), FALSE);
- // restore folder
- deadbeef->conf_lock ();
- gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dlg), deadbeef->conf_get_str_fast ("filechooser.lastdir", ""));
- deadbeef->conf_unlock ();
- int response = gtk_dialog_run (GTK_DIALOG (dlg));
- // store folder
- gchar *folder = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (dlg));
- if (folder) {
- deadbeef->conf_set_str ("filechooser.lastdir", folder);
- g_free (folder);
- }
- if (response == GTK_RESPONSE_OK) {
- folder = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dlg));
- gtk_widget_destroy (dlg);
- if (folder) {
- GtkWidget *entry = lookup_widget (current_ctx->converter, "preserve_root_folder");
- gtk_entry_set_text (GTK_ENTRY (entry), folder);
- g_free (folder);
- }
- }
- else {
- gtk_widget_destroy (dlg);
- }
-}
-
-void
on_output_file_changed (GtkEntry *entry,
gpointer user_data)
{
@@ -539,13 +568,17 @@ on_preserve_folders_toggled (GtkToggleButton *togglebutton,
}
void
-on_preserve_root_folder_changed (GtkEntry *entry,
+on_write_to_source_folder_toggled (GtkToggleButton *togglebutton,
gpointer user_data)
{
- deadbeef->conf_set_str ("converter.preserve_root_folder", gtk_entry_get_text (entry));
- deadbeef->conf_save ();
+ int active = gtk_toggle_button_get_active (togglebutton);
+ converter_ctx_t *conv = user_data;
+ deadbeef->conf_set_int ("converter.write_to_source_folder", active);
+ gtk_widget_set_sensitive (lookup_widget (conv->converter, "output_folder"), !active);
+ gtk_widget_set_sensitive (lookup_widget (conv->converter, "preserve_folders"), !active);
}
+
DB_decoder_t *
plug_get_decoder_for_id (const char *id) {
DB_decoder_t **plugins = deadbeef->plug_get_decoder_list ();
@@ -690,11 +723,9 @@ on_encoder_preset_add (GtkButton *button,
current_ctx->current_encoder_preset = converter_plugin->encoder_preset_alloc ();
if (GTK_RESPONSE_OK == edit_encoder_preset (_("Add new encoder"), toplevel, 0)) {
- printf ("added new enc preset\n");
converter_plugin->encoder_preset_append (current_ctx->current_encoder_preset);
GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (current_ctx->converter, "encoder"));
GtkWidget *list = lookup_widget (toplevel, "presets");
- printf ("refresh list\n");
refresh_encoder_lists (combo, GTK_TREE_VIEW (list));
}
@@ -1253,7 +1284,7 @@ static DB_plugin_action_t convert_action = {
.title = "Convert",
.name = "convert",
.flags = DB_ACTION_CAN_MULTIPLE_TRACKS | DB_ACTION_ALLOW_MULTIPLE_TRACKS | DB_ACTION_SINGLE_TRACK,
- .callback = converter_show,
+ .callback = DDB_ACTION_CALLBACK(converter_show),
.next = NULL
};
@@ -1271,7 +1302,15 @@ convgui_connect (void) {
gtkui_plugin = (ddb_gtkui_t *)deadbeef->plug_get_for_id ("gtkui");
#endif
converter_plugin = (ddb_converter_t *)deadbeef->plug_get_for_id ("converter");
- if (!gtkui_plugin || !converter_plugin) {
+ if (!gtkui_plugin) {
+ fprintf (stderr, "convgui: gtkui plugin not found\n");
+ return -1;
+ }
+ if (!converter_plugin) {
+ fprintf (stderr, "convgui: converter plugin not found\n");
+ }
+ if (converter_plugin->misc.plugin.version_major != 1 || converter_plugin->misc.plugin.version_minor < 2) {
+ fprintf (stderr, "convgui: need converter>=1.2, but found %d.%d\n", converter_plugin->misc.plugin.version_major, converter_plugin->misc.plugin.version_minor);
return -1;
}
return 0;
@@ -1294,7 +1333,7 @@ DB_misc_t plugin = {
" Reload DSP and encoder presets on every converter access\n"
" Write 0 wave data size into waveheader when using pipe, for oggenc compatibility\n",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/converter/interface.c b/plugins/converter/interface.c
index 76044196..dc17c11f 100644
--- a/plugins/converter/interface.c
+++ b/plugins/converter/interface.c
@@ -37,6 +37,8 @@ create_converterdlg (void)
GtkWidget *hbox68;
GtkWidget *output_folder;
GtkWidget *converter_output_browse;
+ GtkWidget *write_to_source_folder;
+ GtkWidget *preserve_folders;
GtkWidget *hbox100;
GtkWidget *label122;
GtkWidget *hbox101;
@@ -64,10 +66,6 @@ create_converterdlg (void)
GtkWidget *hbox99;
GtkWidget *label121;
GtkWidget *overwrite_action;
- GtkWidget *preserve_folders;
- GtkWidget *hbox102;
- GtkWidget *preserve_root_folder;
- GtkWidget *preserve_folder_browse;
GtkWidget *dialog_action_area5;
GtkWidget *converter_cancel;
GtkWidget *converter_ok;
@@ -108,6 +106,14 @@ create_converterdlg (void)
gtk_widget_show (converter_output_browse);
gtk_box_pack_start (GTK_BOX (hbox68), converter_output_browse, FALSE, FALSE, 0);
+ write_to_source_folder = gtk_check_button_new_with_mnemonic (_("Write to source track folder"));
+ gtk_widget_show (write_to_source_folder);
+ gtk_box_pack_start (GTK_BOX (vbox26), write_to_source_folder, FALSE, FALSE, 0);
+
+ preserve_folders = gtk_check_button_new_with_mnemonic (_("Preserve folder structure"));
+ gtk_widget_show (preserve_folders);
+ gtk_box_pack_start (GTK_BOX (vbox26), preserve_folders, FALSE, FALSE, 0);
+
hbox100 = gtk_hbox_new (FALSE, 8);
gtk_widget_show (hbox100);
gtk_box_pack_start (GTK_BOX (vbox26), hbox100, TRUE, TRUE, 0);
@@ -224,21 +230,6 @@ create_converterdlg (void)
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (overwrite_action), _("Prompt"));
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (overwrite_action), _("Overwrite"));
- preserve_folders = gtk_check_button_new_with_mnemonic (_("Preserve folder structure, starting from:"));
- gtk_box_pack_start (GTK_BOX (vbox26), preserve_folders, FALSE, FALSE, 0);
-
- hbox102 = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox26), hbox102, TRUE, TRUE, 0);
-
- preserve_root_folder = gtk_entry_new ();
- gtk_widget_show (preserve_root_folder);
- gtk_box_pack_start (GTK_BOX (hbox102), preserve_root_folder, TRUE, TRUE, 0);
- gtk_entry_set_invisible_char (GTK_ENTRY (preserve_root_folder), 8226);
-
- preserve_folder_browse = gtk_button_new_with_mnemonic ("...");
- gtk_widget_show (preserve_folder_browse);
- gtk_box_pack_start (GTK_BOX (hbox102), preserve_folder_browse, FALSE, FALSE, 0);
-
dialog_action_area5 = gtk_dialog_get_action_area (GTK_DIALOG (converterdlg));
gtk_widget_show (dialog_action_area5);
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END);
@@ -259,6 +250,9 @@ create_converterdlg (void)
g_signal_connect ((gpointer) converter_output_browse, "clicked",
G_CALLBACK (on_converter_output_browse_clicked),
NULL);
+ g_signal_connect ((gpointer) preserve_folders, "toggled",
+ G_CALLBACK (on_preserve_folders_toggled),
+ NULL);
g_signal_connect ((gpointer) output_file, "changed",
G_CALLBACK (on_output_file_changed),
NULL);
@@ -283,15 +277,6 @@ create_converterdlg (void)
g_signal_connect ((gpointer) overwrite_action, "changed",
G_CALLBACK (on_overwrite_action_changed),
NULL);
- g_signal_connect ((gpointer) preserve_folders, "toggled",
- G_CALLBACK (on_preserve_folders_toggled),
- NULL);
- g_signal_connect ((gpointer) preserve_root_folder, "changed",
- G_CALLBACK (on_preserve_root_folder_changed),
- NULL);
- g_signal_connect ((gpointer) preserve_folder_browse, "clicked",
- G_CALLBACK (on_preserve_folder_browse_clicked),
- NULL);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (converterdlg, converterdlg, "converterdlg");
@@ -302,6 +287,8 @@ create_converterdlg (void)
GLADE_HOOKUP_OBJECT (converterdlg, hbox68, "hbox68");
GLADE_HOOKUP_OBJECT (converterdlg, output_folder, "output_folder");
GLADE_HOOKUP_OBJECT (converterdlg, converter_output_browse, "converter_output_browse");
+ GLADE_HOOKUP_OBJECT (converterdlg, write_to_source_folder, "write_to_source_folder");
+ GLADE_HOOKUP_OBJECT (converterdlg, preserve_folders, "preserve_folders");
GLADE_HOOKUP_OBJECT (converterdlg, hbox100, "hbox100");
GLADE_HOOKUP_OBJECT (converterdlg, label122, "label122");
GLADE_HOOKUP_OBJECT (converterdlg, hbox101, "hbox101");
@@ -328,10 +315,6 @@ create_converterdlg (void)
GLADE_HOOKUP_OBJECT (converterdlg, hbox99, "hbox99");
GLADE_HOOKUP_OBJECT (converterdlg, label121, "label121");
GLADE_HOOKUP_OBJECT (converterdlg, overwrite_action, "overwrite_action");
- GLADE_HOOKUP_OBJECT (converterdlg, preserve_folders, "preserve_folders");
- GLADE_HOOKUP_OBJECT (converterdlg, hbox102, "hbox102");
- GLADE_HOOKUP_OBJECT (converterdlg, preserve_root_folder, "preserve_root_folder");
- GLADE_HOOKUP_OBJECT (converterdlg, preserve_folder_browse, "preserve_folder_browse");
GLADE_HOOKUP_OBJECT_NO_REF (converterdlg, dialog_action_area5, "dialog_action_area5");
GLADE_HOOKUP_OBJECT (converterdlg, converter_cancel, "converter_cancel");
GLADE_HOOKUP_OBJECT (converterdlg, converter_ok, "converter_ok");
diff --git a/plugins/converter/support.c b/plugins/converter/support.c
index ae0b71d5..1eef6efc 100644
--- a/plugins/converter/support.c
+++ b/plugins/converter/support.c
@@ -147,7 +147,75 @@ GtkWidget *
gtk_combo_box_entry_new_text(void) {
GtkWidget *w = gtk_combo_box_text_new_with_entry ();
}
+
void
gtk_dialog_set_has_separator (GtkDialog *dlg, gboolean has) {
}
#endif
+
+#if !GTK_CHECK_VERSION(2,22,0)
+GdkDragAction
+gdk_drag_context_get_selected_action (GdkDragContext *context) {
+ return context->action;
+}
+GList *
+gdk_drag_context_list_targets (GdkDragContext *context) {
+ return context->targets;
+}
+#endif
+
+#if !GTK_CHECK_VERSION(2,24,0)
+#define GTK_COMBO_BOX_TEXT GTK_COMBO_BOX
+GtkWidget *
+gtk_combo_box_text_new () {
+ return gtk_combo_box_new_text ();
+}
+
+GtkWidget *
+gtk_combo_box_text_new_with_entry (void) {
+ return gtk_combo_box_entry_new ();
+}
+
+void
+gtk_combo_box_text_append_text (GtkComboBoxText *combo_box, const gchar *text) {
+ gtk_combo_box_append_text (combo_box, text);
+}
+
+void
+gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box, gint position, const gchar *text) {
+ gtk_combo_box_insert_text (combo_box, position, text);
+}
+
+void
+gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box, const gchar *text) {
+ gtk_combo_box_prepend_text (combo_box, text);
+}
+gchar *
+gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box) {
+ return gtk_combo_box_get_active_text (combo_box);
+}
+
+#endif
+
+#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
+void
+gtk_widget_set_allocation (GtkWidget *widget, const GtkAllocation *allocation) {
+ widget->allocation.x = (allocation)->x;
+ widget->allocation.y = (allocation)->y;
+ widget->allocation.width = (allocation)->width;
+ widget->allocation.height = (allocation)->height;
+}
+
+void
+gtk_widget_get_allocation (GtkWidget *widget, GtkAllocation *allocation) {
+ (allocation)->x = widget->allocation.x;
+ (allocation)->y = widget->allocation.y;
+ (allocation)->width = widget->allocation.width;
+ (allocation)->height = widget->allocation.height;
+}
+
+void
+gtk_widget_set_window(GtkWidget *widget, GdkWindow *window) {
+ widget->window = window;
+}
+#endif
diff --git a/plugins/converter/support.h b/plugins/converter/support.h
index 7037765f..00e31c0f 100644
--- a/plugins/converter/support.h
+++ b/plugins/converter/support.h
@@ -1,12 +1,16 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
+#ifndef __GTKUI_SUPPORT_H
+#define __GTKUI_SUPPORT_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <gtk/gtk.h>
+#if GTK_CHECK_VERSION(3,0,0)
+#include <gdk/gdkkeysyms-compat.h>
+#else
+#include <gdk/gdkkeysyms.h>
+#endif
/*
* Standard gettext macros.
@@ -27,7 +31,9 @@
# define dgettext(Domain,Message) (Message)
# define dcgettext(Domain,Message,Type) (Message)
# define bindtextdomain(Domain,Directory) (Domain)
+#ifndef _
# define _(String) (String)
+#endif
# define Q_(String) g_strip_context ((String), (String))
# define N_(String) (String)
#endif
@@ -67,7 +73,6 @@ void glade_set_atk_action_description (AtkAction *action,
const gchar *action_name,
const gchar *description);
-
#if GTK_CHECK_VERSION(3,0,0)
GtkWidget *
gtk_combo_box_entry_new_text(void);
@@ -75,3 +80,67 @@ gtk_combo_box_entry_new_text(void);
void
gtk_dialog_set_has_separator (GtkDialog *dlg, gboolean has);
#endif
+
+#if !GTK_CHECK_VERSION(2,20,0)
+#define gtk_widget_set_realized(widget, realized) {if (realized) GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_REALIZED);}
+#define gtk_widget_get_realized(widget) (GTK_WIDGET_REALIZED (widget))
+#endif
+
+#if !GTK_CHECK_VERSION(2,22,0)
+GdkDragAction
+gdk_drag_context_get_selected_action (GdkDragContext *context);
+GList *
+gdk_drag_context_list_targets (GdkDragContext *context);
+#endif
+
+#if !GTK_CHECK_VERSION(2,24,0)
+#define GTK_COMBO_BOX_TEXT GTK_COMBO_BOX
+typedef GtkComboBox GtkComboBoxText;
+GtkWidget *gtk_combo_box_text_new ();
+GtkWidget *gtk_combo_box_text_new_with_entry (void);
+void gtk_combo_box_text_append_text (GtkComboBoxText *combo_box, const gchar *text);
+void gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box, gint position, const gchar *text);
+void gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box, const gchar *text);
+gchar *gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);
+#endif
+
+#if !GTK_CHECK_VERSION(2,14,0) || defined(ULTRA_COMPATIBLE)
+#define gtk_widget_get_window(widget) ((widget)->window)
+#define gtk_selection_data_get_target(data) (data->target)
+#define gtk_dialog_get_content_area(dialog) (dialog->vbox)
+#define gtk_dialog_get_action_area(dialog) (dialog->action_area)
+#define gtk_selection_data_get_data(data) (data->data)
+#define gtk_selection_data_get_length(data) (data->length)
+#define gtk_selection_data_get_format(data) (data->format)
+#define gtk_adjustment_get_lower(adj) (adj->lower)
+#define gtk_adjustment_get_upper(adj) (adj->upper)
+#endif
+
+#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
+#define gtk_widget_set_has_window(widget, has_window) \
+ if (has_window) GTK_WIDGET_UNSET_FLAGS (widget, GTK_NO_WINDOW); \
+ else GTK_WIDGET_SET_FLAGS (widget, GTK_NO_WINDOW);
+
+#define gtk_widget_get_visible(widget) (GTK_WIDGET_VISIBLE(widget))
+#define gtk_widget_get_has_window(widget) (!GTK_WIDGET_NO_WINDOW(widget))
+void gtk_widget_set_window(GtkWidget *widget, GdkWindow *window);
+#endif
+
+
+#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
+void gtk_widget_set_allocation (GtkWidget *widget,
+ const GtkAllocation *allocation);
+
+void gtk_widget_get_allocation (GtkWidget *widget,
+ GtkAllocation *allocation);
+
+#define gtk_widget_set_can_focus(widget, canfocus) {if (canfocus) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS);}
+
+#define gtk_widget_get_can_focus(widget) (GTK_WIDGET_CAN_FOCUS (widget));
+
+#define gtk_widget_set_can_default(widget, candefault) {if (candefault) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_DEFAULT);}
+
+#define gtk_widget_get_can_default(widget) (GTK_WIDGET_CAN_DEFAULT (widget));
+#endif
+
+#endif
diff --git a/plugins/dca/dcaplug.c b/plugins/dca/dcaplug.c
index af19290b..85a04df6 100644
--- a/plugins/dca/dcaplug.c
+++ b/plugins/dca/dcaplug.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -730,7 +730,7 @@ static DB_decoder_t plugin = {
.plugin.name = "dts decoder",
.plugin.descr = "plays dts-encoded files using libdca from VLC project",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified libdca from VLC Player project,\n"
"developed by Gildas Bazin <gbazin@videolan.org>"
diff --git a/plugins/dsp_libsrc/src.c b/plugins/dsp_libsrc/src.c
index d759861a..8544343a 100644
--- a/plugins/dsp_libsrc/src.c
+++ b/plugins/dsp_libsrc/src.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -222,6 +222,7 @@ ddb_src_get_param_name (int p) {
default:
fprintf (stderr, "ddb_src_get_param_name: invalid param index (%d)\n", p);
}
+ return NULL;
}
void
@@ -285,7 +286,7 @@ static DB_dsp_t plugin = {
.plugin.name = "Resampler (Secret Rabbit Code)",
.plugin.descr = "High quality samplerate converter using libsamplerate, http://www.mega-nerd.com/SRC/",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/dsp_libsrc/src.h b/plugins/dsp_libsrc/src.h
index 9b7edcef..89c1bc58 100644
--- a/plugins/dsp_libsrc/src.h
+++ b/plugins/dsp_libsrc/src.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/dumb/cdumb.c b/plugins/dumb/cdumb.c
index 0ae7f4d4..26e6fa69 100644
--- a/plugins/dumb/cdumb.c
+++ b/plugins/dumb/cdumb.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -886,7 +886,7 @@ static DB_decoder_t plugin = {
.plugin.name = "DUMB module player",
.plugin.descr = "module player based on DUMB library",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses a fork of DUMB (Dynamic Universal Music Bibliotheque), Version 0.9.3\n"
"Copyright (C) 2001-2005 Ben Davis, Robert J Ohannessian and Julien Cugniere\n"
diff --git a/plugins/dumb/dumb-kode54/src/it/itrender.c b/plugins/dumb/dumb-kode54/src/it/itrender.c
index a5986928..b69bb765 100644
--- a/plugins/dumb/dumb-kode54/src/it/itrender.c
+++ b/plugins/dumb/dumb-kode54/src/it/itrender.c
@@ -3558,7 +3558,7 @@ static void process_playing(DUMB_IT_SIGRENDERER *sigrenderer, IT_PLAYING *playin
playing->sample_vibrato_time += playing->sample->vibrato_speed;
}
-#ifndef __linux__
+#if !(_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L)
static inline float log2(float x) {return (float)log(x)/(float)log(2.0f);}
#endif
diff --git a/plugins/ffap/Makefile.am b/plugins/ffap/Makefile.am
index 736392c3..4f6ce038 100644
--- a/plugins/ffap/Makefile.am
+++ b/plugins/ffap/Makefile.am
@@ -3,8 +3,8 @@ ffapdir = $(libdir)/$(PACKAGE)
pkglib_LTLIBRARIES = ffap.la
topsrcdir = @top_srcdir@
-EXTRA_PROGRAMS = foo
YASM=$(topsrcdir)/yasmwrapper.sh
+EXTRA_DIST = dsputil_yasm.asm x86inc.asm
SUFFIXES = .asm
if HAVE_YASM
@@ -19,7 +19,7 @@ if HAVE_YASM
$(LIBTOOL) --tag=CC --mode=compile $(YASM) $(YASM_FLAGS) -o $@ $<
endif
-ffap_la_LDFLAGS = -module
+ffap_la_LDFLAGS = -module -lm
AM_CFLAGS = $(CFLAGS) -fPIC -std=c99
endif
diff --git a/plugins/ffap/ffap.c b/plugins/ffap/ffap.c
index ccfa2b2d..c2ba7cbd 100644
--- a/plugins/ffap/ffap.c
+++ b/plugins/ffap/ffap.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
based on apedec from FFMpeg Copyright (c) 2007 Benjamin Zores <ben@geexbox.org>
based upon libdemac from Dave Chapman.
@@ -1870,7 +1870,7 @@ static DB_decoder_t plugin = {
.plugin.name = "Monkey's Audio (APE) decoder",
.plugin.descr = "APE player based on code from libavc and rockbox",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"based on apedec from FFMpeg Copyright (c) 2007 Benjamin Zores <ben@geexbox.org>\n"
"based upon libdemac from Dave Chapman.\n"
diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
index 4fe3d0de..9cf6e0c5 100644
--- a/plugins/ffmpeg/ffmpeg.c
+++ b/plugins/ffmpeg/ffmpeg.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -415,6 +415,7 @@ static const char *map[] = {
"album", "album",
"track", "track",
"date", "year",
+ "WM/Year", "year",
"genre", "genre",
"comment", "comment",
"performer", "performer",
@@ -814,7 +815,7 @@ static DB_decoder_t plugin = {
.plugin.name = "FFMPEG audio player",
.plugin.descr = "decodes audio formats using FFMPEG libavcodec",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/flac/flac.c b/plugins/flac/flac.c
index a577ad30..a6ceb497 100644
--- a/plugins/flac/flac.c
+++ b/plugins/flac/flac.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -22,10 +22,13 @@
#include <FLAC/metadata.h>
#include <math.h>
#include "../../deadbeef.h"
+#include "../artwork/artwork.h"
static DB_decoder_t plugin;
static DB_functions_t *deadbeef;
+static DB_artwork_plugin_t *coverart_plugin = NULL;
+
//#define trace(...) { fprintf(stderr, __VA_ARGS__); }
#define trace(fmt,...)
@@ -922,6 +925,103 @@ cflac_write_metadata (DB_playItem_t *it) {
m = m->next;
}
+#if 0 // fetching covers is broken, disabling for 0.5.2
+ // check if we have embedded cover
+ data = NULL;
+ while (FLAC__metadata_iterator_prev (iter));
+ do {
+ data = FLAC__metadata_iterator_get_block (iter);
+ if (data && data->type == FLAC__METADATA_TYPE_PICTURE) {
+ break;
+ }
+ } while (FLAC__metadata_iterator_next (iter));
+
+ if (!coverart_plugin) {
+ DB_plugin_t **plugins = deadbeef->plug_get_list ();
+ for (int i = 0; plugins[i]; i++) {
+ DB_plugin_t *p = plugins[i];
+ if (p->id && !strcmp (p->id, "artwork") && p->version_major == 1 && p->version_minor >= 1) {
+ coverart_plugin = (DB_artwork_plugin_t *)p;
+ break;
+ }
+ }
+ }
+
+ // add coverart if the file doesn't have it
+ // FIXME: should have an option to overwrite it
+ if ((!data || data->type != FLAC__METADATA_TYPE_PICTURE) && coverart_plugin) {
+ deadbeef->pl_lock ();
+ const char *alb = deadbeef->pl_find_meta (it, "album");
+ const char *art = deadbeef->pl_find_meta (it, "artist");
+ if (!alb || !*alb) {
+ alb = deadbeef->pl_find_meta (it, "title");
+ }
+ const char *fn = deadbeef->pl_find_meta (it, ":URI");
+
+ char *album = alb ? strdupa (alb) : NULL;
+ char *artist = art ? strdupa (art) : NULL;
+ char *fname = fn ? strdupa (fn) : NULL;
+ deadbeef->pl_unlock ();
+
+ char *image_fname = coverart_plugin->get_album_art_sync (fname, artist, album, -1);
+
+ if (image_fname && strcmp (image_fname, coverart_plugin->get_default_cover())) {
+ DB_FILE *fp = deadbeef->fopen (image_fname);
+ FLAC__byte *coverart_data = NULL;
+ FLAC__StreamMetadata *metadata = NULL;
+ if (!fp) {
+ fprintf (stderr, "flac: cannot open coverart %s\n", image_fname);
+ goto error2;
+ }
+
+ int64_t len = deadbeef->fgetlength (fp);
+ if (len < 4) {
+ fprintf (stderr, "flac: cover image file %s is too small\n", image_fname);
+ goto error2;
+ }
+ coverart_data = malloc (len);
+ if (!coverart_data) {
+ fprintf (stderr, "flac: cannot allocate memory\n");
+ goto error2;
+ }
+ if (!deadbeef->fread (coverart_data, len, 1, fp)) {
+ fprintf (stderr, "flac: cannot read from %s\n",image_fname);
+ goto error2;
+ }
+
+ metadata = FLAC__metadata_object_new (FLAC__METADATA_TYPE_PICTURE);
+ if (!metadata) {
+ fprintf (stderr, "flac: failed to allocate new picture block\n");
+ goto error2;
+ }
+
+ FLAC__metadata_object_picture_set_description (metadata, "Cover", true);
+ FLAC__metadata_object_picture_set_data (metadata, coverart_data,len, true);
+ metadata->data.picture.type = FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER;
+
+ if (*(uint32_t *)coverart_data == 0x474e5089) { // png header
+ metadata->data.picture.mime_type = strdup ("image/png");
+ } else {
+ metadata->data.picture.mime_type = strdup ("image/jpeg");
+ }
+
+ while (FLAC__metadata_iterator_next (iter));
+ if (!FLAC__metadata_iterator_insert_block_after (iter, metadata)) {
+ fprintf (stderr, "flac: failed to append picture block to chain\n");
+ goto error2;
+ }
+
+error2:
+ if (fp) {
+ deadbeef->fclose (fp);
+ }
+ if (coverart_data) {
+ free (coverart_data);
+ }
+ }
+ }
+#endif
+
if (!FLAC__metadata_chain_write (chain, 1, 0)) {
trace ("cflac_write_metadata: FLAC__metadata_chain_write failed\n");
goto error;
@@ -949,7 +1049,7 @@ static DB_decoder_t plugin = {
.plugin.name = "FLAC decoder",
.plugin.descr = "FLAC decoder using libFLAC",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/gme/Makefile.am b/plugins/gme/Makefile.am
index b325cbdf..fff96fdd 100644
--- a/plugins/gme/Makefile.am
+++ b/plugins/gme/Makefile.am
@@ -1,7 +1,8 @@
if HAVE_GME
-#gmedir=Game_Music_Emu-0.5.2
-gmeversion=game-music-emu-0.5.5
+#gmeversion=Game_Music_Emu-0.5.2
+#gmeversion=game-music-emu-0.5.5
+gmeversion=game-music-emu-svn
gmepath=@top_srcdir@/plugins/gme/$(gmeversion)
EXTRA_DIST = $(gmepath)/changes.txt $(gmepath)/design.txt $(gmepath)/gme.txt $(gmepath)/license.txt $(gmepath)/readme.txt
@@ -11,106 +12,108 @@ gmedir = $(libdir)/$(PACKAGE)
pkglib_LTLIBRARIES = gme.la
gme_la_SOURCES = cgme.c\
-game-music-emu-0.5.5/gme/Ay_Apu.cpp\
-game-music-emu-0.5.5/gme/Gb_Apu.cpp\
-game-music-emu-0.5.5/gme/Hes_Emu.cpp\
-game-music-emu-0.5.5/gme/Nes_Fme7_Apu.cpp\
-game-music-emu-0.5.5/gme/Sms_Apu.cpp\
-game-music-emu-0.5.5/gme/Ay_Cpu.cpp\
-game-music-emu-0.5.5/gme/Gb_Cpu.cpp\
-game-music-emu-0.5.5/gme/Kss_Cpu.cpp\
-game-music-emu-0.5.5/gme/Nes_Namco_Apu.cpp\
-game-music-emu-0.5.5/gme/Snes_Spc.cpp\
-game-music-emu-0.5.5/gme/Ay_Emu.cpp\
-game-music-emu-0.5.5/gme/Gb_Oscs.cpp\
-game-music-emu-0.5.5/gme/Kss_Emu.cpp\
-game-music-emu-0.5.5/gme/Nes_Oscs.cpp\
-game-music-emu-0.5.5/gme/Spc_Cpu.cpp\
-game-music-emu-0.5.5/gme/Blip_Buffer.cpp\
-game-music-emu-0.5.5/gme/Gbs_Emu.cpp\
-game-music-emu-0.5.5/gme/Kss_Scc_Apu.cpp\
-game-music-emu-0.5.5/gme/Nes_Vrc6_Apu.cpp\
-game-music-emu-0.5.5/gme/Spc_Dsp.cpp\
-game-music-emu-0.5.5/gme/Classic_Emu.cpp\
-game-music-emu-0.5.5/gme/gme.cpp\
-game-music-emu-0.5.5/gme/M3u_Playlist.cpp\
-game-music-emu-0.5.5/gme/Nsfe_Emu.cpp\
-game-music-emu-0.5.5/gme/Spc_Emu.cpp\
-game-music-emu-0.5.5/gme/Data_Reader.cpp\
-game-music-emu-0.5.5/gme/Gme_File.cpp\
-game-music-emu-0.5.5/gme/Multi_Buffer.cpp\
-game-music-emu-0.5.5/gme/Nsf_Emu.cpp\
-game-music-emu-0.5.5/gme/Vgm_Emu.cpp\
-game-music-emu-0.5.5/gme/Dual_Resampler.cpp\
-game-music-emu-0.5.5/gme/Gym_Emu.cpp\
-game-music-emu-0.5.5/gme/Music_Emu.cpp\
-game-music-emu-0.5.5/gme/Sap_Apu.cpp\
-game-music-emu-0.5.5/gme/Vgm_Emu_Impl.cpp\
-game-music-emu-0.5.5/gme/Effects_Buffer.cpp\
-game-music-emu-0.5.5/gme/Hes_Apu.cpp\
-game-music-emu-0.5.5/gme/Nes_Apu.cpp\
-game-music-emu-0.5.5/gme/Sap_Cpu.cpp\
-game-music-emu-0.5.5/gme/Ym2413_Emu.cpp\
-game-music-emu-0.5.5/gme/Fir_Resampler.cpp\
-game-music-emu-0.5.5/gme/Hes_Cpu.cpp\
-game-music-emu-0.5.5/gme/Nes_Cpu.cpp\
-game-music-emu-0.5.5/gme/Sap_Emu.cpp\
-game-music-emu-0.5.5/gme/Ym2612_Emu.cpp\
-game-music-emu-0.5.5/gme/Ay_Apu.h\
-game-music-emu-0.5.5/gme/Ay_Cpu.h\
-game-music-emu-0.5.5/gme/Ay_Emu.h\
-game-music-emu-0.5.5/gme/blargg_common.h\
-game-music-emu-0.5.5/gme/blargg_config.h\
-game-music-emu-0.5.5/gme/blargg_endian.h\
-game-music-emu-0.5.5/gme/blargg_source.h\
-game-music-emu-0.5.5/gme/Blip_Buffer.h\
-game-music-emu-0.5.5/gme/Classic_Emu.h\
-game-music-emu-0.5.5/gme/Data_Reader.h\
-game-music-emu-0.5.5/gme/Dual_Resampler.h\
-game-music-emu-0.5.5/gme/Effects_Buffer.h\
-game-music-emu-0.5.5/gme/Fir_Resampler.h\
-game-music-emu-0.5.5/gme/Gb_Apu.h\
-game-music-emu-0.5.5/gme/Gb_Cpu.h\
-game-music-emu-0.5.5/gme/gb_cpu_io.h\
-game-music-emu-0.5.5/gme/Gb_Oscs.h\
-game-music-emu-0.5.5/gme/Gbs_Emu.h\
-game-music-emu-0.5.5/gme/Gme_File.h\
-game-music-emu-0.5.5/gme/gme.h\
-game-music-emu-0.5.5/gme/Gym_Emu.h\
-game-music-emu-0.5.5/gme/Hes_Apu.h\
-game-music-emu-0.5.5/gme/Hes_Cpu.h\
-game-music-emu-0.5.5/gme/hes_cpu_io.h\
-game-music-emu-0.5.5/gme/Hes_Emu.h\
-game-music-emu-0.5.5/gme/Kss_Cpu.h\
-game-music-emu-0.5.5/gme/Kss_Emu.h\
-game-music-emu-0.5.5/gme/Kss_Scc_Apu.h\
-game-music-emu-0.5.5/gme/M3u_Playlist.h\
-game-music-emu-0.5.5/gme/Multi_Buffer.h\
-game-music-emu-0.5.5/gme/Music_Emu.h\
-game-music-emu-0.5.5/gme/Nes_Apu.h\
-game-music-emu-0.5.5/gme/Nes_Cpu.h\
-game-music-emu-0.5.5/gme/nes_cpu_io.h\
-game-music-emu-0.5.5/gme/Nes_Fme7_Apu.h\
-game-music-emu-0.5.5/gme/Nes_Namco_Apu.h\
-game-music-emu-0.5.5/gme/Nes_Oscs.h\
-game-music-emu-0.5.5/gme/Nes_Vrc6_Apu.h\
-game-music-emu-0.5.5/gme/Nsfe_Emu.h\
-game-music-emu-0.5.5/gme/Nsf_Emu.h\
-game-music-emu-0.5.5/gme/Sap_Apu.h\
-game-music-emu-0.5.5/gme/Sap_Cpu.h\
-game-music-emu-0.5.5/gme/sap_cpu_io.h\
-game-music-emu-0.5.5/gme/Sap_Emu.h\
-game-music-emu-0.5.5/gme/Sms_Apu.h\
-game-music-emu-0.5.5/gme/Sms_Oscs.h\
-game-music-emu-0.5.5/gme/Snes_Spc.h\
-game-music-emu-0.5.5/gme/Spc_Cpu.h\
-game-music-emu-0.5.5/gme/Spc_Dsp.h\
-game-music-emu-0.5.5/gme/Spc_Emu.h\
-game-music-emu-0.5.5/gme/Vgm_Emu.h\
-game-music-emu-0.5.5/gme/Vgm_Emu_Impl.h\
-game-music-emu-0.5.5/gme/Ym2413_Emu.h\
-game-music-emu-0.5.5/gme/Ym2612_Emu.h\
-game-music-emu-0.5.5/gme/gme_types.h
+ $(gmeversion)/gme/Ay_Apu.cpp\
+ $(gmeversion)/gme/Gb_Apu.cpp\
+ $(gmeversion)/gme/Hes_Emu.cpp\
+ $(gmeversion)/gme/Nes_Fme7_Apu.cpp\
+ $(gmeversion)/gme/Sms_Apu.cpp\
+ $(gmeversion)/gme/Ay_Cpu.cpp\
+ $(gmeversion)/gme/Gb_Cpu.cpp\
+ $(gmeversion)/gme/Kss_Cpu.cpp\
+ $(gmeversion)/gme/Nes_Namco_Apu.cpp\
+ $(gmeversion)/gme/Snes_Spc.cpp\
+ $(gmeversion)/gme/Ay_Emu.cpp\
+ $(gmeversion)/gme/Gb_Oscs.cpp\
+ $(gmeversion)/gme/Kss_Emu.cpp\
+ $(gmeversion)/gme/Nes_Oscs.cpp\
+ $(gmeversion)/gme/Spc_Cpu.cpp\
+ $(gmeversion)/gme/Blip_Buffer.cpp\
+ $(gmeversion)/gme/Gbs_Emu.cpp\
+ $(gmeversion)/gme/Kss_Scc_Apu.cpp\
+ $(gmeversion)/gme/Nes_Vrc6_Apu.cpp\
+ $(gmeversion)/gme/Spc_Dsp.cpp\
+ $(gmeversion)/gme/Classic_Emu.cpp\
+ $(gmeversion)/gme/gme.cpp\
+ $(gmeversion)/gme/M3u_Playlist.cpp\
+ $(gmeversion)/gme/Nsfe_Emu.cpp\
+ $(gmeversion)/gme/Spc_Emu.cpp\
+ $(gmeversion)/gme/Data_Reader.cpp\
+ $(gmeversion)/gme/Gme_File.cpp\
+ $(gmeversion)/gme/Multi_Buffer.cpp\
+ $(gmeversion)/gme/Nsf_Emu.cpp\
+ $(gmeversion)/gme/Vgm_Emu.cpp\
+ $(gmeversion)/gme/Dual_Resampler.cpp\
+ $(gmeversion)/gme/Gym_Emu.cpp\
+ $(gmeversion)/gme/Music_Emu.cpp\
+ $(gmeversion)/gme/Sap_Apu.cpp\
+ $(gmeversion)/gme/Vgm_Emu_Impl.cpp\
+ $(gmeversion)/gme/Effects_Buffer.cpp\
+ $(gmeversion)/gme/Hes_Apu.cpp\
+ $(gmeversion)/gme/Nes_Apu.cpp\
+ $(gmeversion)/gme/Sap_Cpu.cpp\
+ $(gmeversion)/gme/Ym2413_Emu.cpp\
+ $(gmeversion)/gme/Fir_Resampler.cpp\
+ $(gmeversion)/gme/Hes_Cpu.cpp\
+ $(gmeversion)/gme/Nes_Cpu.cpp\
+ $(gmeversion)/gme/Sap_Emu.cpp\
+ $(gmeversion)/gme/Ym2612_Emu.cpp\
+ $(gmeversion)/gme/Ay_Apu.h\
+ $(gmeversion)/gme/Ay_Cpu.h\
+ $(gmeversion)/gme/Ay_Emu.h\
+ $(gmeversion)/gme/blargg_common.h\
+ $(gmeversion)/gme/blargg_config.h\
+ $(gmeversion)/gme/blargg_endian.h\
+ $(gmeversion)/gme/blargg_source.h\
+ $(gmeversion)/gme/Blip_Buffer.h\
+ $(gmeversion)/gme/Classic_Emu.h\
+ $(gmeversion)/gme/Data_Reader.h\
+ $(gmeversion)/gme/Dual_Resampler.h\
+ $(gmeversion)/gme/Effects_Buffer.h\
+ $(gmeversion)/gme/Fir_Resampler.h\
+ $(gmeversion)/gme/Gb_Apu.h\
+ $(gmeversion)/gme/Gb_Cpu.h\
+ $(gmeversion)/gme/gb_cpu_io.h\
+ $(gmeversion)/gme/Gb_Oscs.h\
+ $(gmeversion)/gme/Gbs_Emu.h\
+ $(gmeversion)/gme/Gme_File.h\
+ $(gmeversion)/gme/gme.h\
+ $(gmeversion)/gme/Gym_Emu.h\
+ $(gmeversion)/gme/Hes_Apu.h\
+ $(gmeversion)/gme/Hes_Cpu.h\
+ $(gmeversion)/gme/hes_cpu_io.h\
+ $(gmeversion)/gme/Hes_Emu.h\
+ $(gmeversion)/gme/Kss_Cpu.h\
+ $(gmeversion)/gme/Kss_Emu.h\
+ $(gmeversion)/gme/Kss_Scc_Apu.h\
+ $(gmeversion)/gme/M3u_Playlist.h\
+ $(gmeversion)/gme/Multi_Buffer.h\
+ $(gmeversion)/gme/Music_Emu.h\
+ $(gmeversion)/gme/Nes_Apu.h\
+ $(gmeversion)/gme/Nes_Cpu.h\
+ $(gmeversion)/gme/nes_cpu_io.h\
+ $(gmeversion)/gme/Nes_Fme7_Apu.h\
+ $(gmeversion)/gme/Nes_Namco_Apu.h\
+ $(gmeversion)/gme/Nes_Oscs.h\
+ $(gmeversion)/gme/Nes_Vrc6_Apu.h\
+ $(gmeversion)/gme/Nsfe_Emu.h\
+ $(gmeversion)/gme/Nsf_Emu.h\
+ $(gmeversion)/gme/Sap_Apu.h\
+ $(gmeversion)/gme/Sap_Cpu.h\
+ $(gmeversion)/gme/sap_cpu_io.h\
+ $(gmeversion)/gme/Sap_Emu.h\
+ $(gmeversion)/gme/Sms_Apu.h\
+ $(gmeversion)/gme/Sms_Oscs.h\
+ $(gmeversion)/gme/Snes_Spc.h\
+ $(gmeversion)/gme/Spc_Cpu.h\
+ $(gmeversion)/gme/Spc_Dsp.h\
+ $(gmeversion)/gme/Spc_Emu.h\
+ $(gmeversion)/gme/Vgm_Emu.h\
+ $(gmeversion)/gme/Vgm_Emu_Impl.h\
+ $(gmeversion)/gme/Ym2413_Emu.h\
+ $(gmeversion)/gme/Ym2612_Emu.h\
+ $(gmeversion)/gme/gme_types.h\
+ $(gmeversion)/gme/Spc_Filter.cpp\
+ $(gmeversion)/gme/Spc_Filter.h
gme_la_LDFLAGS = -module -nostdlib -lsupc++
gme_la_LIBADD = $(ZLIB_LIBS)
diff --git a/plugins/gme/cgme.c b/plugins/gme/cgme.c
index e94a4773..48622266 100644
--- a/plugins/gme/cgme.c
+++ b/plugins/gme/cgme.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -115,18 +115,15 @@ cgme_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
gme_fileinfo_t *info = (gme_fileinfo_t*)_info;
int samplerate = deadbeef->conf_get_int ("synth.samplerate", 44100);
- gme_err_t res;
+ gme_err_t res = "gme uninitialized";
const char *ext = strrchr (deadbeef->pl_find_meta (it, ":URI"), '.');
- if (ext && !strcasecmp (ext, ".vgz")) {
- trace ("opening gzipped vgm...\n");
- char *buffer;
- int sz;
- if (!read_gzfile (deadbeef->pl_find_meta (it, ":URI"), &buffer, &sz)) {
- res = gme_open_data (buffer, sz, &info->emu, samplerate);
- free (buffer);
- }
+ char *buffer;
+ int sz;
+ if (!read_gzfile (deadbeef->pl_find_meta (it, ":URI"), &buffer, &sz)) {
+ res = gme_open_data (deadbeef->pl_find_meta (it, ":URI"), buffer, sz, &info->emu, samplerate);
+ free (buffer);
}
- else {
+ if (res) {
DB_FILE *f = deadbeef->fopen (deadbeef->pl_find_meta (it, ":URI"));
int64_t sz = deadbeef->fgetlength (f);
if (sz <= 0) {
@@ -145,7 +142,7 @@ cgme_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
return -1;
}
- res = gme_open_data (buf, sz, &info->emu, samplerate);
+ res = gme_open_data (deadbeef->pl_find_meta (it, ":URI"), buf, sz, &info->emu, samplerate);
free (buf);
}
@@ -268,19 +265,16 @@ cgme_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
Music_Emu *emu;
trace ("gme_open_file %s\n", fname);
- gme_err_t res;
+ gme_err_t res = "gme uninitialized";
const char *ext = strrchr (fname, '.');
- if (ext && !strcasecmp (ext, ".vgz")) {
- trace ("opening gzipped vgm...\n");
- char *buffer;
- int sz;
- if (!read_gzfile (fname, &buffer, &sz)) {
- res = gme_open_data (buffer, sz, &emu, gme_info_only);
- free (buffer);
- }
+ char *buffer;
+ int sz;
+ if (!read_gzfile (fname, &buffer, &sz)) {
+ res = gme_open_data (fname, buffer, sz, &emu, gme_info_only);
+ free (buffer);
}
- else {
+ if (res) {
DB_FILE *f = deadbeef->fopen (fname);
if (!f) {
return NULL;
@@ -302,7 +296,7 @@ cgme_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
return NULL;
}
- res = gme_open_data (buf, sz, &emu, gme_info_only);
+ res = gme_open_data (fname, buf, sz, &emu, gme_info_only);
free (buf);
}
@@ -399,7 +393,7 @@ cgme_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
}
}
else {
- trace ("gme_open_file/data failed\n");
+ trace ("gme_open_file/data failed with error %s\n", res);
}
return after;
}
@@ -466,9 +460,9 @@ static DB_decoder_t plugin = {
.plugin.name = "Game-Music-Emu player",
.plugin.descr = "chiptune/game music player based on GME library",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
- "Uses Game-Music-Emu v0.5.5 by Shay Green <gblargg@gmail.com>, http://www.slack.net/~ant/libs\n"
+ "Uses Game-Music-Emu by Shay Green <gblargg@gmail.com>, http://code.google.com/p/game-music-emu/\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/gme/game-music-emu-0.5.5/gme/Dual_Resampler.cpp b/plugins/gme/game-music-emu-0.5.5/gme/Dual_Resampler.cpp
index 090b0acf..91b48472 100644
--- a/plugins/gme/game-music-emu-0.5.5/gme/Dual_Resampler.cpp
+++ b/plugins/gme/game-music-emu-0.5.5/gme/Dual_Resampler.cpp
@@ -20,7 +20,9 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
unsigned const resampler_extra = 256;
-Dual_Resampler::Dual_Resampler() { }
+Dual_Resampler::Dual_Resampler() {
+ sample_buf_size = 0;
+}
Dual_Resampler::~Dual_Resampler() { }
diff --git a/plugins/gme/game-music-emu-0.5.5/gme/blargg_config.h b/plugins/gme/game-music-emu-0.5.5/gme/blargg_config.h
index e71ce0a9..9bdbeb57 100644
--- a/plugins/gme/game-music-emu-0.5.5/gme/blargg_config.h
+++ b/plugins/gme/game-music-emu-0.5.5/gme/blargg_config.h
@@ -7,7 +7,7 @@
//#define HAVE_ZLIB_H
// Uncomment to enable platform-specific optimizations
-//#define BLARGG_NONPORTABLE 1
+#define BLARGG_NONPORTABLE 1
// Uncomment to use faster, lower quality sound synthesis
//#define BLIP_BUFFER_FAST 1
diff --git a/plugins/gme/game-music-emu-svn/CMakeLists.txt b/plugins/gme/game-music-emu-svn/CMakeLists.txt
new file mode 100644
index 00000000..c76bbe19
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/CMakeLists.txt
@@ -0,0 +1,91 @@
+# CMake project definition file.
+project(libgme)
+
+include (CheckCXXCompilerFlag)
+
+set(GME_VERSION 0.6.0 CACHE INTERNAL "libgme Version")
+
+# 2.6+ always assumes FATAL_ERROR, but 2.4 and below don't.
+# Of course, 2.4 might work, in which case you're welcome to drop
+# down the requirement, but I can't test that.
+cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
+
+# Default emulators to build (all of them! ;)
+if (NOT DEFINED USE_GME_AY)
+ SET(USE_GME_AY 1 CACHE BOOL "Enable support for Spectrum ZX music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_GBS)
+ SET(USE_GME_GBS 1 CACHE BOOL "Enable support for Game Boy music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_GYM)
+ SET(USE_GME_GYM 1 CACHE BOOL "Enable Sega MegaDrive/Genesis music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_HES)
+ SET(USE_GME_HES 1 CACHE BOOL "Enable PC Engine/TurboGrafx-16 music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_KSS)
+ SET(USE_GME_KSS 1 CACHE BOOL "Enable MSX or other Z80 systems music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_NSF)
+ SET(USE_GME_NSF 1 CACHE BOOL "Enable NES NSF music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_NSFE)
+ SET(USE_GME_NSFE 1 CACHE BOOL "Enable NES NSFE and NSF music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_SAP)
+ SET(USE_GME_SAP 1 CACHE BOOL "Enable Atari SAP music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_SPC)
+ SET(USE_GME_SPC 1 CACHE BOOL "Enable SNES SPC music emulation")
+endif()
+
+if (NOT DEFINED USE_GME_VGM)
+ SET(USE_GME_VGM 1 CACHE BOOL "Enable Sega VGM/VGZ music emulation")
+endif()
+
+if (USE_GME_NSFE AND NOT USE_GME_NSF)
+ MESSAGE(" -- NSFE support requires NSF, enabling NSF support. --")
+ SET(USE_GME_NSF 1 CACHE BOOL "Enable NES NSF music emulation" FORCE)
+endif()
+
+# Check for GCC "visibility" support.
+if (CMAKE_COMPILER_IS_GNUCXX)
+ check_cxx_compiler_flag (-fvisibility=hidden __LIBGME_TEST_VISIBILITY)
+ set (ENABLE_VISIBILITY OFF)
+ if (__LIBGME_TEST_VISIBILITY)
+ # get the gcc version
+ exec_program(${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
+ string (REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+
+ # gcc <4.1 had poor support for symbol visibility
+ if ((${_gcc_version} VERSION_GREATER "4.1") OR (${_gcc_version} VERSION_EQUAL "4.1"))
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
+ set (ENABLE_VISIBILITY ON)
+ add_definitions (-DLIBGME_VISIBILITY)
+
+ # GCC >= 4.2 also correctly supports making inline members have hidden
+ # visibility by default.
+ if ((${_gcc_version} VERSION_GREATER "4.2") OR (${_gcc_version} VERSION_EQUAL "4.2"))
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
+ endif()
+ endif()
+ endif() # test visibility
+endif (CMAKE_COMPILER_IS_GNUCXX)
+
+# Cache this result
+set( LIBGME_HAVE_GCC_VISIBILITY ${ENABLE_VISIBILITY} CACHE BOOL "GCC support for hidden visibility")
+
+# Shared library defined here
+add_subdirectory(gme)
+
+# EXCLUDE_FROM_ALL adds build rules but keeps it out of default build
+add_subdirectory(player EXCLUDE_FROM_ALL)
+add_subdirectory(demo EXCLUDE_FROM_ALL)
diff --git a/plugins/gme/game-music-emu-svn/changes.txt b/plugins/gme/game-music-emu-svn/changes.txt
new file mode 100644
index 00000000..c0afecff
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/changes.txt
@@ -0,0 +1,239 @@
+Game_Music_Emu Change Log
+-------------------------
+
+Game_Music_Emu 0.5.6
+--------------------
+- Switched to newer snes_spc 0.9.0 for SPC emulation. Uses fast DSP.
+
+- Fixed a couple of GBS bugs, one involving access of memory after realloc.
+
+- Removed documentation of C++ interface, as the C interface in gme.h is
+the only supported one.
+
+- Added gme_enable_accuracy() for enabling more accurate sound emulation
+options (currently affects SPC only).
+
+
+Game_Music_Emu 0.5.5
+--------------------
+- CMake build support has been added. You can build Game_Music_Emu as
+a shared library and install it so that you do not have to include your
+own copy if you know libgme will be present on your target system.
+Requires CMake 2.6 or higher.
+
+
+Game_Music_Emu 0.5.2
+--------------------
+- *TONS* of changes and improvements. You should re-read the new header
+files and documentation as the changes will allow you to simplify your
+code a lot (it might even be simpler to just rewrite it). Existing code
+should continue to work without changes in most cases (see Deprecated
+features in gme.txt).
+
+- New file formats: AY, HES, KSS, SAP, NSFE
+
+- All-new comprehensive C interface (also usable from C++). Simplifies
+many things, especially file loading, and brings everything together in
+one header file (gme.h).
+
+- Information tags and track names and times can be accessed for all
+game music formats
+
+- New features supported by all emulators: end of track fading,
+automatic silence detection, adjustable song tempo, seek to new time in
+track
+
+- Updated mini player example to support track names and times, echo,
+tempo, and channel muting, and added visual waveform display
+
+- Improved configuration to use blargg_config.h, which you can modify
+and keep when you update to a newer libary version. Includes flag for
+library to automatically handle gzipped files using zlib (so you don't
+need to use Gzip_File_Reader anymore).
+
+- GBS: Fixed wave channel to not reset waveform when APU is powered off
+(affected Garfield). Also improved invalid bank selection (affected Game
+& Watch and others).
+
+- VGM: Added support for alternate noise shifter register
+configurations, used by other systems like the BBC Micro.
+
+- SPC: Removed IPL ROM dump from emulator, as none of the SPC files I
+scanned needed it, and an SPC file can include a copy if necessary. Also
+re-enabled supposed clamping in gaussian interpolation between the third
+and fourth lookups, though I don't know whether it matters
+
+- Added Music_Emu::load_mem() to use music data already in memory
+(without copying it)
+
+- Added Music_Emu::warning(), which reports minor problems when loading
+and playing a music file
+
+- Added Music_Emu::set_gain() for uniform adjustment of gain. Can only
+be set during initialization, so not useful as a general volume control.
+
+- Added custom operator new to ensure that no exceptions are thrown in
+the library (I'd use std::nothrow if it were part of pre-ISO (ARM) C++)
+
+- Added BLIP_BUFFER_FAST flag to blargg_config.h to use a lower quality
+bandlimited synthesis in "classic" emulators, which might help
+performance on ancient processors (measure first!). Don't use this
+unless absolutely necessary, as quality suffers.
+
+- Improved performance a bit for x86 platforms
+
+- Text files now in DOS newline format so they will open in Notepad
+properly
+
+- Removed requirement that file header structures not have any padding
+added to the end
+
+- Fixed common bug in all CPU emulators where negative program counter
+could crash emulator (occurred during a negative branch from the
+beginning of memory). Also fixed related bug in Z80 emulator for
+IX/IY+displacement mode.
+
+- Eliminated all warnings when compiling on gcc 4.0. The following
+generates no diagnostics:
+
+ gcc -S gme/*.cpp -o /dev/null -ansi -fno-gnu-keywords
+ -fno-nonansi-builtins -pedantic -W -Wabi -Wall -Wcast-align
+ -Wcast-qual -Wchar-subscripts -Wdisabled-optimization -Werror
+ -Winline -Wlong-long -Wmultichar -Winvalid-offsetof
+ -Wnon-virtual-dtor -Woverloaded-virtual -Wparentheses
+ -Wpointer-arith -Wredundant-decls -Wreorder -Wsign-compare
+ -Wsign-promo -Wunknown-pragmas -Wwrite-strings
+
+
+Game_Music_Emu 0.3.0
+--------------------
+- Added more demos, including music player using the SDL multimedia
+library for sound, and improved documentation
+
+- All: Improved interface to emulators to allow simpler setup and
+loading. Instead of various init() functions, all now support
+set_sample_rate( long rate ) and load( const char* file_path ).
+
+- All: Removed error return from start_track() and play(), and added
+error_count() to get the total number of emulation errors since the
+track was last started. See demos for examples of new usage.
+
+- All: Fixed mute_voices() muting to be preserved after loading files
+and starting tracks, instead of being cleared as it was whenever a track
+was started
+
+- VGM: Rewrote Vgm_Emu to support Sega Genesis/Mega Drive FM sound at
+any sample rate with optional FM oversampling, support for alternate
+YM2612 sound cores, and support for optional YM2413
+
+- VGM: Added tempo control, useful for slowing 60Hz NTSC Sega Genesis
+music to 50Hz PAL
+
+- VGM: Removed Vgm_Emu::track_data(), since I realized that this
+information is already present in the VGM header (oops!)
+
+- GYM: Changed Gym_Emu::track_length() operation (see Gym_Emu.h)
+
+- NSF: Added support for Sunsoft FME-7 sound chip used by Gimmick
+soundtrack
+
+- NSF: Fixed Namco 106 problems with Final Lap and others
+
+- Moved library sources to gme/ directory to reduce clutter, and merged
+boost/ functionality into blargg_common.h
+
+- Added Gzip_File_Reader for transparently using gzipped files
+
+
+Game_Music_Emu 0.2.4
+--------------------
+- Created a discussion forum for problems and feedback:
+http://groups-beta.google.com/group/blargg-sound-libs
+
+- Changed error return value of Blip_Buffer::sample_rate() (also for
+Stereo_Buffer, Effects_Buffer, etc.) to blargg_err_t (defined in
+blargg_common.h), to make error reporting consistent with other
+functions. This means the "no error" return value is the opposite of
+what it was before, which will break current code which checks the error
+return value:
+
+ // current code (broken)
+ if ( !buf.sample_rate( samples_per_sec ) )
+ out_of_memory();
+
+ // quick-and-dirty fix (just remove the ! operation)
+ if ( buf.sample_rate( samples_per_sec ) )
+ out_of_memory();
+
+ // proper fix
+ blargg_err_t error = buf.sample_rate( samples_per_sec );
+ if ( error )
+ report_error( error );
+
+- Implemented workaround for MSVC++ 6 compiler limitations, allowing it
+to work on that compiler again
+
+- Added sample clamping to avoid wrap-around at high volumes, allowing
+higher volume with little distortion
+
+- Added to-do list and design notes
+
+- Added Music_Emu::skip( long sample_count ) to skip ahead in current
+track
+
+- Added Gym_Emu::track_length() and Vgm_Emu::track_length() for
+determining the length of non-looped GYM and VGM files
+
+- Partially implemented DMC non-linearity when its value is directly set
+using $4011, which reduces previously over-emphasized "popping" of
+percussion on some games (TMNT II in particular)
+
+- Fixed Fir_Resampler, used for SPC and GYM playback (was incorrectly
+using abs() instead of fabs()...argh)
+
+- Fixed SPC emulation bugs: eliminated clicks in Plok! soundtrack and
+now stops sample slightly earlier than the end, as the SNES does. Fixed
+a totally broken CPU addressing mode.
+
+- Fixed Konami VRC6 saw wave (was very broken before). Now VRC6 music
+sounds decent
+
+- Fixed a minor GBS emulation bug
+
+- Fixed GYM loop point bug when track was restarted before loop point
+had been reached
+
+- Made default GBS frequency equalization less muffled
+
+- Added pseudo-surround effect removal for SPC files
+
+- Added Music_Emu::voice_names() which returns names for each voice.
+
+- Added BLARGG_SOURCE_BEGIN which allows custom compiler options to be
+easily set for library sources
+
+- Changed assignment of expansion sound chips in Nsf_Emu to be spread
+more evenly when using Effects_Buffer
+
+- Changed 'size_t' values in Blip_Buffer interface to 'long'
+
+- Changed demo to generate a WAVE sound file rather than an AIFF file
+
+
+Game_Music_Emu 0.2.0
+--------------------
+- Redid framework and rewrote/cleaned up emulators
+
+- Changed licensing to GNU Lesser General Public License (LGPL)
+
+- Added Sega Genesis GYM and Super Nintendo SPC emulators
+
+- Added Namco-106 and Konami VRC6 sound chip support to NSF emulator
+
+- Eliminated use of static mutable data in emulators, allowing
+multi-instance safety
+
+
+Game_Music_Emu 0.1.0
+--------------------
+- First release
diff --git a/plugins/gme/game-music-emu-svn/design.txt b/plugins/gme/game-music-emu-svn/design.txt
new file mode 100644
index 00000000..33e185a3
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/design.txt
@@ -0,0 +1,194 @@
+Game_Music_Emu 0.5.6 Design
+---------------------------
+This might be slightly out-of-date at times, but will be a big help in
+understanding the library implementation.
+
+
+Architecture
+------------
+The library is essentially a bunch of independent game music file
+emulators unified with a common interface.
+
+Gme_File and Music_Emu provide a common interface to the emulators. The
+virtual functions are protected rather than public to allow pre- and
+post-processing of arguments and data in one place. This allows the
+emulator classes to assume that everything is set up properly when
+starting a track and playing samples.
+
+All file input is done with the Data_Reader interface. Many derived
+classes are present, for the usual disk-based file and block of memory,
+to specialized adaptors for things like reading a subset of data or
+combining a block of memory with a Data_Reader to the remaining data.
+This makes the library much more flexible with regard to the source of
+game music file data. I still added a specialized load_mem() function to
+have the emulator keep a pointer to data already read in memory, for
+those formats whose files can be absolutely huge (GYM, some VGMs). This
+is important if for some reason the caller must load the data ahead of
+time, but doesn't want the emulator needlessly making a copy.
+
+Since silence checking and fading are relatively complex, they are kept
+separate from basic file loading and track information, which are
+handled in the base class Gme_File. My original intent was to use
+Gme_File as the common base class for full emulators and track
+information-only readers, but implementing the C interface was much
+simpler if both derived from Music_Emu. User C++ code can still benefit
+from static checking by using Gme_File where only track information will
+be accessed.
+
+Each emulator generally has three components: main emulator, CPU
+emulator, and sound chip emulator(s). Each component has minimal
+coupling, so use in a full emulator or stand alone is fairly easy. This
+modularity really helps reduce complexity. Blip_Buffer helps a lot with
+simplifying the APU interfaces and implementation.
+
+The "classic" emulators derive from Classic_Emu, which handles
+Blip_Buffer filling and multiple channels. It uses Multi_Buffer for
+output, allowing you to derive a custom buffer that could output each
+voice to a separate sound channel and do different processing on each.
+At some point I'm going to implement a better Effects_Buffer that allows
+individual control of every channel.
+
+In implementing the C interface, I wanted a way to specify an emulator
+type that didn't require linking in all the emulators. For each emulator
+type there is a global object with pointers to functions to create the
+emulator or a track information reader. The emulator type is thus a
+pointer to this, which conveniently allows for a NULL value. The user
+referencing this emulator type object is what ultimately links the
+emulator in (unless new Foo_Emu is used in C++, of course). This type
+also serves as a useful substitute for RTTI on older C++ compilers.
+
+Addendum: I have since added gme_type_list(), which causes all listed
+emulators to be linked in. To avoid this, I make the list itself
+editable in blargg_config.h. Having a built-in list allows
+gme_load_file() to take a path and give back an emulator with the file
+loaded, which is extremely useful for new users.
+
+
+Interface conventions
+----------------------
+If a function retains a pointer to or replaces the value of an object
+passed, it takes a pointer so that it will be clear in the caller's
+source code that care is required.
+
+Multi-word names have an underscore '_' separator between individual
+words.
+
+Functions are named with lowercase words. Functions which perform an
+action with side-effects are named with a verb phrase (i.e. load, move,
+run). Functions which return the value of a piece of state are named
+using a noun phrase (i.e. loaded, moved, running).
+
+Classes are named with capitalized words. Only the first letter of an
+acronym is capitalized. Class names are nouns, sometimes suggestive of
+what they do (i.e. File_Scanner).
+
+Structure, enumeration, and typedefs to these and built-in types are
+named using lowercase words with a _t suffix.
+
+Macros are named with all-uppercase words.
+
+Internal names which can't be hidden due to technical reasons have an
+underscore '_' suffix.
+
+
+Managing Complexity
+-------------------
+Complexity has been a factor in most library decisions. Many features
+have been passed by due to the complexity they would add. Once
+complexity goes past a certain level, it mentally grasping the library
+in its entirety, at which point more defects will occur and be hard to
+find.
+
+I chose 16-bit signed samples because it seems to be the most common
+format. Supporting multiple formats would add too much complexity to be
+worth it. Other formats can be obtained via conversion.
+
+I've kept interfaces fairly lean, leaving many possible features
+untapped but easy to add if necessary. For example the classic emulators
+could have volume and frequency equalization adjusted separately for
+each channel, since they each have an associated Blip_Synth.
+
+Source files of 400 lines or less seem to be the best size to limit
+complexity. In a few cases there is no reasonable way to split longer
+files, or there is benefit from having the source together in one file.
+
+
+Preventing Bugs
+---------------
+I've done many things to reduce the opportunity for defects. A general
+principle is to write code so that defects will be as visible as
+possible. I've used several techniques to achieve this.
+
+I put assertions at key points where defects seem likely or where
+corruption due to a defect is likely to be visible. I've also put
+assertions where violations of the interface are likely. In emulators
+where I am unsure of exact hardware operation in a particular case, I
+output a debug-only message noting that this has occurred; many times I
+haven't implemented a hardware feature because nothing uses it. I've
+made code brittle where there is no clear reason flexibility; code
+written to handle every possibility sacrifices quality and reliability
+to handle vaguely defined situations.
+
+
+Flexibility through indirection
+-------------------------------
+I've tried to allow the most flexibility of modules by using indirection
+to allow extension by the user. This keeps each module simpler and more
+focused on its unique task.
+
+The classic emulators use Multi_Buffer, which potentially allows a
+separate Blip_Buffer for each channel. This keeps emulators free of
+typical code to allow output in mono, stereo, panning, etc.
+
+All emulators use a reader object to access file data, allowing it to be
+stored in a regular file, compressed archive, memory, or generated
+on-the-fly. Again, the library can be kept free of the particulars of
+file access and changes required to support new formats.
+
+
+Emulators in general
+--------------------
+When I wrote the first NES sound emulator, I stored most of the state in
+an emulator-specific format, with significant redundancy. In the
+register write function I decoded everything into named variables. I
+became tired of the verbosity and wanted to more closely model the
+hardware, so I moved to a style of storing the last written value to
+each register, along with as little other state as possible, mostly the
+internal hardware registers. While this involves slightly more
+recalculation, in most cases the emulation code is of comparable size.
+It also makes state save/restore (for use in a full emulator) much
+simpler. Finally, it makes debugging easier since the hardware registers
+used in emulation are obvious.
+
+
+CPU Cores
+---------
+I've spent lots of time coming up with techniques to optimize the CPU
+cores. Some of the most important: execute multiple instructions during
+an emulation call, keep state in local variables to allow register
+assignment, optimize state representation for most common instructions,
+defer status flag calculation until actually needed, read program code
+directly without a call to the memory read function, always pre-fetch
+the operand byte before decoding instruction, and emulate instructions
+using common blocks of code.
+
+I've successfully used Nes_Cpu in a fairly complete NES emulator, and
+I'd like to make all the CPU emulators suitable for use in emulators. It
+seems a waste for them to be used only for the small amount of emulation
+necessary for game music files.
+
+I debugged the CPU cores by writing a test shell that ran them in
+parallel with other CPU cores and compared all memory accesses and
+processor states at each step. This provided good value at little cost.
+
+The CPU mapping page size is adjustable to allow the best tradeoff
+between memory/cache usage and handler granularity. The interface allows
+code to be somewhat independent of the page size.
+
+I optimize program memory accesses to direct reads rather than calls to
+the memory read function. My assumption is that it would be difficult to
+get useful code out of hardware I/O addresses, so no software will
+intentionally execute out of I/O space. Since the page size can be
+changed easily, most program memory mapping schemes can be accommodated.
+This greatly reduces memory access function calls.
+
diff --git a/plugins/gme/game-music-emu-svn/gme.txt b/plugins/gme/game-music-emu-svn/gme.txt
new file mode 100644
index 00000000..2985786b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme.txt
@@ -0,0 +1,375 @@
+Game_Music_Emu 0.5.5
+--------------------
+Author : Shay Green <gblargg@gmail.com>
+Website: http://www.slack.net/~ant/libs/
+Forum : http://groups.google.com/group/blargg-sound-libs
+License: GNU Lesser General Public License (LGPL)
+
+Contents
+--------
+* Overview
+* Error handling
+* Emulator types
+* M3U playlist support
+* Information fields
+* Track length
+* Loading file data
+* Sound parameters
+* VGM/GYM YM2413 & YM2612 FM sound
+* Modular construction
+* Obscure features
+* Solving problems
+* Thanks
+
+
+Overview
+--------
+This library can open game music files, play tracks, and read game and
+track information tags. To play a game music file, do the following:
+
+* Open the file with gme_open_file()
+* Start a track with gme_start_track();
+* Generate samples as needed with gme_play()
+* Play samples through speaker using your operating system
+* Delete emulator when done with gme_delete()
+
+Your code must arrange for the generated samples to be played through
+the computer's speaker using whatever method your operating system
+requires.
+
+There are many additional features available; you can:
+
+* Determine of the type of a music file without opening it with
+gme_identify_*()
+* Load just the file's information tags with gme_info_only
+* Load from a block of memory rather than a file with gme_load_data()
+* Arrange for a fade-out at a particular time with gme_set_fade
+* Find when a track has ended with gme_track_ended()
+* Seek to a new time in the track with gme_seek()
+* Load an extended m3u playlist with gme_load_m3u()
+* Get a list of the voices (channels) and mute them individually with
+gme_voice_names() and gme_mute_voice()
+* Change the playback tempo without affecting pitch with gme_set_tempo()
+* Adjust treble/bass equalization with gme_set_equalizer()
+* Associate your own data with an emulator and later get it back with
+gme_set_user_data()
+* Register a function of yours to be called back when the emulator is
+deleted with gme_set_user_cleanup()
+
+Refer to gme.h for a comprehensive summary of features.
+
+
+Error handling
+--------------
+Functions which can fail have a return type of gme_err_t, which is a
+pointer to an error string (const char*). If a function is successful it
+returns NULL. Errors that you can easily avoid are checked with debug
+assertions; gme_err_t return values are only used for genuine run-time
+errors that can't be easily predicted in advance (out of memory, I/O
+errors, incompatible file data). Your code should check all error
+values.
+
+When loading a music file in the wrong emulator or trying to load a
+non-music file, gme_wrong_file_type is returned. You can check for this
+error in C++ like this:
+
+ gme_err_t err = gme_open_file( path, &emu );
+ if ( err == gme_wrong_file_type )
+ ...
+
+To check for minor problems, call gme_warning() to get a string
+describing the last warning. Your player should allow the user some way
+of knowing when this is the case, since these minor errors could affect
+playback. Without this information the user can't solve problems as
+well. When playing a track, gme_warning() returns minor playback-related
+problems (major playback problems end the track immediately and set the
+warning string).
+
+
+Emulator types
+--------------
+The library includes several game music emulators that each support a
+different file type. Each is identified by a gme_type_t constant defined
+in gme.h, for example gme_nsf_emu is for the NSF emulator. If you use
+gme_open_file() or gme_open_data(), the library does the work of
+determining the file type and creating an appropriate emulator. If you
+want more control over this process, read on.
+
+There are two basic ways to identify a game music file's type: look at
+its file extension, or read the header data. The library includes
+functions to help with both methods. The first is preferable because it
+is fast and the most common way to identify files. Sometimes the
+extension is lost or wrong, so the header must be read.
+
+Use gme_identify_extension() to find the correct game music type based
+on a filename. To identify a file based on its extension and header
+contents, use gme_identify_file(). If you read the header data yourself,
+use gme_identify_header().
+
+If you want to remove support for some music types to reduce your
+executable size, edit GME_TYPE_LIST in blargg_config.h. For example, to
+support just NSF and GBS, use this:
+
+ #define GME_TYPE_LIST \
+ gme_nsf_type,\
+ gme_gbs_type
+
+
+M3U playlist support
+--------------------
+The library supports playlists in an extended m3u format with
+gme_load_m3u() to give track names and times to multi-song formats: AY,
+GBS, HES, KSS, NSF, NSFE, and SAP. Some aspects of the file format
+itself is not well-defined so some m3u files won't work properly
+(particularly those provided with KSS files). Only m3u files referencing
+a single file are supported; your code must handle m3u files covering
+more than one game music file, though it can use the built-in m3u
+parsing provided by the library.
+
+
+Information fields
+------------------
+Support is provided for the various text fields and length information
+in a file with gme_track_info(). If you just need track information for
+a file (for example, building a playlist), use gme_new_info() in place
+of gme_new_emu(), load the file normally, then you can access the track
+count and info, but nothing else.
+
+ M3U VGM GYM SPC SAP NSFE NSF AY GBS HES KSS
+ -------------------------------------------------------
+Track Count | * * * * * * * * *
+ |
+System | * * * * * * * * * *
+ |
+Game | * * * * * * *
+ |
+Song | * * * * * * *
+ |
+Author | * * * * * * * *
+ |
+Copyright | * * * * * * * *
+ |
+Comment | * * * *
+ |
+Dumper | * * * *
+ |
+Length | * * * * * *
+ |
+Intro Length| * * *
+ |
+Loop Length | * * *
+
+As listed above, the HES and KSS file formats don't include a track
+count, and tracks are often scattered over the 0-255 range, so an m3u
+playlist for these is a must.
+
+Unavailable text fields are set to an empty string and times to -1. Your
+code should be prepared for any combination of available and unavailable
+fields, as a particular music file might not use all of the supported
+fields listed above.
+
+Currently text fields are truncated to 255 characters. Obscure fields of
+some formats are not currently decoded; contact me if you want one
+added.
+
+
+Track length
+------------
+The library leaves it up to you as to when to stop playing a track. You
+can ask for available length information and then tell the library what
+time it should start fading the track with gme_set_fade(). By default it
+also continually checks for 6 or more seconds of silence to mark the end
+of a track. Here is a reasonable algorithm you can use to decide how
+long to play a track:
+
+* If the track length is > 0, use it
+* If the loop length > 0, play for intro + loop * 2
+* Otherwise, default to 2.5 minutes (150000 msec)
+
+If you want to play a track longer than normal, be sure the loop length
+isn't zero. See Music_Player.cpp around line 145 for example code.
+
+By default, the library skips silence at the beginning of a track. It
+also continually checks for the end of a non-looping track by watching
+for 6 seconds of unbroken silence. When doing this is scans *ahead* by
+several seconds so it can report the end of the track after only one
+second of silence has actually played. This feature can be disabled with
+gme_ignore_silence().
+
+
+Loading file data
+-----------------
+The library allows file data to be loaded in many different ways. All
+load functions return an error which you should check. The following
+examples assume these variables:
+
+ Music_Emu* emu;
+ gme_err_t error;
+
+If you're letting the library determine a file's type, you can use
+either gme_open_file() or gme_open_data():
+
+ error = gme_open_file( pathname, &emu );
+ error = gme_open_data( pointer, size, &emu );
+
+If you're manually determining file type and using used gme_new_emu() to
+create an emulator, you can use the following methods of loading:
+
+* From a block of memory:
+
+ error = gme_load_data( emu, pointer, size );
+
+* Have library call your function to read data:
+
+ gme_err_t my_read( void* my_data, void* out, long count )
+ {
+ // code that reads 'count' bytes into 'out' buffer
+ // and return 0 if no error
+ }
+
+ error = gme_load_custom( emu, my_read, file_size, my_data );
+
+
+Sound parameters
+----------------
+All emulators support an arbitrary output sampling rate. A rate of 44100
+Hz should work well on most systems. Since band-limited synthesis is
+used, a sampling rate above 48000 Hz is not necessary and will actually
+reduce sound quality and performance.
+
+All emulators also support adjustable gain, mainly for the purpose of
+getting consistent volume between different music formats and avoiding
+excessive modulation. The gain can only be set *before* setting the
+emulator's sampling rate, so it's not useful as a general volume
+control. The default gains of emulators are set so that they give
+generally similar volumes, though some soundtracks are significantly
+louder or quieter than normal.
+
+Some emulators support adjustable treble and bass frequency equalization
+(AY, GBS, HES, KSS, NSF, NSFE, SAP, VGM) using set_equalizer().
+Parameters are specified using gme_equalizer_t eq = { treble_dB,
+bass_freq }. Treble_dB sets the treble level (in dB), where 0.0 dB gives
+normal treble; -200.0 dB is quite muffled, and 5.0 dB emphasizes treble
+for an extra crisp sound. Bass_freq sets the frequency where bass
+response starts to diminish; 15 Hz is normal, 0 Hz gives maximum bass,
+and 15000 Hz removes all bass. For example, the following makes the
+sound extra-crisp but lacking bass:
+
+ gme_equalizer_t eq = { 5.0, 1000 };
+ gme_set_equalizer( music_emu, &eq );
+
+Each emulator's equalization defaults to approximate the particular
+console's sound quality; this default can be determined by calling
+equalizer() just after creating the emulator. The Music_Emu::tv_eq
+profile gives sound as if coming from a TV speaker, and some emulators
+include other profiles for different versions of the system. For
+example, to use Famicom sound equalization with the NSF emulator, do the
+following:
+
+ music_emu->set_equalizer( Nsf_Emu::famicom_eq );
+
+
+VGM/GYM YM2413 & YM2612 FM sound
+--------------------------------
+The library plays Sega Genesis/Mega Drive music using a YM2612 FM sound
+chip emulator based on the Gens project. Because this has some
+inaccuracies, other YM2612 emulators can be used in its place by
+re-implementing the interface in YM2612_Emu.h. Available on my website
+is a modified version of MAME's YM2612 emulator, which sounds better in
+some ways and whose author is still making improvements.
+
+VGM music files using the YM2413 FM sound chip are also supported, but a
+YM2413 emulator isn't included with the library due to technical
+reasons. I have put one of the available YM2413 emulators on my website
+that can be used directly.
+
+
+Modular construction
+--------------------
+The library is made of many fairly independent modules. If you're using
+only one music file emulator, you can eliminate many of the library
+sources from your program. Refer to the files list in readme.txt to get
+a general idea of what can be removed, and be sure to edit GME_TYPE_LIST
+(see "Emulator types" above). Post to the forum if you'd like me to put
+together a smaller version for a particular use, as this only takes me a
+few minutes to do.
+
+If you want to use one of the individual sound chip emulators (or CPU
+cores) in your own console emulator, first check the libraries page on
+my website since I have released several of them as stand alone
+libraries with included documentation and examples on their use. If you
+don't find it as a standalone library, contact me and I'll consider
+separating it.
+
+The "classic" sound chips use my Blip_Buffer library, which greatly
+simplifies their implementation and efficiently handles band-limited
+synthesis. It is also available as a stand alone library with
+documentation and many examples.
+
+
+Obscure features
+----------------
+The library's flexibility allows many possibilities. Contact me if you
+want help implementing ideas or removing limitations.
+
+* Uses no global/static variables, allowing multiple instances of any
+emulator. This is useful in a music player if you want to allow
+simultaneous recording or scanning of other tracks while one is already
+playing. This will also be useful if your platform disallows global
+data.
+
+* Emulators that support a custom sound buffer can have *every* voice
+routed to a different Blip_Buffer, allowing custom processing on each
+voice. For example you could record a Game Boy track as a 4-channel
+sound file.
+
+* Defining BLIP_BUFFER_FAST uses lower quality, less-multiply-intensive
+synthesis on "classic" emulators, which might help on some really old
+processors. This significantly lowers sound quality and prevents treble
+equalization. Try this if your platform's processor isn't fast enough
+for normal quality. Even on my ten-year-old 400 MHz Mac, this reduces
+processor usage at most by about 0.6% (from 4% to 3.4%), hardly worth
+the quality loss.
+
+
+Solving problems
+----------------
+If you're having problems, try the following:
+
+* If you're getting garbled sound, try this simple siren generator in
+place of your call to play(). This will quickly tell whether the problem
+is in the library or in your code.
+
+ static void play_siren( long count, short* out )
+ {
+ static double a, a2;
+ while ( count-- )
+ *out++ = 0x2000 * sin( a += .1 + .05*sin( a2+=.00005 ) );
+ }
+
+* Enable debugging support in your environment. This enables assertions
+and other run-time checks.
+
+* Turn the compiler's optimizer is off. Sometimes an optimizer generates
+bad code.
+
+* If multiple threads are being used, ensure that only one at a time is
+accessing a given set of objects from the library. This library is not
+in general thread-safe, though independent objects can be used in
+separate threads.
+
+* If all else fails, see if the demos work.
+
+
+Thanks
+------
+Big thanks to Chris Moeller (kode54) for help with library testing and
+feedback, for maintaining the Foobar2000 plugin foo_gep based on it, and
+for original work on openspc++ that was used when developing Spc_Emu.
+Brad Martin's excellent OpenSPC SNES DSP emulator worked well from the
+start. Also thanks to Richard Bannister, Mahendra Tallur, Shazz,
+nenolod, theHobbit, Johan Samuelsson, and nes6502 for testing, using,
+and giving feedback for the library in their respective game music
+players. More recently, Lucas Paul and Michael Pyne have helped nudge the
+library into a public repository and get its interface more stable for use
+in shared libraries.
diff --git a/plugins/gme/game-music-emu-svn/gme/Ay_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Ay_Apu.cpp
new file mode 100644
index 00000000..8204abf2
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ay_Apu.cpp
@@ -0,0 +1,395 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Ay_Apu.h"
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// Emulation inaccuracies:
+// * Noise isn't run when not in use
+// * Changes to envelope and noise periods are delayed until next reload
+// * Super-sonic tone should attenuate output to about 60%, not 50%
+
+// Tones above this frequency are treated as disabled tone at half volume.
+// Power of two is more efficient (avoids division).
+unsigned const inaudible_freq = 16384;
+
+int const period_factor = 16;
+
+static byte const amp_table [16] =
+{
+#define ENTRY( n ) byte (n * Ay_Apu::amp_range + 0.5)
+ // With channels tied together and 1K resistor to ground (as datasheet recommends),
+ // output nearly matches logarithmic curve as claimed. Approx. 1.5 dB per step.
+ ENTRY(0.000000),ENTRY(0.007813),ENTRY(0.011049),ENTRY(0.015625),
+ ENTRY(0.022097),ENTRY(0.031250),ENTRY(0.044194),ENTRY(0.062500),
+ ENTRY(0.088388),ENTRY(0.125000),ENTRY(0.176777),ENTRY(0.250000),
+ ENTRY(0.353553),ENTRY(0.500000),ENTRY(0.707107),ENTRY(1.000000),
+
+ /*
+ // Measured from an AY-3-8910A chip with date code 8611.
+
+ // Direct voltages without any load (very linear)
+ ENTRY(0.000000),ENTRY(0.046237),ENTRY(0.064516),ENTRY(0.089785),
+ ENTRY(0.124731),ENTRY(0.173118),ENTRY(0.225806),ENTRY(0.329032),
+ ENTRY(0.360215),ENTRY(0.494624),ENTRY(0.594624),ENTRY(0.672043),
+ ENTRY(0.766129),ENTRY(0.841935),ENTRY(0.926882),ENTRY(1.000000),
+ // With only some load
+ ENTRY(0.000000),ENTRY(0.011940),ENTRY(0.017413),ENTRY(0.024876),
+ ENTRY(0.036318),ENTRY(0.054229),ENTRY(0.072637),ENTRY(0.122388),
+ ENTRY(0.174129),ENTRY(0.239303),ENTRY(0.323881),ENTRY(0.410945),
+ ENTRY(0.527363),ENTRY(0.651741),ENTRY(0.832338),ENTRY(1.000000),
+ */
+#undef ENTRY
+};
+
+static byte const modes [8] =
+{
+#define MODE( a0,a1, b0,b1, c0,c1 ) \
+ (a0 | a1<<1 | b0<<2 | b1<<3 | c0<<4 | c1<<5)
+ MODE( 1,0, 1,0, 1,0 ),
+ MODE( 1,0, 0,0, 0,0 ),
+ MODE( 1,0, 0,1, 1,0 ),
+ MODE( 1,0, 1,1, 1,1 ),
+ MODE( 0,1, 0,1, 0,1 ),
+ MODE( 0,1, 1,1, 1,1 ),
+ MODE( 0,1, 1,0, 0,1 ),
+ MODE( 0,1, 0,0, 0,0 ),
+};
+
+Ay_Apu::Ay_Apu()
+{
+ // build full table of the upper 8 envelope waveforms
+ for ( int m = 8; m--; )
+ {
+ byte* out = env.modes [m];
+ int flags = modes [m];
+ for ( int x = 3; --x >= 0; )
+ {
+ int amp = flags & 1;
+ int end = flags >> 1 & 1;
+ int step = end - amp;
+ amp *= 15;
+ for ( int y = 16; --y >= 0; )
+ {
+ *out++ = amp_table [amp];
+ amp += step;
+ }
+ flags >>= 2;
+ }
+ }
+
+ output( 0 );
+ volume( 1.0 );
+ reset();
+}
+
+void Ay_Apu::reset()
+{
+ last_time = 0;
+ noise.delay = 0;
+ noise.lfsr = 1;
+
+ osc_t* osc = &oscs [osc_count];
+ do
+ {
+ osc--;
+ osc->period = period_factor;
+ osc->delay = 0;
+ osc->last_amp = 0;
+ osc->phase = 0;
+ }
+ while ( osc != oscs );
+
+ for ( int i = sizeof regs; --i >= 0; )
+ regs [i] = 0;
+ regs [7] = 0xFF;
+ write_data_( 13, 0 );
+}
+
+void Ay_Apu::write_data_( int addr, int data )
+{
+ assert( (unsigned) addr < reg_count );
+
+ if ( (unsigned) addr >= 14 )
+ {
+ #ifdef debug_printf
+ debug_printf( "Wrote to I/O port %02X\n", (int) addr );
+ #endif
+ }
+
+ // envelope mode
+ if ( addr == 13 )
+ {
+ if ( !(data & 8) ) // convert modes 0-7 to proper equivalents
+ data = (data & 4) ? 15 : 9;
+ env.wave = env.modes [data - 7];
+ env.pos = -48;
+ env.delay = 0; // will get set to envelope period in run_until()
+ }
+ regs [addr] = data;
+
+ // handle period changes accurately
+ int i = addr >> 1;
+ if ( i < osc_count )
+ {
+ blip_time_t period = (regs [i * 2 + 1] & 0x0F) * (0x100L * period_factor) +
+ regs [i * 2] * period_factor;
+ if ( !period )
+ period = period_factor;
+
+ // adjust time of next timer expiration based on change in period
+ osc_t& osc = oscs [i];
+ if ( (osc.delay += period - osc.period) < 0 )
+ osc.delay = 0;
+ osc.period = period;
+ }
+
+ // TODO: same as above for envelope timer, and it also has a divide by two after it
+}
+
+int const noise_off = 0x08;
+int const tone_off = 0x01;
+
+void Ay_Apu::run_until( blip_time_t final_end_time )
+{
+ require( final_end_time >= last_time );
+
+ // noise period and initial values
+ blip_time_t const noise_period_factor = period_factor * 2; // verified
+ blip_time_t noise_period = (regs [6] & 0x1F) * noise_period_factor;
+ if ( !noise_period )
+ noise_period = noise_period_factor;
+ blip_time_t const old_noise_delay = noise.delay;
+ blargg_ulong const old_noise_lfsr = noise.lfsr;
+
+ // envelope period
+ blip_time_t const env_period_factor = period_factor * 2; // verified
+ blip_time_t env_period = (regs [12] * 0x100L + regs [11]) * env_period_factor;
+ if ( !env_period )
+ env_period = env_period_factor; // same as period 1 on my AY chip
+ if ( !env.delay )
+ env.delay = env_period;
+
+ // run each osc separately
+ for ( int index = 0; index < osc_count; index++ )
+ {
+ osc_t* const osc = &oscs [index];
+ int osc_mode = regs [7] >> index;
+
+ // output
+ Blip_Buffer* const osc_output = osc->output;
+ if ( !osc_output )
+ continue;
+ osc_output->set_modified();
+
+ // period
+ int half_vol = 0;
+ blip_time_t inaudible_period = (blargg_ulong) (osc_output->clock_rate() +
+ inaudible_freq) / (inaudible_freq * 2);
+ if ( osc->period <= inaudible_period && !(osc_mode & tone_off) )
+ {
+ half_vol = 1; // Actually around 60%, but 50% is close enough
+ osc_mode |= tone_off;
+ }
+
+ // envelope
+ blip_time_t start_time = last_time;
+ blip_time_t end_time = final_end_time;
+ int const vol_mode = regs [0x08 + index];
+ int volume = amp_table [vol_mode & 0x0F] >> half_vol;
+ int osc_env_pos = env.pos;
+ if ( vol_mode & 0x10 )
+ {
+ volume = env.wave [osc_env_pos] >> half_vol;
+ // use envelope only if it's a repeating wave or a ramp that hasn't finished
+ if ( !(regs [13] & 1) || osc_env_pos < -32 )
+ {
+ end_time = start_time + env.delay;
+ if ( end_time >= final_end_time )
+ end_time = final_end_time;
+
+ //if ( !(regs [12] | regs [11]) )
+ // debug_printf( "Used envelope period 0\n" );
+ }
+ else if ( !volume )
+ {
+ osc_mode = noise_off | tone_off;
+ }
+ }
+ else if ( !volume )
+ {
+ osc_mode = noise_off | tone_off;
+ }
+
+ // tone time
+ blip_time_t const period = osc->period;
+ blip_time_t time = start_time + osc->delay;
+ if ( osc_mode & tone_off ) // maintain tone's phase when off
+ {
+ blargg_long count = (final_end_time - time + period - 1) / period;
+ time += count * period;
+ osc->phase ^= count & 1;
+ }
+
+ // noise time
+ blip_time_t ntime = final_end_time;
+ blargg_ulong noise_lfsr = 1;
+ if ( !(osc_mode & noise_off) )
+ {
+ ntime = start_time + old_noise_delay;
+ noise_lfsr = old_noise_lfsr;
+ //if ( (regs [6] & 0x1F) == 0 )
+ // debug_printf( "Used noise period 0\n" );
+ }
+
+ // The following efficiently handles several cases (least demanding first):
+ // * Tone, noise, and envelope disabled, where channel acts as 4-bit DAC
+ // * Just tone or just noise, envelope disabled
+ // * Envelope controlling tone and/or noise
+ // * Tone and noise disabled, envelope enabled with high frequency
+ // * Tone and noise together
+ // * Tone and noise together with envelope
+
+ // This loop only runs one iteration if envelope is disabled. If envelope
+ // is being used as a waveform (tone and noise disabled), this loop will
+ // still be reasonably efficient since the bulk of it will be skipped.
+ while ( 1 )
+ {
+ // current amplitude
+ int amp = 0;
+ if ( (osc_mode | osc->phase) & 1 & (osc_mode >> 3 | noise_lfsr) )
+ amp = volume;
+ {
+ int delta = amp - osc->last_amp;
+ if ( delta )
+ {
+ osc->last_amp = amp;
+ synth_.offset( start_time, delta, osc_output );
+ }
+ }
+
+ // Run wave and noise interleved with each catching up to the other.
+ // If one or both are disabled, their "current time" will be past end time,
+ // so there will be no significant performance hit.
+ if ( ntime < end_time || time < end_time )
+ {
+ // Since amplitude was updated above, delta will always be +/- volume,
+ // so we can avoid using last_amp every time to calculate the delta.
+ int delta = amp * 2 - volume;
+ int delta_non_zero = delta != 0;
+ int phase = osc->phase | (osc_mode & tone_off); assert( tone_off == 0x01 );
+ do
+ {
+ // run noise
+ blip_time_t end = end_time;
+ if ( end_time > time ) end = time;
+ if ( phase & delta_non_zero )
+ {
+ while ( ntime <= end ) // must advance *past* time to avoid hang
+ {
+ int changed = noise_lfsr + 1;
+ noise_lfsr = (-(noise_lfsr & 1) & 0x12000) ^ (noise_lfsr >> 1);
+ if ( changed & 2 )
+ {
+ delta = -delta;
+ synth_.offset( ntime, delta, osc_output );
+ }
+ ntime += noise_period;
+ }
+ }
+ else
+ {
+ // 20 or more noise periods on average for some music
+ blargg_long remain = end - ntime;
+ blargg_long count = remain / noise_period;
+ if ( remain >= 0 )
+ ntime += noise_period + count * noise_period;
+ }
+
+ // run tone
+ end = end_time;
+ if ( end_time > ntime ) end = ntime;
+ if ( noise_lfsr & delta_non_zero )
+ {
+ while ( time < end )
+ {
+ delta = -delta;
+ synth_.offset( time, delta, osc_output );
+ time += period;
+ //phase ^= 1;
+ }
+ //assert( phase == (delta > 0) );
+ phase = unsigned (-delta) >> (CHAR_BIT * sizeof (unsigned) - 1);
+ // (delta > 0)
+ }
+ else
+ {
+ // loop usually runs less than once
+ //SUB_CASE_COUNTER( (time < end) * (end - time + period - 1) / period );
+
+ while ( time < end )
+ {
+ time += period;
+ phase ^= 1;
+ }
+ }
+ }
+ while ( time < end_time || ntime < end_time );
+
+ osc->last_amp = (delta + volume) >> 1;
+ if ( !(osc_mode & tone_off) )
+ osc->phase = phase;
+ }
+
+ if ( end_time >= final_end_time )
+ break; // breaks first time when envelope is disabled
+
+ // next envelope step
+ if ( ++osc_env_pos >= 0 )
+ osc_env_pos -= 32;
+ volume = env.wave [osc_env_pos] >> half_vol;
+
+ start_time = end_time;
+ end_time += env_period;
+ if ( end_time > final_end_time )
+ end_time = final_end_time;
+ }
+ osc->delay = time - final_end_time;
+
+ if ( !(osc_mode & noise_off) )
+ {
+ noise.delay = ntime - final_end_time;
+ noise.lfsr = noise_lfsr;
+ }
+ }
+
+ // TODO: optimized saw wave envelope?
+
+ // maintain envelope phase
+ blip_time_t remain = final_end_time - last_time - env.delay;
+ if ( remain >= 0 )
+ {
+ blargg_long count = (remain + env_period) / env_period;
+ env.pos += count;
+ if ( env.pos >= 0 )
+ env.pos = (env.pos & 31) - 32;
+ remain -= count * env_period;
+ assert( -remain <= env_period );
+ }
+ env.delay = -remain;
+ assert( env.delay > 0 );
+ assert( env.pos < 0 );
+
+ last_time = final_end_time;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Ay_Apu.h b/plugins/gme/game-music-emu-svn/gme/Ay_Apu.h
new file mode 100644
index 00000000..42395e37
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ay_Apu.h
@@ -0,0 +1,107 @@
+// AY-3-8910 sound chip emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef AY_APU_H
+#define AY_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+class Ay_Apu {
+public:
+ // Set buffer to generate all sound into, or disable sound if NULL
+ void output( Blip_Buffer* );
+
+ // Reset sound chip
+ void reset();
+
+ // Write to register at specified time
+ enum { reg_count = 16 };
+ void write( blip_time_t time, int addr, int data );
+
+ // Run sound to specified time, end current time frame, then start a new
+ // time frame at time 0. Time frames have no effect on emulation and each
+ // can be whatever length is convenient.
+ void end_frame( blip_time_t length );
+
+// Additional features
+
+ // Set sound output of specific oscillator to buffer, where index is
+ // 0, 1, or 2. If buffer is NULL, the specified oscillator is muted.
+ enum { osc_count = 3 };
+ void osc_output( int index, Blip_Buffer* );
+
+ // Set overall volume (default is 1.0)
+ void volume( double );
+
+ // Set treble equalization (see documentation)
+ void treble_eq( blip_eq_t const& );
+
+public:
+ Ay_Apu();
+ typedef unsigned char byte;
+private:
+ struct osc_t
+ {
+ blip_time_t period;
+ blip_time_t delay;
+ short last_amp;
+ short phase;
+ Blip_Buffer* output;
+ } oscs [osc_count];
+ blip_time_t last_time;
+ byte latch;
+ byte regs [reg_count];
+
+ struct {
+ blip_time_t delay;
+ blargg_ulong lfsr;
+ } noise;
+
+ struct {
+ blip_time_t delay;
+ byte const* wave;
+ int pos;
+ byte modes [8] [48]; // values already passed through volume table
+ } env;
+
+ void run_until( blip_time_t );
+ void write_data_( int addr, int data );
+public:
+ enum { amp_range = 255 };
+ Blip_Synth<blip_good_quality,1> synth_;
+};
+
+inline void Ay_Apu::volume( double v ) { synth_.volume( 0.7 / osc_count / amp_range * v ); }
+
+inline void Ay_Apu::treble_eq( blip_eq_t const& eq ) { synth_.treble_eq( eq ); }
+
+inline void Ay_Apu::write( blip_time_t time, int addr, int data )
+{
+ run_until( time );
+ write_data_( addr, data );
+}
+
+inline void Ay_Apu::osc_output( int i, Blip_Buffer* buf )
+{
+ assert( (unsigned) i < osc_count );
+ oscs [i].output = buf;
+}
+
+inline void Ay_Apu::output( Blip_Buffer* buf )
+{
+ osc_output( 0, buf );
+ osc_output( 1, buf );
+ osc_output( 2, buf );
+}
+
+inline void Ay_Apu::end_frame( blip_time_t time )
+{
+ if ( time > last_time )
+ run_until( time );
+
+ assert( last_time >= time );
+ last_time -= time;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Ay_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Ay_Cpu.cpp
new file mode 100644
index 00000000..0f67db1b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ay_Cpu.cpp
@@ -0,0 +1,1665 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+/*
+Last validated with zexall 2006.11.21 5:26 PM
+* Doesn't implement the R register or immediate interrupt after EI.
+* Address wrap-around isn't completely correct, but is prevented from crashing emulator.
+*/
+
+#include "Ay_Cpu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+//#include "z80_cpu_log.h"
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#define SYNC_TIME() (void) (s.time = s_time)
+#define RELOAD_TIME() (void) (s_time = s.time)
+
+// Callbacks to emulator
+
+#define CPU_OUT( cpu, addr, data, TIME )\
+ ay_cpu_out( cpu, TIME, addr, data )
+
+#define CPU_IN( cpu, addr, TIME )\
+ ay_cpu_in( cpu, addr )
+
+#include "blargg_source.h"
+
+// flags, named with hex value for clarity
+int const S80 = 0x80;
+int const Z40 = 0x40;
+int const F20 = 0x20;
+int const H10 = 0x10;
+int const F08 = 0x08;
+int const V04 = 0x04;
+int const P04 = 0x04;
+int const N02 = 0x02;
+int const C01 = 0x01;
+
+#define SZ28P( n ) szpc [n]
+#define SZ28PC( n ) szpc [n]
+#define SZ28C( n ) (szpc [n] & ~P04)
+#define SZ28( n ) SZ28C( n )
+
+#define SET_R( n ) (void) (r.r = n)
+#define GET_R() (r.r)
+
+Ay_Cpu::Ay_Cpu()
+{
+ state = &state_;
+ for ( int i = 0x100; --i >= 0; )
+ {
+ int even = 1;
+ for ( int p = i; p; p >>= 1 )
+ even ^= p;
+ int n = (i & (S80 | F20 | F08)) | ((even & 1) * P04);
+ szpc [i] = n;
+ szpc [i + 0x100] = n | C01;
+ }
+ szpc [0x000] |= Z40;
+ szpc [0x100] |= Z40;
+}
+
+void Ay_Cpu::reset( void* m )
+{
+ mem = (uint8_t*) m;
+
+ check( state == &state_ );
+ state = &state_;
+ state_.time = 0;
+ state_.base = 0;
+ end_time_ = 0;
+
+ memset( &r, 0, sizeof r );
+}
+
+#define TIME (s_time + s.base)
+#define READ_PROG( addr ) (mem [addr])
+#define INSTR( offset ) READ_PROG( pc + (offset) )
+#define GET_ADDR() GET_LE16( &READ_PROG( pc ) )
+#define READ( addr ) READ_PROG( addr )
+#define WRITE( addr, data ) (void) (READ_PROG( addr ) = data)
+#define READ_WORD( addr ) GET_LE16( &READ_PROG( addr ) )
+#define WRITE_WORD( addr, data ) SET_LE16( &READ_PROG( addr ), data )
+#define IN( addr ) CPU_IN( this, addr, TIME )
+#define OUT( addr, data ) CPU_OUT( this, addr, data, TIME )
+
+#if BLARGG_BIG_ENDIAN
+ #define R8( n, offset ) ((r8_ - offset) [n])
+#elif BLARGG_LITTLE_ENDIAN
+ #define R8( n, offset ) ((r8_ - offset) [(n) ^ 1])
+#else
+ #error "Byte order of CPU must be known"
+#endif
+
+//#define R16( n, shift, offset ) (r16_ [((n) >> shift) - (offset >> shift)])
+
+// help compiler see that it can just adjust stack offset, saving an extra instruction
+#define R16( n, shift, offset )\
+ (*(uint16_t*) ((char*) r16_ - (offset >> (shift - 1)) + ((n) >> (shift - 1))))
+
+#define CASE5( a, b, c, d, e ) case 0x##a:case 0x##b:case 0x##c:case 0x##d:case 0x##e
+#define CASE6( a, b, c, d, e, f ) CASE5( a, b, c, d, e ): case 0x##f
+#define CASE7( a, b, c, d, e, f, g ) CASE6( a, b, c, d, e, f ): case 0x##g
+#define CASE8( a, b, c, d, e, f, g, h ) CASE7( a, b, c, d, e, f, g ): case 0x##h
+
+// high four bits are $ED time - 8, low four bits are $DD/$FD time - 8
+static byte const ed_dd_timing [0x100] = {
+//0 1 2 3 4 5 6 7 8 9 A B C D E F
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x06,0x0C,0x02,0x00,0x00,0x03,0x00,0x00,0x07,0x0C,0x02,0x00,0x00,0x03,0x00,
+0x00,0x00,0x00,0x00,0x0F,0x0F,0x0B,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,
+0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,
+0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0xA0,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0xA0,
+0x4B,0x4B,0x7B,0xCB,0x0B,0x6B,0x00,0x0B,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,
+0x80,0x80,0x80,0x80,0x00,0x00,0x0B,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0B,0x00,
+0xD0,0xD0,0xD0,0xD0,0x00,0x00,0x0B,0x00,0xD0,0xD0,0xD0,0xD0,0x00,0x00,0x0B,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x06,0x00,0x0F,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+
+// even on x86, using short and unsigned char was slower
+typedef int fint16;
+typedef unsigned fuint16;
+typedef unsigned fuint8;
+
+bool Ay_Cpu::run( cpu_time_t end_time )
+{
+ set_end_time( end_time );
+ state_t s = this->state_;
+ this->state = &s;
+ bool warning = false;
+
+ typedef BOOST::int8_t int8_t;
+
+ union {
+ regs_t rg;
+ pairs_t rp;
+ uint8_t r8_ [8]; // indexed
+ uint16_t r16_ [4];
+ };
+ rg = this->r.b;
+
+ cpu_time_t s_time = s.time;
+ uint8_t* const mem = this->mem; // cache
+ fuint16 pc = r.pc;
+ fuint16 sp = r.sp;
+ fuint16 ix = r.ix; // TODO: keep in memory for direct access?
+ fuint16 iy = r.iy;
+ int flags = r.b.flags;
+
+ goto loop;
+jr_not_taken:
+ s_time -= 5;
+ goto loop;
+call_not_taken:
+ s_time -= 7;
+jp_not_taken:
+ pc += 2;
+loop:
+
+ check( (unsigned long) pc < 0x10000 );
+ check( (unsigned long) sp < 0x10000 );
+ check( (unsigned) flags < 0x100 );
+ check( (unsigned) ix < 0x10000 );
+ check( (unsigned) iy < 0x10000 );
+
+ fuint8 opcode;
+ opcode = READ_PROG( pc );
+ pc++;
+
+ static byte const base_timing [0x100] = {
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 4,10, 7, 6, 4, 4, 7, 4, 4,11, 7, 6, 4, 4, 7, 4, // 0
+ 13,10, 7, 6, 4, 4, 7, 4,12,11, 7, 6, 4, 4, 7, 4, // 1
+ 12,10,16, 6, 4, 4, 7, 4,12,11,16, 6, 4, 4, 7, 4, // 2
+ 12,10,13, 6,11,11,10, 4,12,11,13, 6, 4, 4, 7, 4, // 3
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 4
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 5
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 6
+ 7, 7, 7, 7, 7, 7, 4, 7, 4, 4, 4, 4, 4, 4, 7, 4, // 7
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 8
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 9
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // A
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // B
+ 11,10,10,10,17,11, 7,11,11,10,10, 8,17,17, 7,11, // C
+ 11,10,10,11,17,11, 7,11,11, 4,10,11,17, 8, 7,11, // D
+ 11,10,10,19,17,11, 7,11,11, 4,10, 4,17, 8, 7,11, // E
+ 11,10,10, 4,17,11, 7,11,11, 6,10, 4,17, 8, 7,11, // F
+ };
+
+ fuint16 data;
+ data = base_timing [opcode];
+ if ( (s_time += data) >= 0 )
+ goto possibly_out_of_time;
+almost_out_of_time:
+
+ data = READ_PROG( pc );
+
+ #ifdef Z80_CPU_LOG_H
+ //log_opcode( opcode, READ_PROG( pc ) );
+ z80_log_regs( rg.a, rp.bc, rp.de, rp.hl, sp, ix, iy );
+ z80_cpu_log( "new", pc - 1, opcode, READ_PROG( pc ),
+ READ_PROG( pc + 1 ), READ_PROG( pc + 2 ) );
+ #endif
+
+ switch ( opcode )
+ {
+possibly_out_of_time:
+ if ( s_time < (int) data )
+ goto almost_out_of_time;
+ s_time -= data;
+ goto out_of_time;
+
+// Common
+
+ case 0x00: // NOP
+ CASE7( 40, 49, 52, 5B, 64, 6D, 7F ): // LD B,B etc.
+ goto loop;
+
+ case 0x08:{// EX AF,AF'
+ int temp = r.alt.b.a;
+ r.alt.b.a = rg.a;
+ rg.a = temp;
+
+ temp = r.alt.b.flags;
+ r.alt.b.flags = flags;
+ flags = temp;
+ goto loop;
+ }
+
+ case 0xD3: // OUT (imm),A
+ pc++;
+ OUT( data + rg.a * 0x100, rg.a );
+ goto loop;
+
+ case 0x2E: // LD L,imm
+ pc++;
+ rg.l = data;
+ goto loop;
+
+ case 0x3E: // LD A,imm
+ pc++;
+ rg.a = data;
+ goto loop;
+
+ case 0x3A:{// LD A,(addr)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ rg.a = READ( addr );
+ goto loop;
+ }
+
+// Conditional
+
+#define ZERO (flags & Z40)
+#define CARRY (flags & C01)
+#define EVEN (flags & P04)
+#define MINUS (flags & S80)
+
+// JR
+#define JR( cond ) {\
+ int disp = (BOOST::int8_t) data;\
+ pc++;\
+ if ( !(cond) )\
+ goto jr_not_taken;\
+ pc += disp;\
+ goto loop;\
+}
+
+ case 0x20: JR( !ZERO ) // JR NZ,disp
+ case 0x28: JR( ZERO ) // JR Z,disp
+ case 0x30: JR( !CARRY ) // JR NC,disp
+ case 0x38: JR( CARRY ) // JR C,disp
+ case 0x18: JR( true ) // JR disp
+
+ case 0x10:{// DJNZ disp
+ int temp = rg.b - 1;
+ rg.b = temp;
+ JR( temp )
+ }
+
+// JP
+#define JP( cond ) if ( !(cond) ) goto jp_not_taken; pc = GET_ADDR(); goto loop;
+
+ case 0xC2: JP( !ZERO ) // JP NZ,addr
+ case 0xCA: JP( ZERO ) // JP Z,addr
+ case 0xD2: JP( !CARRY ) // JP NC,addr
+ case 0xDA: JP( CARRY ) // JP C,addr
+ case 0xE2: JP( !EVEN ) // JP PO,addr
+ case 0xEA: JP( EVEN ) // JP PE,addr
+ case 0xF2: JP( !MINUS ) // JP P,addr
+ case 0xFA: JP( MINUS ) // JP M,addr
+
+ case 0xC3: // JP addr
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0xE9: // JP HL
+ pc = rp.hl;
+ goto loop;
+
+// RET
+#define RET( cond ) if ( cond ) goto ret_taken; s_time -= 6; goto loop;
+
+ case 0xC0: RET( !ZERO ) // RET NZ
+ case 0xC8: RET( ZERO ) // RET Z
+ case 0xD0: RET( !CARRY ) // RET NC
+ case 0xD8: RET( CARRY ) // RET C
+ case 0xE0: RET( !EVEN ) // RET PO
+ case 0xE8: RET( EVEN ) // RET PE
+ case 0xF0: RET( !MINUS ) // RET P
+ case 0xF8: RET( MINUS ) // RET M
+
+ case 0xC9: // RET
+ ret_taken:
+ pc = READ_WORD( sp );
+ sp = uint16_t (sp + 2);
+ goto loop;
+
+// CALL
+#define CALL( cond ) if ( cond ) goto call_taken; goto call_not_taken;
+
+ case 0xC4: CALL( !ZERO ) // CALL NZ,addr
+ case 0xCC: CALL( ZERO ) // CALL Z,addr
+ case 0xD4: CALL( !CARRY ) // CALL NC,addr
+ case 0xDC: CALL( CARRY ) // CALL C,addr
+ case 0xE4: CALL( !EVEN ) // CALL PO,addr
+ case 0xEC: CALL( EVEN ) // CALL PE,addr
+ case 0xF4: CALL( !MINUS ) // CALL P,addr
+ case 0xFC: CALL( MINUS ) // CALL M,addr
+
+ case 0xCD:{// CALL addr
+ call_taken:
+ fuint16 addr = pc + 2;
+ pc = GET_ADDR();
+ sp = uint16_t (sp - 2);
+ WRITE_WORD( sp, addr );
+ goto loop;
+ }
+
+ case 0xFF: // RST
+ if ( (pc - 1) > 0xFFFF )
+ {
+ pc = uint16_t (pc - 1);
+ s_time -= 11;
+ goto loop;
+ }
+ CASE7( C7, CF, D7, DF, E7, EF, F7 ):
+ data = pc;
+ pc = opcode & 0x38;
+ goto push_data;
+
+// PUSH/POP
+ case 0xF5: // PUSH AF
+ data = rg.a * 0x100u + flags;
+ goto push_data;
+
+ case 0xC5: // PUSH BC
+ case 0xD5: // PUSH DE
+ case 0xE5: // PUSH HL
+ data = R16( opcode, 4, 0xC5 );
+ push_data:
+ sp = uint16_t (sp - 2);
+ WRITE_WORD( sp, data );
+ goto loop;
+
+ case 0xF1: // POP AF
+ flags = READ( sp );
+ rg.a = READ( sp + 1 );
+ sp = uint16_t (sp + 2);
+ goto loop;
+
+ case 0xC1: // POP BC
+ case 0xD1: // POP DE
+ case 0xE1: // POP HL
+ R16( opcode, 4, 0xC1 ) = READ_WORD( sp );
+ sp = uint16_t (sp + 2);
+ goto loop;
+
+// ADC/ADD/SBC/SUB
+ case 0x96: // SUB (HL)
+ case 0x86: // ADD (HL)
+ flags &= ~C01;
+ case 0x9E: // SBC (HL)
+ case 0x8E: // ADC (HL)
+ data = READ( rp.hl );
+ goto adc_data;
+
+ case 0xD6: // SUB A,imm
+ case 0xC6: // ADD imm
+ flags &= ~C01;
+ case 0xDE: // SBC A,imm
+ case 0xCE: // ADC imm
+ pc++;
+ goto adc_data;
+
+ CASE7( 90, 91, 92, 93, 94, 95, 97 ): // SUB r
+ CASE7( 80, 81, 82, 83, 84, 85, 87 ): // ADD r
+ flags &= ~C01;
+ CASE7( 98, 99, 9A, 9B, 9C, 9D, 9F ): // SBC r
+ CASE7( 88, 89, 8A, 8B, 8C, 8D, 8F ): // ADC r
+ data = R8( opcode & 7, 0 );
+ adc_data: {
+ int result = data + (flags & C01);
+ data ^= rg.a;
+ flags = opcode >> 3 & N02; // bit 4 is set in subtract opcodes
+ if ( flags )
+ result = -result;
+ result += rg.a;
+ data ^= result;
+ flags |=(data & H10) |
+ ((data - -0x80) >> 6 & V04) |
+ SZ28C( result & 0x1FF );
+ rg.a = result;
+ goto loop;
+ }
+
+// CP
+ case 0xBE: // CP (HL)
+ data = READ( rp.hl );
+ goto cp_data;
+
+ case 0xFE: // CP imm
+ pc++;
+ goto cp_data;
+
+ CASE7( B8, B9, BA, BB, BC, BD, BF ): // CP r
+ data = R8( opcode, 0xB8 );
+ cp_data: {
+ int result = rg.a - data;
+ flags = N02 | (data & (F20 | F08)) | (result >> 8 & C01);
+ data ^= rg.a;
+ flags |=(((result ^ rg.a) & data) >> 5 & V04) |
+ (((data & H10) ^ result) & (S80 | H10));
+ if ( (uint8_t) result )
+ goto loop;
+ flags |= Z40;
+ goto loop;
+ }
+
+// ADD HL,rp
+
+ case 0x39: // ADD HL,SP
+ data = sp;
+ goto add_hl_data;
+
+ case 0x09: // ADD HL,BC
+ case 0x19: // ADD HL,DE
+ case 0x29: // ADD HL,HL
+ data = R16( opcode, 4, 0x09 );
+ add_hl_data: {
+ blargg_ulong sum = rp.hl + data;
+ data ^= rp.hl;
+ rp.hl = sum;
+ flags = (flags & (S80 | Z40 | V04)) |
+ (sum >> 16) |
+ (sum >> 8 & (F20 | F08)) |
+ ((data ^ sum) >> 8 & H10);
+ goto loop;
+ }
+
+ case 0x27:{// DAA
+ int a = rg.a;
+ if ( a > 0x99 )
+ flags |= C01;
+
+ int adjust = 0x60 & -(flags & C01);
+
+ if ( flags & H10 || (a & 0x0F) > 9 )
+ adjust |= 0x06;
+
+ if ( flags & N02 )
+ adjust = -adjust;
+ a += adjust;
+
+ flags = (flags & (C01 | N02)) |
+ ((rg.a ^ a) & H10) |
+ SZ28P( (uint8_t) a );
+ rg.a = a;
+ goto loop;
+ }
+ /*
+ case 0x27:{// DAA
+ // more optimized, but probably not worth the obscurity
+ int f = (rg.a + (0xFF - 0x99)) >> 8 | flags; // (a > 0x99 ? C01 : 0) | flags
+ int adjust = 0x60 & -(f & C01); // f & C01 ? 0x60 : 0
+
+ if ( (((rg.a + (0x0F - 9)) ^ rg.a) | f) & H10 ) // flags & H10 || (rg.a & 0x0F) > 9
+ adjust |= 0x06;
+
+ if ( f & N02 )
+ adjust = -adjust;
+ int a = rg.a + adjust;
+
+ flags = (f & (N02 | C01)) | ((rg.a ^ a) & H10) | SZ28P( (uint8_t) a );
+ rg.a = a;
+ goto loop;
+ }
+ */
+
+// INC/DEC
+ case 0x34: // INC (HL)
+ data = READ( rp.hl ) + 1;
+ WRITE( rp.hl, data );
+ goto inc_set_flags;
+
+ CASE7( 04, 0C, 14, 1C, 24, 2C, 3C ): // INC r
+ data = ++R8( opcode >> 3, 0 );
+ inc_set_flags:
+ flags = (flags & C01) |
+ (((data & 0x0F) - 1) & H10) |
+ SZ28( (uint8_t) data );
+ if ( data != 0x80 )
+ goto loop;
+ flags |= V04;
+ goto loop;
+
+ case 0x35: // DEC (HL)
+ data = READ( rp.hl ) - 1;
+ WRITE( rp.hl, data );
+ goto dec_set_flags;
+
+ CASE7( 05, 0D, 15, 1D, 25, 2D, 3D ): // DEC r
+ data = --R8( opcode >> 3, 0 );
+ dec_set_flags:
+ flags = (flags & C01) | N02 |
+ (((data & 0x0F) + 1) & H10) |
+ SZ28( (uint8_t) data );
+ if ( data != 0x7F )
+ goto loop;
+ flags |= V04;
+ goto loop;
+
+ case 0x03: // INC BC
+ case 0x13: // INC DE
+ case 0x23: // INC HL
+ R16( opcode, 4, 0x03 )++;
+ goto loop;
+
+ case 0x33: // INC SP
+ sp = uint16_t (sp + 1);
+ goto loop;
+
+ case 0x0B: // DEC BC
+ case 0x1B: // DEC DE
+ case 0x2B: // DEC HL
+ R16( opcode, 4, 0x0B )--;
+ goto loop;
+
+ case 0x3B: // DEC SP
+ sp = uint16_t (sp - 1);
+ goto loop;
+
+// AND
+ case 0xA6: // AND (HL)
+ data = READ( rp.hl );
+ goto and_data;
+
+ case 0xE6: // AND imm
+ pc++;
+ goto and_data;
+
+ CASE7( A0, A1, A2, A3, A4, A5, A7 ): // AND r
+ data = R8( opcode, 0xA0 );
+ and_data:
+ rg.a &= data;
+ flags = SZ28P( rg.a ) | H10;
+ goto loop;
+
+// OR
+ case 0xB6: // OR (HL)
+ data = READ( rp.hl );
+ goto or_data;
+
+ case 0xF6: // OR imm
+ pc++;
+ goto or_data;
+
+ CASE7( B0, B1, B2, B3, B4, B5, B7 ): // OR r
+ data = R8( opcode, 0xB0 );
+ or_data:
+ rg.a |= data;
+ flags = SZ28P( rg.a );
+ goto loop;
+
+// XOR
+ case 0xAE: // XOR (HL)
+ data = READ( rp.hl );
+ goto xor_data;
+
+ case 0xEE: // XOR imm
+ pc++;
+ goto xor_data;
+
+ CASE7( A8, A9, AA, AB, AC, AD, AF ): // XOR r
+ data = R8( opcode, 0xA8 );
+ xor_data:
+ rg.a ^= data;
+ flags = SZ28P( rg.a );
+ goto loop;
+
+// LD
+ CASE7( 70, 71, 72, 73, 74, 75, 77 ): // LD (HL),r
+ WRITE( rp.hl, R8( opcode, 0x70 ) );
+ goto loop;
+
+ CASE6( 41, 42, 43, 44, 45, 47 ): // LD B,r
+ CASE6( 48, 4A, 4B, 4C, 4D, 4F ): // LD C,r
+ CASE6( 50, 51, 53, 54, 55, 57 ): // LD D,r
+ CASE6( 58, 59, 5A, 5C, 5D, 5F ): // LD E,r
+ CASE6( 60, 61, 62, 63, 65, 67 ): // LD H,r
+ CASE6( 68, 69, 6A, 6B, 6C, 6F ): // LD L,r
+ CASE6( 78, 79, 7A, 7B, 7C, 7D ): // LD A,r
+ R8( opcode >> 3 & 7, 0 ) = R8( opcode & 7, 0 );
+ goto loop;
+
+ CASE5( 06, 0E, 16, 1E, 26 ): // LD r,imm
+ R8( opcode >> 3, 0 ) = data;
+ pc++;
+ goto loop;
+
+ case 0x36: // LD (HL),imm
+ pc++;
+ WRITE( rp.hl, data );
+ goto loop;
+
+ CASE7( 46, 4E, 56, 5E, 66, 6E, 7E ): // LD r,(HL)
+ R8( opcode >> 3, 8 ) = READ( rp.hl );
+ goto loop;
+
+ case 0x01: // LD rp,imm
+ case 0x11:
+ case 0x21:
+ R16( opcode, 4, 0x01 ) = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ case 0x31: // LD sp,imm
+ sp = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ case 0x2A:{// LD HL,(addr)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ rp.hl = READ_WORD( addr );
+ goto loop;
+ }
+
+ case 0x32:{// LD (addr),A
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE( addr, rg.a );
+ goto loop;
+ }
+
+ case 0x22:{// LD (addr),HL
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE_WORD( addr, rp.hl );
+ goto loop;
+ }
+
+ case 0x02: // LD (BC),A
+ case 0x12: // LD (DE),A
+ WRITE( R16( opcode, 4, 0x02 ), rg.a );
+ goto loop;
+
+ case 0x0A: // LD A,(BC)
+ case 0x1A: // LD A,(DE)
+ rg.a = READ( R16( opcode, 4, 0x0A ) );
+ goto loop;
+
+ case 0xF9: // LD SP,HL
+ sp = rp.hl;
+ goto loop;
+
+// Rotate
+
+ case 0x07:{// RLCA
+ fuint16 temp = rg.a;
+ temp = (temp << 1) | (temp >> 7);
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & (F20 | F08 | C01));
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x0F:{// RRCA
+ fuint16 temp = rg.a;
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & C01);
+ temp = (temp << 7) | (temp >> 1);
+ flags |= temp & (F20 | F08);
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x17:{// RLA
+ blargg_ulong temp = (rg.a << 1) | (flags & C01);
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & (F20 | F08)) |
+ (temp >> 8);
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x1F:{// RRA
+ fuint16 temp = (flags << 7) | (rg.a >> 1);
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & (F20 | F08)) |
+ (rg.a & C01);
+ rg.a = temp;
+ goto loop;
+ }
+
+// Misc
+ case 0x2F:{// CPL
+ fuint16 temp = ~rg.a;
+ flags = (flags & (S80 | Z40 | P04 | C01)) |
+ (temp & (F20 | F08)) |
+ (H10 | N02);
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x3F:{// CCF
+ flags = ((flags & (S80 | Z40 | P04 | C01)) ^ C01) |
+ (flags << 4 & H10) |
+ (rg.a & (F20 | F08));
+ goto loop;
+ }
+
+ case 0x37: // SCF
+ flags = (flags & (S80 | Z40 | P04)) | C01 |
+ (rg.a & (F20 | F08));
+ goto loop;
+
+ case 0xDB: // IN A,(imm)
+ pc++;
+ rg.a = IN( data + rg.a * 0x100 );
+ goto loop;
+
+ case 0xE3:{// EX (SP),HL
+ fuint16 temp = READ_WORD( sp );
+ WRITE_WORD( sp, rp.hl );
+ rp.hl = temp;
+ goto loop;
+ }
+
+ case 0xEB:{// EX DE,HL
+ fuint16 temp = rp.hl;
+ rp.hl = rp.de;
+ rp.de = temp;
+ goto loop;
+ }
+
+ case 0xD9:{// EXX DE,HL
+ fuint16 temp = r.alt.w.bc;
+ r.alt.w.bc = rp.bc;
+ rp.bc = temp;
+
+ temp = r.alt.w.de;
+ r.alt.w.de = rp.de;
+ rp.de = temp;
+
+ temp = r.alt.w.hl;
+ r.alt.w.hl = rp.hl;
+ rp.hl = temp;
+ goto loop;
+ }
+
+ case 0xF3: // DI
+ r.iff1 = 0;
+ r.iff2 = 0;
+ goto loop;
+
+ case 0xFB: // EI
+ r.iff1 = 1;
+ r.iff2 = 1;
+ // TODO: delayed effect
+ goto loop;
+
+ case 0x76: // HALT
+ goto halt;
+
+//////////////////////////////////////// CB prefix
+ {
+ case 0xCB:
+ unsigned data2;
+ data2 = INSTR( 1 );
+ pc++;
+ switch ( data )
+ {
+
+ // Rotate left
+
+ #define RLC( read, write ) {\
+ fuint8 result = read;\
+ result = uint8_t (result << 1) | (result >> 7);\
+ flags = SZ28P( result ) | (result & C01);\
+ write;\
+ goto loop;\
+ }
+
+ case 0x06: // RLC (HL)
+ s_time += 7;
+ data = rp.hl;
+ rlc_data_addr:
+ RLC( READ( data ), WRITE( data, result ) )
+
+ CASE7( 00, 01, 02, 03, 04, 05, 07 ):{// RLC r
+ uint8_t& reg = R8( data, 0 );
+ RLC( reg, reg = result )
+ }
+
+ #define RL( read, write ) {\
+ fuint16 result = (read << 1) | (flags & C01);\
+ flags = SZ28PC( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x16: // RL (HL)
+ s_time += 7;
+ data = rp.hl;
+ rl_data_addr:
+ RL( READ( data ), WRITE( data, result ) )
+
+ CASE7( 10, 11, 12, 13, 14, 15, 17 ):{// RL r
+ uint8_t& reg = R8( data, 0x10 );
+ RL( reg, reg = result )
+ }
+
+ #define SLA( read, add, write ) {\
+ fuint16 result = (read << 1) | add;\
+ flags = SZ28PC( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x26: // SLA (HL)
+ s_time += 7;
+ data = rp.hl;
+ sla_data_addr:
+ SLA( READ( data ), 0, WRITE( data, result ) )
+
+ CASE7( 20, 21, 22, 23, 24, 25, 27 ):{// SLA r
+ uint8_t& reg = R8( data, 0x20 );
+ SLA( reg, 0, reg = result )
+ }
+
+ case 0x36: // SLL (HL)
+ s_time += 7;
+ data = rp.hl;
+ sll_data_addr:
+ SLA( READ( data ), 1, WRITE( data, result ) )
+
+ CASE7( 30, 31, 32, 33, 34, 35, 37 ):{// SLL r
+ uint8_t& reg = R8( data, 0x30 );
+ SLA( reg, 1, reg = result )
+ }
+
+ // Rotate right
+
+ #define RRC( read, write ) {\
+ fuint8 result = read;\
+ flags = result & C01;\
+ result = uint8_t (result << 7) | (result >> 1);\
+ flags |= SZ28P( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x0E: // RRC (HL)
+ s_time += 7;
+ data = rp.hl;
+ rrc_data_addr:
+ RRC( READ( data ), WRITE( data, result ) )
+
+ CASE7( 08, 09, 0A, 0B, 0C, 0D, 0F ):{// RRC r
+ uint8_t& reg = R8( data, 0x08 );
+ RRC( reg, reg = result )
+ }
+
+ #define RR( read, write ) {\
+ fuint8 result = read;\
+ fuint8 temp = result & C01;\
+ result = uint8_t (flags << 7) | (result >> 1);\
+ flags = SZ28P( result ) | temp;\
+ write;\
+ goto loop;\
+ }
+
+ case 0x1E: // RR (HL)
+ s_time += 7;
+ data = rp.hl;
+ rr_data_addr:
+ RR( READ( data ), WRITE( data, result ) )
+
+ CASE7( 18, 19, 1A, 1B, 1C, 1D, 1F ):{// RR r
+ uint8_t& reg = R8( data, 0x18 );
+ RR( reg, reg = result )
+ }
+
+ #define SRA( read, write ) {\
+ fuint8 result = read;\
+ flags = result & C01;\
+ result = (result & 0x80) | (result >> 1);\
+ flags |= SZ28P( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x2E: // SRA (HL)
+ data = rp.hl;
+ s_time += 7;
+ sra_data_addr:
+ SRA( READ( data ), WRITE( data, result ) )
+
+ CASE7( 28, 29, 2A, 2B, 2C, 2D, 2F ):{// SRA r
+ uint8_t& reg = R8( data, 0x28 );
+ SRA( reg, reg = result )
+ }
+
+ #define SRL( read, write ) {\
+ fuint8 result = read;\
+ flags = result & C01;\
+ result >>= 1;\
+ flags |= SZ28P( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x3E: // SRL (HL)
+ s_time += 7;
+ data = rp.hl;
+ srl_data_addr:
+ SRL( READ( data ), WRITE( data, result ) )
+
+ CASE7( 38, 39, 3A, 3B, 3C, 3D, 3F ):{// SRL r
+ uint8_t& reg = R8( data, 0x38 );
+ SRL( reg, reg = result )
+ }
+
+ // BIT
+ {
+ unsigned temp;
+ CASE8( 46, 4E, 56, 5E, 66, 6E, 76, 7E ): // BIT b,(HL)
+ s_time += 4;
+ temp = READ( rp.hl );
+ flags &= C01;
+ goto bit_temp;
+ CASE7( 40, 41, 42, 43, 44, 45, 47 ): // BIT 0,r
+ CASE7( 48, 49, 4A, 4B, 4C, 4D, 4F ): // BIT 1,r
+ CASE7( 50, 51, 52, 53, 54, 55, 57 ): // BIT 2,r
+ CASE7( 58, 59, 5A, 5B, 5C, 5D, 5F ): // BIT 3,r
+ CASE7( 60, 61, 62, 63, 64, 65, 67 ): // BIT 4,r
+ CASE7( 68, 69, 6A, 6B, 6C, 6D, 6F ): // BIT 5,r
+ CASE7( 70, 71, 72, 73, 74, 75, 77 ): // BIT 6,r
+ CASE7( 78, 79, 7A, 7B, 7C, 7D, 7F ): // BIT 7,r
+ temp = R8( data & 7, 0 );
+ flags = (flags & C01) | (temp & (F20 | F08));
+ bit_temp:
+ int masked = temp & 1 << (data >> 3 & 7);
+ flags |=(masked & S80) | H10 |
+ ((masked - 1) >> 8 & (Z40 | P04));
+ goto loop;
+ }
+
+ // SET/RES
+ CASE8( 86, 8E, 96, 9E, A6, AE, B6, BE ): // RES b,(HL)
+ CASE8( C6, CE, D6, DE, E6, EE, F6, FE ):{// SET b,(HL)
+ s_time += 7;
+ int temp = READ( rp.hl );
+ int bit = 1 << (data >> 3 & 7);
+ temp |= bit; // SET
+ if ( !(data & 0x40) )
+ temp ^= bit; // RES
+ WRITE( rp.hl, temp );
+ goto loop;
+ }
+
+ CASE7( C0, C1, C2, C3, C4, C5, C7 ): // SET 0,r
+ CASE7( C8, C9, CA, CB, CC, CD, CF ): // SET 1,r
+ CASE7( D0, D1, D2, D3, D4, D5, D7 ): // SET 2,r
+ CASE7( D8, D9, DA, DB, DC, DD, DF ): // SET 3,r
+ CASE7( E0, E1, E2, E3, E4, E5, E7 ): // SET 4,r
+ CASE7( E8, E9, EA, EB, EC, ED, EF ): // SET 5,r
+ CASE7( F0, F1, F2, F3, F4, F5, F7 ): // SET 6,r
+ CASE7( F8, F9, FA, FB, FC, FD, FF ): // SET 7,r
+ R8( data & 7, 0 ) |= 1 << (data >> 3 & 7);
+ goto loop;
+
+ CASE7( 80, 81, 82, 83, 84, 85, 87 ): // RES 0,r
+ CASE7( 88, 89, 8A, 8B, 8C, 8D, 8F ): // RES 1,r
+ CASE7( 90, 91, 92, 93, 94, 95, 97 ): // RES 2,r
+ CASE7( 98, 99, 9A, 9B, 9C, 9D, 9F ): // RES 3,r
+ CASE7( A0, A1, A2, A3, A4, A5, A7 ): // RES 4,r
+ CASE7( A8, A9, AA, AB, AC, AD, AF ): // RES 5,r
+ CASE7( B0, B1, B2, B3, B4, B5, B7 ): // RES 6,r
+ CASE7( B8, B9, BA, BB, BC, BD, BF ): // RES 7,r
+ R8( data & 7, 0 ) &= ~(1 << (data >> 3 & 7));
+ goto loop;
+ }
+ assert( false );
+ }
+
+//////////////////////////////////////// ED prefix
+ {
+ case 0xED:
+ pc++;
+ s_time += ed_dd_timing [data] >> 4;
+ switch ( data )
+ {
+ {
+ blargg_ulong temp;
+ case 0x72: // SBC HL,SP
+ case 0x7A: // ADC HL,SP
+ temp = sp;
+ if ( 0 )
+ case 0x42: // SBC HL,BC
+ case 0x52: // SBC HL,DE
+ case 0x62: // SBC HL,HL
+ case 0x4A: // ADC HL,BC
+ case 0x5A: // ADC HL,DE
+ case 0x6A: // ADC HL,HL
+ temp = R16( data >> 3 & 6, 1, 0 );
+ blargg_ulong sum = temp + (flags & C01);
+ flags = ~data >> 2 & N02;
+ if ( flags )
+ sum = -sum;
+ sum += rp.hl;
+ temp ^= rp.hl;
+ temp ^= sum;
+ flags |=(sum >> 16 & C01) |
+ (temp >> 8 & H10) |
+ (sum >> 8 & (S80 | F20 | F08)) |
+ ((temp - -0x8000) >> 14 & V04);
+ rp.hl = sum;
+ if ( (uint16_t) sum )
+ goto loop;
+ flags |= Z40;
+ goto loop;
+ }
+
+ CASE8( 40, 48, 50, 58, 60, 68, 70, 78 ):{// IN r,(C)
+ int temp = IN( rp.bc );
+ R8( data >> 3, 8 ) = temp;
+ flags = (flags & C01) | SZ28P( temp );
+ goto loop;
+ }
+
+ case 0x71: // OUT (C),0
+ rg.flags = 0;
+ CASE7( 41, 49, 51, 59, 61, 69, 79 ): // OUT (C),r
+ OUT( rp.bc, R8( data >> 3, 8 ) );
+ goto loop;
+
+ {
+ unsigned temp;
+ case 0x73: // LD (ADDR),SP
+ temp = sp;
+ if ( 0 )
+ case 0x43: // LD (ADDR),BC
+ case 0x53: // LD (ADDR),DE
+ temp = R16( data, 4, 0x43 );
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE_WORD( addr, temp );
+ goto loop;
+ }
+
+ case 0x4B: // LD BC,(ADDR)
+ case 0x5B:{// LD DE,(ADDR)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ R16( data, 4, 0x4B ) = READ_WORD( addr );
+ goto loop;
+ }
+
+ case 0x7B:{// LD SP,(ADDR)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ sp = READ_WORD( addr );
+ goto loop;
+ }
+
+ case 0x67:{// RRD
+ fuint8 temp = READ( rp.hl );
+ WRITE( rp.hl, (rg.a << 4) | (temp >> 4) );
+ temp = (rg.a & 0xF0) | (temp & 0x0F);
+ flags = (flags & C01) | SZ28P( temp );
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x6F:{// RLD
+ fuint8 temp = READ( rp.hl );
+ WRITE( rp.hl, (temp << 4) | (rg.a & 0x0F) );
+ temp = (rg.a & 0xF0) | (temp >> 4);
+ flags = (flags & C01) | SZ28P( temp );
+ rg.a = temp;
+ goto loop;
+ }
+
+ CASE8( 44, 4C, 54, 5C, 64, 6C, 74, 7C ): // NEG
+ opcode = 0x10; // flag to do SBC instead of ADC
+ flags &= ~C01;
+ data = rg.a;
+ rg.a = 0;
+ goto adc_data;
+
+ {
+ int inc;
+ case 0xA9: // CPD
+ case 0xB9: // CPDR
+ inc = -1;
+ if ( 0 )
+ case 0xA1: // CPI
+ case 0xB1: // CPIR
+ inc = +1;
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+ int temp = READ( addr );
+
+ int result = rg.a - temp;
+ flags = (flags & C01) | N02 |
+ ((((temp ^ rg.a) & H10) ^ result) & (S80 | H10));
+
+ if ( !(uint8_t) result ) flags |= Z40;
+ result -= (flags & H10) >> 4;
+ flags |= result & F08;
+ flags |= result << 4 & F20;
+ if ( !--rp.bc )
+ goto loop;
+
+ flags |= V04;
+ if ( flags & Z40 || data < 0xB0 )
+ goto loop;
+
+ pc -= 2;
+ s_time += 5;
+ goto loop;
+ }
+
+ {
+ int inc;
+ case 0xA8: // LDD
+ case 0xB8: // LDDR
+ inc = -1;
+ if ( 0 )
+ case 0xA0: // LDI
+ case 0xB0: // LDIR
+ inc = +1;
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+ int temp = READ( addr );
+
+ addr = rp.de;
+ rp.de = addr + inc;
+ WRITE( addr, temp );
+
+ temp += rg.a;
+ flags = (flags & (S80 | Z40 | C01)) |
+ (temp & F08) | (temp << 4 & F20);
+ if ( !--rp.bc )
+ goto loop;
+
+ flags |= V04;
+ if ( data < 0xB0 )
+ goto loop;
+
+ pc -= 2;
+ s_time += 5;
+ goto loop;
+ }
+
+ {
+ int inc;
+ case 0xAB: // OUTD
+ case 0xBB: // OTDR
+ inc = -1;
+ if ( 0 )
+ case 0xA3: // OUTI
+ case 0xB3: // OTIR
+ inc = +1;
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+ int temp = READ( addr );
+
+ int b = --rg.b;
+ flags = (temp >> 6 & N02) | SZ28( b );
+ if ( b && data >= 0xB0 )
+ {
+ pc -= 2;
+ s_time += 5;
+ }
+
+ OUT( rp.bc, temp );
+ goto loop;
+ }
+
+ {
+ int inc;
+ case 0xAA: // IND
+ case 0xBA: // INDR
+ inc = -1;
+ if ( 0 )
+ case 0xA2: // INI
+ case 0xB2: // INIR
+ inc = +1;
+
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+
+ int temp = IN( rp.bc );
+
+ int b = --rg.b;
+ flags = (temp >> 6 & N02) | SZ28( b );
+ if ( b && data >= 0xB0 )
+ {
+ pc -= 2;
+ s_time += 5;
+ }
+
+ WRITE( addr, temp );
+ goto loop;
+ }
+
+ case 0x47: // LD I,A
+ r.i = rg.a;
+ goto loop;
+
+ case 0x4F: // LD R,A
+ SET_R( rg.a );
+ debug_printf( "LD R,A not supported\n" );
+ warning = true;
+ goto loop;
+
+ case 0x57: // LD A,I
+ rg.a = r.i;
+ goto ld_ai_common;
+
+ case 0x5F: // LD A,R
+ rg.a = GET_R();
+ debug_printf( "LD A,R not supported\n" );
+ warning = true;
+ ld_ai_common:
+ flags = (flags & C01) | SZ28( rg.a ) | (r.iff2 << 2 & V04);
+ goto loop;
+
+ CASE8( 45, 4D, 55, 5D, 65, 6D, 75, 7D ): // RETI/RETN
+ r.iff1 = r.iff2;
+ goto ret_taken;
+
+ case 0x46: case 0x4E: case 0x66: case 0x6E: // IM 0
+ r.im = 0;
+ goto loop;
+
+ case 0x56: case 0x76: // IM 1
+ r.im = 1;
+ goto loop;
+
+ case 0x5E: case 0x7E: // IM 2
+ r.im = 2;
+ goto loop;
+
+ default:
+ debug_printf( "Opcode $ED $%02X not supported\n", data );
+ warning = true;
+ goto loop;
+ }
+ assert( false );
+ }
+
+//////////////////////////////////////// DD/FD prefix
+ {
+ fuint16 ixy;
+ case 0xDD:
+ ixy = ix;
+ goto ix_prefix;
+ case 0xFD:
+ ixy = iy;
+ ix_prefix:
+ pc++;
+ unsigned data2 = READ_PROG( pc );
+ s_time += ed_dd_timing [data] & 0x0F;
+ switch ( data )
+ {
+ // TODO: more efficient way of avoid negative address
+ #define IXY_DISP( ixy, disp ) uint16_t ((ixy) + (disp))
+
+ #define SET_IXY( in ) if ( opcode == 0xDD ) ix = in; else iy = in;
+
+ // ADD/ADC/SUB/SBC
+
+ case 0x96: // SUB (IXY+disp)
+ case 0x86: // ADD (IXY+disp)
+ flags &= ~C01;
+ case 0x9E: // SBC (IXY+disp)
+ case 0x8E: // ADC (IXY+disp)
+ pc++;
+ opcode = data;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto adc_data;
+
+ case 0x94: // SUB HXY
+ case 0x84: // ADD HXY
+ flags &= ~C01;
+ case 0x9C: // SBC HXY
+ case 0x8C: // ADC HXY
+ opcode = data;
+ data = ixy >> 8;
+ goto adc_data;
+
+ case 0x95: // SUB LXY
+ case 0x85: // ADD LXY
+ flags &= ~C01;
+ case 0x9D: // SBC LXY
+ case 0x8D: // ADC LXY
+ opcode = data;
+ data = (uint8_t) ixy;
+ goto adc_data;
+
+ {
+ unsigned temp;
+ case 0x39: // ADD IXY,SP
+ temp = sp;
+ goto add_ixy_data;
+
+ case 0x29: // ADD IXY,HL
+ temp = ixy;
+ goto add_ixy_data;
+
+ case 0x09: // ADD IXY,BC
+ case 0x19: // ADD IXY,DE
+ temp = R16( data, 4, 0x09 );
+ add_ixy_data: {
+ blargg_ulong sum = ixy + temp;
+ temp ^= ixy;
+ ixy = (uint16_t) sum;
+ flags = (flags & (S80 | Z40 | V04)) |
+ (sum >> 16) |
+ (sum >> 8 & (F20 | F08)) |
+ ((temp ^ sum) >> 8 & H10);
+ goto set_ixy;
+ }
+ }
+
+ // AND
+ case 0xA6: // AND (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto and_data;
+
+ case 0xA4: // AND HXY
+ data = ixy >> 8;
+ goto and_data;
+
+ case 0xA5: // AND LXY
+ data = (uint8_t) ixy;
+ goto and_data;
+
+ // OR
+ case 0xB6: // OR (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto or_data;
+
+ case 0xB4: // OR HXY
+ data = ixy >> 8;
+ goto or_data;
+
+ case 0xB5: // OR LXY
+ data = (uint8_t) ixy;
+ goto or_data;
+
+ // XOR
+ case 0xAE: // XOR (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto xor_data;
+
+ case 0xAC: // XOR HXY
+ data = ixy >> 8;
+ goto xor_data;
+
+ case 0xAD: // XOR LXY
+ data = (uint8_t) ixy;
+ goto xor_data;
+
+ // CP
+ case 0xBE: // CP (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto cp_data;
+
+ case 0xBC: // CP HXY
+ data = ixy >> 8;
+ goto cp_data;
+
+ case 0xBD: // CP LXY
+ data = (uint8_t) ixy;
+ goto cp_data;
+
+ // LD
+ CASE7( 70, 71, 72, 73, 74, 75, 77 ): // LD (IXY+disp),r
+ data = R8( data, 0x70 );
+ if ( 0 )
+ case 0x36: // LD (IXY+disp),imm
+ pc++, data = READ_PROG( pc );
+ pc++;
+ WRITE( IXY_DISP( ixy, (int8_t) data2 ), data );
+ goto loop;
+
+ CASE5( 44, 4C, 54, 5C, 7C ): // LD r,HXY
+ R8( data >> 3, 8 ) = ixy >> 8;
+ goto loop;
+
+ case 0x64: // LD HXY,HXY
+ case 0x6D: // LD LXY,LXY
+ goto loop;
+
+ CASE5( 45, 4D, 55, 5D, 7D ): // LD r,LXY
+ R8( data >> 3, 8 ) = ixy;
+ goto loop;
+
+ CASE7( 46, 4E, 56, 5E, 66, 6E, 7E ): // LD r,(IXY+disp)
+ pc++;
+ R8( data >> 3, 8 ) = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto loop;
+
+ case 0x26: // LD HXY,imm
+ pc++;
+ goto ld_hxy_data;
+
+ case 0x65: // LD HXY,LXY
+ data2 = (uint8_t) ixy;
+ goto ld_hxy_data;
+
+ CASE5( 60, 61, 62, 63, 67 ): // LD HXY,r
+ data2 = R8( data, 0x60 );
+ ld_hxy_data:
+ ixy = (uint8_t) ixy | (data2 << 8);
+ goto set_ixy;
+
+ case 0x2E: // LD LXY,imm
+ pc++;
+ goto ld_lxy_data;
+
+ case 0x6C: // LD LXY,HXY
+ data2 = ixy >> 8;
+ goto ld_lxy_data;
+
+ CASE5( 68, 69, 6A, 6B, 6F ): // LD LXY,r
+ data2 = R8( data, 0x68 );
+ ld_lxy_data:
+ ixy = (ixy & 0xFF00) | data2;
+ set_ixy:
+ if ( opcode == 0xDD )
+ {
+ ix = ixy;
+ goto loop;
+ }
+ iy = ixy;
+ goto loop;
+
+ case 0xF9: // LD SP,IXY
+ sp = ixy;
+ goto loop;
+
+ case 0x22:{// LD (ADDR),IXY
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE_WORD( addr, ixy );
+ goto loop;
+ }
+
+ case 0x21: // LD IXY,imm
+ ixy = GET_ADDR();
+ pc += 2;
+ goto set_ixy;
+
+ case 0x2A:{// LD IXY,(addr)
+ fuint16 addr = GET_ADDR();
+ ixy = READ_WORD( addr );
+ pc += 2;
+ goto set_ixy;
+ }
+
+ // DD/FD CB prefix
+ case 0xCB: {
+ data = IXY_DISP( ixy, (int8_t) data2 );
+ pc++;
+ data2 = READ_PROG( pc );
+ pc++;
+ switch ( data2 )
+ {
+ case 0x06: goto rlc_data_addr; // RLC (IXY)
+ case 0x16: goto rl_data_addr; // RL (IXY)
+ case 0x26: goto sla_data_addr; // SLA (IXY)
+ case 0x36: goto sll_data_addr; // SLL (IXY)
+ case 0x0E: goto rrc_data_addr; // RRC (IXY)
+ case 0x1E: goto rr_data_addr; // RR (IXY)
+ case 0x2E: goto sra_data_addr; // SRA (IXY)
+ case 0x3E: goto srl_data_addr; // SRL (IXY)
+
+ CASE8( 46, 4E, 56, 5E, 66, 6E, 76, 7E ):{// BIT b,(IXY+disp)
+ fuint8 temp = READ( data );
+ int masked = temp & 1 << (data2 >> 3 & 7);
+ flags = (flags & C01) | H10 |
+ (masked & S80) |
+ ((masked - 1) >> 8 & (Z40 | P04));
+ goto loop;
+ }
+
+ CASE8( 86, 8E, 96, 9E, A6, AE, B6, BE ): // RES b,(IXY+disp)
+ CASE8( C6, CE, D6, DE, E6, EE, F6, FE ):{// SET b,(IXY+disp)
+ int temp = READ( data );
+ int bit = 1 << (data2 >> 3 & 7);
+ temp |= bit; // SET
+ if ( !(data2 & 0x40) )
+ temp ^= bit; // RES
+ WRITE( data, temp );
+ goto loop;
+ }
+
+ default:
+ debug_printf( "Opcode $%02X $CB $%02X not supported\n", opcode, data2 );
+ warning = true;
+ goto loop;
+ }
+ assert( false );
+ }
+
+ // INC/DEC
+ case 0x23: // INC IXY
+ ixy = uint16_t (ixy + 1);
+ goto set_ixy;
+
+ case 0x2B: // DEC IXY
+ ixy = uint16_t (ixy - 1);
+ goto set_ixy;
+
+ case 0x34: // INC (IXY+disp)
+ ixy = IXY_DISP( ixy, (int8_t) data2 );
+ pc++;
+ data = READ( ixy ) + 1;
+ WRITE( ixy, data );
+ goto inc_set_flags;
+
+ case 0x35: // DEC (IXY+disp)
+ ixy = IXY_DISP( ixy, (int8_t) data2 );
+ pc++;
+ data = READ( ixy ) - 1;
+ WRITE( ixy, data );
+ goto dec_set_flags;
+
+ case 0x24: // INC HXY
+ ixy = uint16_t (ixy + 0x100);
+ data = ixy >> 8;
+ goto inc_xy_common;
+
+ case 0x2C: // INC LXY
+ data = uint8_t (ixy + 1);
+ ixy = (ixy & 0xFF00) | data;
+ inc_xy_common:
+ if ( opcode == 0xDD )
+ {
+ ix = ixy;
+ goto inc_set_flags;
+ }
+ iy = ixy;
+ goto inc_set_flags;
+
+ case 0x25: // DEC HXY
+ ixy = uint16_t (ixy - 0x100);
+ data = ixy >> 8;
+ goto dec_xy_common;
+
+ case 0x2D: // DEC LXY
+ data = uint8_t (ixy - 1);
+ ixy = (ixy & 0xFF00) | data;
+ dec_xy_common:
+ if ( opcode == 0xDD )
+ {
+ ix = ixy;
+ goto dec_set_flags;
+ }
+ iy = ixy;
+ goto dec_set_flags;
+
+ // PUSH/POP
+ case 0xE5: // PUSH IXY
+ data = ixy;
+ goto push_data;
+
+ case 0xE1:{// POP IXY
+ ixy = READ_WORD( sp );
+ sp = uint16_t (sp + 2);
+ goto set_ixy;
+ }
+
+ // Misc
+
+ case 0xE9: // JP (IXY)
+ pc = ixy;
+ goto loop;
+
+ case 0xE3:{// EX (SP),IXY
+ fuint16 temp = READ_WORD( sp );
+ WRITE_WORD( sp, ixy );
+ ixy = temp;
+ goto set_ixy;
+ }
+
+ default:
+ debug_printf( "Unnecessary DD/FD prefix encountered\n" );
+ warning = true;
+ pc--;
+ goto loop;
+ }
+ assert( false );
+ }
+
+ }
+ debug_printf( "Unhandled main opcode: $%02X\n", opcode );
+ assert( false );
+
+halt:
+ s_time &= 3; // increment by multiple of 4
+out_of_time:
+ pc--;
+
+ s.time = s_time;
+ rg.flags = flags;
+ r.ix = ix;
+ r.iy = iy;
+ r.sp = sp;
+ r.pc = pc;
+ this->r.b = rg;
+ this->state_ = s;
+ this->state = &this->state_;
+
+ return warning;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Ay_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Ay_Cpu.h
new file mode 100644
index 00000000..2f4d351e
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ay_Cpu.h
@@ -0,0 +1,92 @@
+// Z80 CPU emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef AY_CPU_H
+#define AY_CPU_H
+
+#include "blargg_endian.h"
+
+typedef blargg_long cpu_time_t;
+
+// must be defined by caller
+void ay_cpu_out( class Ay_Cpu*, cpu_time_t, unsigned addr, int data );
+int ay_cpu_in( class Ay_Cpu*, unsigned addr );
+
+class Ay_Cpu {
+public:
+ // Clear all registers and keep pointer to 64K memory passed in
+ void reset( void* mem_64k );
+
+ // Run until specified time is reached. Returns true if suspicious/unsupported
+ // instruction was encountered at any point during run.
+ bool run( cpu_time_t end_time );
+
+ // Time of beginning of next instruction
+ cpu_time_t time() const { return state->time + state->base; }
+
+ // Alter current time. Not supported during run() call.
+ void set_time( cpu_time_t t ) { state->time = t - state->base; }
+ void adjust_time( int delta ) { state->time += delta; }
+
+ typedef BOOST::uint8_t uint8_t;
+ typedef BOOST::uint16_t uint16_t;
+
+ #if BLARGG_BIG_ENDIAN
+ struct regs_t { uint8_t b, c, d, e, h, l, flags, a; };
+ #else
+ struct regs_t { uint8_t c, b, e, d, l, h, a, flags; };
+ #endif
+ BOOST_STATIC_ASSERT( sizeof (regs_t) == 8 );
+
+ struct pairs_t { uint16_t bc, de, hl, fa; };
+
+ // Registers are not updated until run() returns
+ struct registers_t {
+ uint16_t pc;
+ uint16_t sp;
+ uint16_t ix;
+ uint16_t iy;
+ union {
+ regs_t b; // b.b, b.c, b.d, b.e, b.h, b.l, b.flags, b.a
+ pairs_t w; // w.bc, w.de, w.hl. w.fa
+ };
+ union {
+ regs_t b;
+ pairs_t w;
+ } alt;
+ uint8_t iff1;
+ uint8_t iff2;
+ uint8_t r;
+ uint8_t i;
+ uint8_t im;
+ };
+ //registers_t r; (below for efficiency)
+
+ // can read this far past end of memory
+ enum { cpu_padding = 0x100 };
+
+public:
+ Ay_Cpu();
+private:
+ uint8_t szpc [0x200];
+ uint8_t* mem;
+ cpu_time_t end_time_;
+ struct state_t {
+ cpu_time_t base;
+ cpu_time_t time;
+ };
+ state_t* state; // points to state_ or a local copy within run()
+ state_t state_;
+ void set_end_time( cpu_time_t t );
+public:
+ registers_t r;
+};
+
+inline void Ay_Cpu::set_end_time( cpu_time_t t )
+{
+ cpu_time_t delta = state->base - t;
+ state->base = t;
+ state->time += delta;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Ay_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Ay_Emu.cpp
new file mode 100644
index 00000000..0ee592e3
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ay_Emu.cpp
@@ -0,0 +1,405 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Ay_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+long const spectrum_clock = 3546900;
+long const cpc_clock = 2000000;
+
+unsigned const ram_start = 0x4000;
+int const osc_count = Ay_Apu::osc_count + 1;
+
+Ay_Emu::Ay_Emu()
+{
+ beeper_output = 0;
+ set_type( gme_ay_type );
+
+ static const char* const names [osc_count] = {
+ "Wave 1", "Wave 2", "Wave 3", "Beeper"
+ };
+ set_voice_names( names );
+
+ static int const types [osc_count] = {
+ wave_type | 0, wave_type | 1, wave_type | 2, mixed_type | 0
+ };
+ set_voice_types( types );
+ set_silence_lookahead( 6 );
+}
+
+Ay_Emu::~Ay_Emu() { }
+
+// Track info
+
+static byte const* get_data( Ay_Emu::file_t const& file, byte const* ptr, int min_size )
+{
+ long pos = ptr - (byte const*) file.header;
+ long file_size = file.end - (byte const*) file.header;
+ assert( (unsigned long) pos <= (unsigned long) file_size - 2 );
+ int offset = (BOOST::int16_t) get_be16( ptr );
+ if ( !offset || blargg_ulong (pos + offset) > blargg_ulong (file_size - min_size) )
+ return 0;
+ return ptr + offset;
+}
+
+static blargg_err_t parse_header( byte const* in, long size, Ay_Emu::file_t* out )
+{
+ typedef Ay_Emu::header_t header_t;
+ out->header = (header_t const*) in;
+ out->end = in + size;
+
+ if ( size < Ay_Emu::header_size )
+ return gme_wrong_file_type;
+
+ header_t const& h = *(header_t const*) in;
+ if ( memcmp( h.tag, "ZXAYEMUL", 8 ) )
+ return gme_wrong_file_type;
+
+ out->tracks = get_data( *out, h.track_info, (h.max_track + 1) * 4 );
+ if ( !out->tracks )
+ return "Missing track data";
+
+ return 0;
+}
+
+static void copy_ay_fields( Ay_Emu::file_t const& file, track_info_t* out, int track )
+{
+ Gme_File::copy_field_( out->song, (char const*) get_data( file, file.tracks + track * 4, 1 ) );
+ byte const* track_info = get_data( file, file.tracks + track * 4 + 2, 6 );
+ if ( track_info )
+ out->length = get_be16( track_info + 4 ) * (1000L / 50); // frames to msec
+
+ Gme_File::copy_field_( out->author, (char const*) get_data( file, file.header->author, 1 ) );
+ Gme_File::copy_field_( out->comment, (char const*) get_data( file, file.header->comment, 1 ) );
+}
+
+blargg_err_t Ay_Emu::track_info_( track_info_t* out, int track ) const
+{
+ copy_ay_fields( file, out, track );
+ return 0;
+}
+
+struct Ay_File : Gme_Info_
+{
+ Ay_Emu::file_t file;
+
+ Ay_File() { set_type( gme_ay_type ); }
+
+ blargg_err_t load_mem_( byte const* begin, long size )
+ {
+ RETURN_ERR( parse_header( begin, size, &file ) );
+ set_track_count( file.header->max_track + 1 );
+ return 0;
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int track ) const
+ {
+ copy_ay_fields( file, out, track );
+ return 0;
+ }
+};
+
+static Music_Emu* new_ay_emu () { return BLARGG_NEW Ay_Emu ; }
+static Music_Emu* new_ay_file() { return BLARGG_NEW Ay_File; }
+
+static gme_type_t_ const gme_ay_type_ = { "ZX Spectrum", 0, &new_ay_emu, &new_ay_file, "AY", 1 };
+gme_type_t const gme_ay_type = &gme_ay_type_;
+
+// Setup
+
+blargg_err_t Ay_Emu::load_mem_( byte const* in, long size )
+{
+ assert( offsetof (header_t,track_info [2]) == header_size );
+
+ RETURN_ERR( parse_header( in, size, &file ) );
+ set_track_count( file.header->max_track + 1 );
+
+ if ( file.header->vers > 2 )
+ set_warning( "Unknown file version" );
+
+ set_voice_count( osc_count );
+ apu.volume( gain() );
+
+ return setup_buffer( spectrum_clock );
+}
+
+void Ay_Emu::update_eq( blip_eq_t const& eq )
+{
+ apu.treble_eq( eq );
+}
+
+void Ay_Emu::set_voice( int i, Blip_Buffer* center, Blip_Buffer*, Blip_Buffer* )
+{
+ if ( i >= Ay_Apu::osc_count )
+ beeper_output = center;
+ else
+ apu.osc_output( i, center );
+}
+
+// Emulation
+
+void Ay_Emu::set_tempo_( double t )
+{
+ play_period = blip_time_t (clock_rate() / 50 / t);
+}
+
+blargg_err_t Ay_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+
+ memset( mem.ram + 0x0000, 0xC9, 0x100 ); // fill RST vectors with RET
+ memset( mem.ram + 0x0100, 0xFF, 0x4000 - 0x100 );
+ memset( mem.ram + ram_start, 0x00, sizeof mem.ram - ram_start );
+ memset( mem.padding1, 0xFF, sizeof mem.padding1 );
+ memset( mem.ram + 0x10000, 0xFF, sizeof mem.ram - 0x10000 );
+
+ // locate data blocks
+ byte const* const data = get_data( file, file.tracks + track * 4 + 2, 14 );
+ if ( !data ) return "File data missing";
+
+ byte const* const more_data = get_data( file, data + 10, 6 );
+ if ( !more_data ) return "File data missing";
+
+ byte const* blocks = get_data( file, data + 12, 8 );
+ if ( !blocks ) return "File data missing";
+
+ // initial addresses
+ cpu::reset( mem.ram );
+ r.sp = get_be16( more_data );
+ r.b.a = r.b.b = r.b.d = r.b.h = data [8];
+ r.b.flags = r.b.c = r.b.e = r.b.l = data [9];
+ r.alt.w = r.w;
+ r.ix = r.iy = r.w.hl;
+
+ unsigned addr = get_be16( blocks );
+ if ( !addr ) return "File data missing";
+
+ unsigned init = get_be16( more_data + 2 );
+ if ( !init )
+ init = addr;
+
+ // copy blocks into memory
+ do
+ {
+ blocks += 2;
+ unsigned len = get_be16( blocks ); blocks += 2;
+ if ( addr + len > 0x10000 )
+ {
+ set_warning( "Bad data block size" );
+ len = 0x10000 - addr;
+ }
+ check( len );
+ byte const* in = get_data( file, blocks, 0 ); blocks += 2;
+ if ( len > blargg_ulong (file.end - in) )
+ {
+ set_warning( "Missing file data" );
+ len = file.end - in;
+ }
+ //debug_printf( "addr: $%04X, len: $%04X\n", addr, len );
+ if ( addr < ram_start && addr >= 0x400 ) // several tracks use low data
+ debug_printf( "Block addr in ROM\n" );
+ memcpy( mem.ram + addr, in, len );
+
+ if ( file.end - blocks < 8 )
+ {
+ set_warning( "Missing file data" );
+ break;
+ }
+ }
+ while ( (addr = get_be16( blocks )) != 0 );
+
+ // copy and configure driver
+ static byte const passive [] = {
+ 0xF3, // DI
+ 0xCD, 0, 0, // CALL init
+ 0xED, 0x5E, // LOOP: IM 2
+ 0xFB, // EI
+ 0x76, // HALT
+ 0x18, 0xFA // JR LOOP
+ };
+ static byte const active [] = {
+ 0xF3, // DI
+ 0xCD, 0, 0, // CALL init
+ 0xED, 0x56, // LOOP: IM 1
+ 0xFB, // EI
+ 0x76, // HALT
+ 0xCD, 0, 0, // CALL play
+ 0x18, 0xF7 // JR LOOP
+ };
+ memcpy( mem.ram, passive, sizeof passive );
+ unsigned play_addr = get_be16( more_data + 4 );
+ //debug_printf( "Play: $%04X\n", play_addr );
+ if ( play_addr )
+ {
+ memcpy( mem.ram, active, sizeof active );
+ mem.ram [ 9] = play_addr;
+ mem.ram [10] = play_addr >> 8;
+ }
+ mem.ram [2] = init;
+ mem.ram [3] = init >> 8;
+
+ mem.ram [0x38] = 0xFB; // Put EI at interrupt vector (followed by RET)
+
+ memcpy( mem.ram + 0x10000, mem.ram, 0x80 ); // some code wraps around (ugh)
+
+ beeper_delta = int (apu.amp_range * 0.65);
+ last_beeper = 0;
+ apu.reset();
+ next_play = play_period;
+
+ // start at spectrum speed
+ change_clock_rate( spectrum_clock );
+ set_tempo( tempo() );
+
+ spectrum_mode = false;
+ cpc_mode = false;
+ cpc_latch = 0;
+
+ return 0;
+}
+
+// Emulation
+
+void Ay_Emu::cpu_out_misc( cpu_time_t time, unsigned addr, int data )
+{
+ if ( !cpc_mode )
+ {
+ switch ( addr & 0xFEFF )
+ {
+ case 0xFEFD:
+ spectrum_mode = true;
+ apu_addr = data & 0x0F;
+ return;
+
+ case 0xBEFD:
+ spectrum_mode = true;
+ apu.write( time, apu_addr, data );
+ return;
+ }
+ }
+
+ if ( !spectrum_mode )
+ {
+ switch ( addr >> 8 )
+ {
+ case 0xF6:
+ switch ( data & 0xC0 )
+ {
+ case 0xC0:
+ apu_addr = cpc_latch & 0x0F;
+ goto enable_cpc;
+
+ case 0x80:
+ apu.write( time, apu_addr, cpc_latch );
+ goto enable_cpc;
+ }
+ break;
+
+ case 0xF4:
+ cpc_latch = data;
+ goto enable_cpc;
+ }
+ }
+
+ debug_printf( "Unmapped OUT: $%04X <- $%02X\n", addr, data );
+ return;
+
+enable_cpc:
+ if ( !cpc_mode )
+ {
+ cpc_mode = true;
+ change_clock_rate( cpc_clock );
+ set_tempo( tempo() );
+ }
+}
+
+void ay_cpu_out( Ay_Cpu* cpu, cpu_time_t time, unsigned addr, int data )
+{
+ Ay_Emu& emu = STATIC_CAST(Ay_Emu&,*cpu);
+
+ if ( (addr & 0xFF) == 0xFE && !emu.cpc_mode )
+ {
+ int delta = emu.beeper_delta;
+ data &= 0x10;
+ if ( emu.last_beeper != data )
+ {
+ emu.last_beeper = data;
+ emu.beeper_delta = -delta;
+ emu.spectrum_mode = true;
+ if ( emu.beeper_output )
+ emu.apu.synth_.offset( time, delta, emu.beeper_output );
+ }
+ }
+ else
+ {
+ emu.cpu_out_misc( time, addr, data );
+ }
+}
+
+int ay_cpu_in( Ay_Cpu*, unsigned addr )
+{
+ // keyboard read and other things
+ if ( (addr & 0xFF) == 0xFE )
+ return 0xFF; // other values break some beeper tunes
+
+ debug_printf( "Unmapped IN : $%04X\n", addr );
+ return 0xFF;
+}
+
+blargg_err_t Ay_Emu::run_clocks( blip_time_t& duration, int )
+{
+ set_time( 0 );
+ if ( !(spectrum_mode | cpc_mode) )
+ duration /= 2; // until mode is set, leave room for halved clock rate
+
+ while ( time() < duration )
+ {
+ cpu::run( min( duration, (blip_time_t) next_play ) );
+
+ if ( time() >= next_play )
+ {
+ next_play += play_period;
+
+ if ( r.iff1 )
+ {
+ if ( mem.ram [r.pc] == 0x76 )
+ r.pc++;
+
+ r.iff1 = r.iff2 = 0;
+
+ mem.ram [--r.sp] = uint8_t (r.pc >> 8);
+ mem.ram [--r.sp] = uint8_t (r.pc);
+ r.pc = 0x38;
+ cpu::adjust_time( 12 );
+ if ( r.im == 2 )
+ {
+ cpu::adjust_time( 6 );
+ unsigned addr = r.i * 0x100u + 0xFF;
+ r.pc = mem.ram [(addr + 1) & 0xFFFF] * 0x100u + mem.ram [addr];
+ }
+ }
+ }
+ }
+ duration = time();
+ next_play -= duration;
+ check( next_play >= 0 );
+ adjust_time( -duration );
+
+ apu.end_frame( duration );
+
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Ay_Emu.h b/plugins/gme/game-music-emu-svn/gme/Ay_Emu.h
new file mode 100644
index 00000000..8cd2231d
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ay_Emu.h
@@ -0,0 +1,70 @@
+// Sinclair Spectrum AY music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef AY_EMU_H
+#define AY_EMU_H
+
+#include "Classic_Emu.h"
+#include "Ay_Apu.h"
+#include "Ay_Cpu.h"
+
+class Ay_Emu : private Ay_Cpu, public Classic_Emu {
+ typedef Ay_Cpu cpu;
+public:
+ // AY file header
+ enum { header_size = 0x14 };
+ struct header_t
+ {
+ byte tag [8];
+ byte vers;
+ byte player;
+ byte unused [2];
+ byte author [2];
+ byte comment [2];
+ byte max_track;
+ byte first_track;
+ byte track_info [2];
+ };
+
+ static gme_type_t static_type() { return gme_ay_type; }
+public:
+ Ay_Emu();
+ ~Ay_Emu();
+ struct file_t {
+ header_t const* header;
+ byte const* end;
+ byte const* tracks;
+ };
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_mem_( byte const*, long );
+ blargg_err_t start_track_( int );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+private:
+ file_t file;
+
+ unsigned play_addr;
+ cpu_time_t play_period;
+ cpu_time_t next_play;
+ Blip_Buffer* beeper_output;
+ int beeper_delta;
+ int last_beeper;
+ int apu_addr;
+ int cpc_latch;
+ bool spectrum_mode;
+ bool cpc_mode;
+
+ // large items
+ struct {
+ byte padding1 [0x100];
+ byte ram [0x10000 + 0x100];
+ } mem;
+ Ay_Apu apu;
+ friend void ay_cpu_out( Ay_Cpu*, cpu_time_t, unsigned addr, int data );
+ void cpu_out_misc( cpu_time_t, unsigned addr, int data );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Blip_Buffer.cpp b/plugins/gme/game-music-emu-svn/gme/Blip_Buffer.cpp
new file mode 100644
index 00000000..2b88cd4f
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Blip_Buffer.cpp
@@ -0,0 +1,460 @@
+// Blip_Buffer 0.4.1. http://www.slack.net/~ant/
+
+#include "Blip_Buffer.h"
+
+#include <assert.h>
+#include <limits.h>
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+int const silent_buf_size = 1; // size used for Silent_Blip_Buffer
+
+Blip_Buffer::Blip_Buffer()
+{
+ factor_ = (blip_ulong)-1 / 2;
+ offset_ = 0;
+ buffer_ = 0;
+ buffer_size_ = 0;
+ sample_rate_ = 0;
+ reader_accum_ = 0;
+ bass_shift_ = 0;
+ clock_rate_ = 0;
+ bass_freq_ = 16;
+ length_ = 0;
+
+ // assumptions code makes about implementation-defined features
+ #ifndef NDEBUG
+ // right shift of negative value preserves sign
+ buf_t_ i = -0x7FFFFFFE;
+ assert( (i >> 1) == -0x3FFFFFFF );
+
+ // casting to short truncates to 16 bits and sign-extends
+ i = 0x18000;
+ assert( (short) i == -0x8000 );
+ #endif
+}
+
+Blip_Buffer::~Blip_Buffer()
+{
+ if ( buffer_size_ != silent_buf_size )
+ free( buffer_ );
+}
+
+Silent_Blip_Buffer::Silent_Blip_Buffer()
+{
+ factor_ = 0;
+ buffer_ = buf;
+ buffer_size_ = silent_buf_size;
+ memset( buf, 0, sizeof buf ); // in case machine takes exception for signed overflow
+}
+
+void Blip_Buffer::clear( int entire_buffer )
+{
+ offset_ = 0;
+ reader_accum_ = 0;
+ modified_ = 0;
+ if ( buffer_ )
+ {
+ long count = (entire_buffer ? buffer_size_ : samples_avail());
+ memset( buffer_, 0, (count + blip_buffer_extra_) * sizeof (buf_t_) );
+ }
+}
+
+Blip_Buffer::blargg_err_t Blip_Buffer::set_sample_rate( long new_rate, int msec )
+{
+ if ( buffer_size_ == silent_buf_size )
+ {
+ assert( 0 );
+ return "Internal (tried to resize Silent_Blip_Buffer)";
+ }
+
+ // start with maximum length that resampled time can represent
+ long new_size = (UINT_MAX >> BLIP_BUFFER_ACCURACY) - blip_buffer_extra_ - 64;
+ if ( msec != blip_max_length )
+ {
+ long s = (new_rate * (msec + 1) + 999) / 1000;
+ if ( s < new_size )
+ new_size = s;
+ else
+ assert( 0 ); // fails if requested buffer length exceeds limit
+ }
+
+ if ( buffer_size_ != new_size )
+ {
+ void* p = realloc( buffer_, (new_size + blip_buffer_extra_) * sizeof *buffer_ );
+ if ( !p )
+ return "Out of memory";
+ buffer_ = (buf_t_*) p;
+ }
+
+ buffer_size_ = new_size;
+ assert( buffer_size_ != silent_buf_size );
+
+ // update things based on the sample rate
+ sample_rate_ = new_rate;
+ length_ = new_size * 1000 / new_rate - 1;
+ if ( msec )
+ assert( length_ == msec ); // ensure length is same as that passed in
+ if ( clock_rate_ )
+ clock_rate( clock_rate_ );
+ bass_freq( bass_freq_ );
+
+ clear();
+
+ return 0; // success
+}
+
+blip_resampled_time_t Blip_Buffer::clock_rate_factor( long rate ) const
+{
+ double ratio = (double) sample_rate_ / rate;
+ blip_long factor = (blip_long) floor( ratio * (1L << BLIP_BUFFER_ACCURACY) + 0.5 );
+ assert( factor > 0 || !sample_rate_ ); // fails if clock/output ratio is too large
+ return (blip_resampled_time_t) factor;
+}
+
+void Blip_Buffer::bass_freq( int freq )
+{
+ bass_freq_ = freq;
+ int shift = 31;
+ if ( freq > 0 )
+ {
+ shift = 13;
+ long f = (freq << 16) / sample_rate_;
+ while ( (f >>= 1) && --shift ) { }
+ }
+ bass_shift_ = shift;
+}
+
+void Blip_Buffer::end_frame( blip_time_t t )
+{
+ offset_ += t * factor_;
+ assert( samples_avail() <= (long) buffer_size_ ); // time outside buffer length
+}
+
+void Blip_Buffer::remove_silence( long count )
+{
+ assert( count <= samples_avail() ); // tried to remove more samples than available
+ offset_ -= (blip_resampled_time_t) count << BLIP_BUFFER_ACCURACY;
+}
+
+long Blip_Buffer::count_samples( blip_time_t t ) const
+{
+ unsigned long last_sample = resampled_time( t ) >> BLIP_BUFFER_ACCURACY;
+ unsigned long first_sample = offset_ >> BLIP_BUFFER_ACCURACY;
+ return (long) (last_sample - first_sample);
+}
+
+blip_time_t Blip_Buffer::count_clocks( long count ) const
+{
+ if ( !factor_ )
+ {
+ assert( 0 ); // sample rate and clock rates must be set first
+ return 0;
+ }
+
+ if ( count > buffer_size_ )
+ count = buffer_size_;
+ blip_resampled_time_t time = (blip_resampled_time_t) count << BLIP_BUFFER_ACCURACY;
+ return (blip_time_t) ((time - offset_ + factor_ - 1) / factor_);
+}
+
+void Blip_Buffer::remove_samples( long count )
+{
+ if ( count )
+ {
+ remove_silence( count );
+
+ // copy remaining samples to beginning and clear old samples
+ long remain = samples_avail() + blip_buffer_extra_;
+ memmove( buffer_, buffer_ + count, remain * sizeof *buffer_ );
+ memset( buffer_ + remain, 0, count * sizeof *buffer_ );
+ }
+}
+
+// Blip_Synth_
+
+Blip_Synth_Fast_::Blip_Synth_Fast_()
+{
+ buf = 0;
+ last_amp = 0;
+ delta_factor = 0;
+}
+
+void Blip_Synth_Fast_::volume_unit( double new_unit )
+{
+ delta_factor = int (new_unit * (1L << blip_sample_bits) + 0.5);
+}
+
+#if !BLIP_BUFFER_FAST
+
+Blip_Synth_::Blip_Synth_( short* p, int w ) :
+ impulses( p ),
+ width( w )
+{
+ volume_unit_ = 0.0;
+ kernel_unit = 0;
+ buf = 0;
+ last_amp = 0;
+ delta_factor = 0;
+}
+
+#undef PI
+#define PI 3.1415926535897932384626433832795029
+
+static void gen_sinc( float* out, int count, double oversample, double treble, double cutoff )
+{
+ if ( cutoff >= 0.999 )
+ cutoff = 0.999;
+
+ if ( treble < -300.0 )
+ treble = -300.0;
+ if ( treble > 5.0 )
+ treble = 5.0;
+
+ double const maxh = 4096.0;
+ double const rolloff = pow( 10.0, 1.0 / (maxh * 20.0) * treble / (1.0 - cutoff) );
+ double const pow_a_n = pow( rolloff, maxh - maxh * cutoff );
+ double const to_angle = PI / 2 / maxh / oversample;
+ for ( int i = 0; i < count; i++ )
+ {
+ double angle = ((i - count) * 2 + 1) * to_angle;
+ double angle_maxh = angle * maxh;
+ double angle_maxh_mid = angle_maxh * cutoff;
+
+ double y = maxh;
+
+ // 0 to Fs/2*cutoff, flat
+ if ( angle_maxh_mid ) // unstable at t=0
+ y *= sin( angle_maxh_mid ) / angle_maxh_mid;
+
+ // Fs/2*cutoff to Fs/2, logarithmic rolloff
+ double cosa = cos( angle );
+ double den = 1 + rolloff * (rolloff - cosa - cosa);
+
+ // Becomes unstable when rolloff is near 1.0 and t is near 0,
+ // which is the only time den becomes small
+ if ( den > 1e-13 )
+ {
+ double num =
+ (cos( angle_maxh - angle ) * rolloff - cos( angle_maxh )) * pow_a_n -
+ cos( angle_maxh_mid - angle ) * rolloff + cos( angle_maxh_mid );
+
+ y = y * cutoff + num / den;
+ }
+
+ out [i] = (float) y;
+ }
+}
+
+void blip_eq_t::generate( float* out, int count ) const
+{
+ // lower cutoff freq for narrow kernels with their wider transition band
+ // (8 points->1.49, 16 points->1.15)
+ double oversample = blip_res * 2.25 / count + 0.85;
+ double half_rate = sample_rate * 0.5;
+ if ( cutoff_freq )
+ oversample = half_rate / cutoff_freq;
+ double cutoff = rolloff_freq * oversample / half_rate;
+
+ gen_sinc( out, count, blip_res * oversample, treble, cutoff );
+
+ // apply (half of) hamming window
+ double to_fraction = PI / (count - 1);
+ for ( int i = count; i--; )
+ out [i] *= 0.54f - 0.46f * (float) cos( i * to_fraction );
+}
+
+void Blip_Synth_::adjust_impulse()
+{
+ // sum pairs for each phase and add error correction to end of first half
+ int const size = impulses_size();
+ for ( int p = blip_res; p-- >= blip_res / 2; )
+ {
+ int p2 = blip_res - 2 - p;
+ long error = kernel_unit;
+ for ( int i = 1; i < size; i += blip_res )
+ {
+ error -= impulses [i + p ];
+ error -= impulses [i + p2];
+ }
+ if ( p == p2 )
+ error /= 2; // phase = 0.5 impulse uses same half for both sides
+ impulses [size - blip_res + p] += (short) error;
+ //printf( "error: %ld\n", error );
+ }
+
+ //for ( int i = blip_res; i--; printf( "\n" ) )
+ // for ( int j = 0; j < width / 2; j++ )
+ // printf( "%5ld,", impulses [j * blip_res + i + 1] );
+}
+
+void Blip_Synth_::treble_eq( blip_eq_t const& eq )
+{
+ float fimpulse [blip_res / 2 * (blip_widest_impulse_ - 1) + blip_res * 2];
+
+ int const half_size = blip_res / 2 * (width - 1);
+ eq.generate( &fimpulse [blip_res], half_size );
+
+ int i;
+
+ // need mirror slightly past center for calculation
+ for ( i = blip_res; i--; )
+ fimpulse [blip_res + half_size + i] = fimpulse [blip_res + half_size - 1 - i];
+
+ // starts at 0
+ for ( i = 0; i < blip_res; i++ )
+ fimpulse [i] = 0.0f;
+
+ // find rescale factor
+ double total = 0.0;
+ for ( i = 0; i < half_size; i++ )
+ total += fimpulse [blip_res + i];
+
+ //double const base_unit = 44800.0 - 128 * 18; // allows treble up to +0 dB
+ //double const base_unit = 37888.0; // allows treble to +5 dB
+ double const base_unit = 32768.0; // necessary for blip_unscaled to work
+ double rescale = base_unit / 2 / total;
+ kernel_unit = (long) base_unit;
+
+ // integrate, first difference, rescale, convert to int
+ double sum = 0.0;
+ double next = 0.0;
+ int const impulses_size = this->impulses_size();
+ for ( i = 0; i < impulses_size; i++ )
+ {
+ impulses [i] = (short) floor( (next - sum) * rescale + 0.5 );
+ sum += fimpulse [i];
+ next += fimpulse [i + blip_res];
+ }
+ adjust_impulse();
+
+ // volume might require rescaling
+ double vol = volume_unit_;
+ if ( vol )
+ {
+ volume_unit_ = 0.0;
+ volume_unit( vol );
+ }
+}
+
+void Blip_Synth_::volume_unit( double new_unit )
+{
+ if ( new_unit != volume_unit_ )
+ {
+ // use default eq if it hasn't been set yet
+ if ( !kernel_unit )
+ treble_eq( -8.0 );
+
+ volume_unit_ = new_unit;
+ double factor = new_unit * (1L << blip_sample_bits) / kernel_unit;
+
+ if ( factor > 0.0 )
+ {
+ int shift = 0;
+
+ // if unit is really small, might need to attenuate kernel
+ while ( factor < 2.0 )
+ {
+ shift++;
+ factor *= 2.0;
+ }
+
+ if ( shift )
+ {
+ kernel_unit >>= shift;
+ assert( kernel_unit > 0 ); // fails if volume unit is too low
+
+ // keep values positive to avoid round-towards-zero of sign-preserving
+ // right shift for negative values
+ long offset = 0x8000 + (1 << (shift - 1));
+ long offset2 = 0x8000 >> shift;
+ for ( int i = impulses_size(); i--; )
+ impulses [i] = (short) (((impulses [i] + offset) >> shift) - offset2);
+ adjust_impulse();
+ }
+ }
+ delta_factor = (int) floor( factor + 0.5 );
+ //printf( "delta_factor: %d, kernel_unit: %d\n", delta_factor, kernel_unit );
+ }
+}
+#endif
+
+long Blip_Buffer::read_samples( blip_sample_t* BLIP_RESTRICT out, long max_samples, int stereo )
+{
+ long count = samples_avail();
+ if ( count > max_samples )
+ count = max_samples;
+
+ if ( count )
+ {
+ int const bass = BLIP_READER_BASS( *this );
+ BLIP_READER_BEGIN( reader, *this );
+
+ if ( !stereo )
+ {
+ for ( blip_long n = count; n; --n )
+ {
+ blip_long s = BLIP_READER_READ( reader );
+ if ( (blip_sample_t) s != s )
+ s = 0x7FFF - (s >> 24);
+ *out++ = (blip_sample_t) s;
+ BLIP_READER_NEXT( reader, bass );
+ }
+ }
+ else
+ {
+ for ( blip_long n = count; n; --n )
+ {
+ blip_long s = BLIP_READER_READ( reader );
+ if ( (blip_sample_t) s != s )
+ s = 0x7FFF - (s >> 24);
+ *out = (blip_sample_t) s;
+ out += 2;
+ BLIP_READER_NEXT( reader, bass );
+ }
+ }
+ BLIP_READER_END( reader, *this );
+
+ remove_samples( count );
+ }
+ return count;
+}
+
+void Blip_Buffer::mix_samples( blip_sample_t const* in, long count )
+{
+ if ( buffer_size_ == silent_buf_size )
+ {
+ assert( 0 );
+ return;
+ }
+
+ buf_t_* out = buffer_ + (offset_ >> BLIP_BUFFER_ACCURACY) + blip_widest_impulse_ / 2;
+
+ int const sample_shift = blip_sample_bits - 16;
+ int prev = 0;
+ while ( count-- )
+ {
+ blip_long s = (blip_long) *in++ << sample_shift;
+ *out += s - prev;
+ prev = s;
+ ++out;
+ }
+ *out -= prev;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Blip_Buffer.h b/plugins/gme/game-music-emu-svn/gme/Blip_Buffer.h
new file mode 100644
index 00000000..4cc526d2
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Blip_Buffer.h
@@ -0,0 +1,488 @@
+// Band-limited sound synthesis buffer
+
+// Blip_Buffer 0.4.1
+#ifndef BLIP_BUFFER_H
+#define BLIP_BUFFER_H
+
+ // internal
+ #include <limits.h>
+ #if INT_MAX < 0x7FFFFFFF
+ #error "int must be at least 32 bits"
+ #endif
+
+ typedef int blip_long;
+ typedef unsigned blip_ulong;
+
+// Time unit at source clock rate
+typedef blip_long blip_time_t;
+
+// Output samples are 16-bit signed, with a range of -32768 to 32767
+typedef short blip_sample_t;
+enum { blip_sample_max = 32767 };
+
+class Blip_Buffer {
+public:
+ typedef const char* blargg_err_t;
+
+ // Set output sample rate and buffer length in milliseconds (1/1000 sec, defaults
+ // to 1/4 second), then clear buffer. Returns NULL on success, otherwise if there
+ // isn't enough memory, returns error without affecting current buffer setup.
+ blargg_err_t set_sample_rate( long samples_per_sec, int msec_length = 1000 / 4 );
+
+ // Set number of source time units per second
+ void clock_rate( long );
+
+ // End current time frame of specified duration and make its samples available
+ // (along with any still-unread samples) for reading with read_samples(). Begins
+ // a new time frame at the end of the current frame.
+ void end_frame( blip_time_t time );
+
+ // Read at most 'max_samples' out of buffer into 'dest', removing them from from
+ // the buffer. Returns number of samples actually read and removed. If stereo is
+ // true, increments 'dest' one extra time after writing each sample, to allow
+ // easy interleving of two channels into a stereo output buffer.
+ long read_samples( blip_sample_t* dest, long max_samples, int stereo = 0 );
+
+// Additional optional features
+
+ // Current output sample rate
+ long sample_rate() const;
+
+ // Length of buffer, in milliseconds
+ int length() const;
+
+ // Number of source time units per second
+ long clock_rate() const;
+
+ // Set frequency high-pass filter frequency, where higher values reduce bass more
+ void bass_freq( int frequency );
+
+ // Number of samples delay from synthesis to samples read out
+ int output_latency() const;
+
+ // Remove all available samples and clear buffer to silence. If 'entire_buffer' is
+ // false, just clears out any samples waiting rather than the entire buffer.
+ void clear( int entire_buffer = 1 );
+
+ // Number of samples available for reading with read_samples()
+ long samples_avail() const;
+
+ // Remove 'count' samples from those waiting to be read
+ void remove_samples( long count );
+
+// Experimental features
+
+ // Count number of clocks needed until 'count' samples will be available.
+ // If buffer can't even hold 'count' samples, returns number of clocks until
+ // buffer becomes full.
+ blip_time_t count_clocks( long count ) const;
+
+ // Number of raw samples that can be mixed within frame of specified duration.
+ long count_samples( blip_time_t duration ) const;
+
+ // Mix 'count' samples from 'buf' into buffer.
+ void mix_samples( blip_sample_t const* buf, long count );
+
+ // not documented yet
+ void set_modified() { modified_ = 1; }
+ int clear_modified() { int b = modified_; modified_ = 0; return b; }
+ typedef blip_ulong blip_resampled_time_t;
+ void remove_silence( long count );
+ blip_resampled_time_t resampled_duration( int t ) const { return t * factor_; }
+ blip_resampled_time_t resampled_time( blip_time_t t ) const { return t * factor_ + offset_; }
+ blip_resampled_time_t clock_rate_factor( long clock_rate ) const;
+public:
+ Blip_Buffer();
+ ~Blip_Buffer();
+
+ // Deprecated
+ typedef blip_resampled_time_t resampled_time_t;
+ blargg_err_t sample_rate( long r ) { return set_sample_rate( r ); }
+ blargg_err_t sample_rate( long r, int msec ) { return set_sample_rate( r, msec ); }
+private:
+ // noncopyable
+ Blip_Buffer( const Blip_Buffer& );
+ Blip_Buffer& operator = ( const Blip_Buffer& );
+public:
+ typedef blip_time_t buf_t_;
+ blip_ulong factor_;
+ blip_resampled_time_t offset_;
+ buf_t_* buffer_;
+ blip_long buffer_size_;
+ blip_long reader_accum_;
+ int bass_shift_;
+private:
+ long sample_rate_;
+ long clock_rate_;
+ int bass_freq_;
+ int length_;
+ int modified_;
+ friend class Blip_Reader;
+};
+
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+// Number of bits in resample ratio fraction. Higher values give a more accurate ratio
+// but reduce maximum buffer size.
+#ifndef BLIP_BUFFER_ACCURACY
+ #define BLIP_BUFFER_ACCURACY 16
+#endif
+
+// Number bits in phase offset. Fewer than 6 bits (64 phase offsets) results in
+// noticeable broadband noise when synthesizing high frequency square waves.
+// Affects size of Blip_Synth objects since they store the waveform directly.
+#ifndef BLIP_PHASE_BITS
+ #if BLIP_BUFFER_FAST
+ #define BLIP_PHASE_BITS 8
+ #else
+ #define BLIP_PHASE_BITS 6
+ #endif
+#endif
+
+ // Internal
+ typedef blip_ulong blip_resampled_time_t;
+ int const blip_widest_impulse_ = 16;
+ int const blip_buffer_extra_ = blip_widest_impulse_ + 2;
+ int const blip_res = 1 << BLIP_PHASE_BITS;
+ class blip_eq_t;
+
+ class Blip_Synth_Fast_ {
+ public:
+ Blip_Buffer* buf;
+ int last_amp;
+ int delta_factor;
+
+ void volume_unit( double );
+ Blip_Synth_Fast_();
+ void treble_eq( blip_eq_t const& ) { }
+ };
+
+ class Blip_Synth_ {
+ public:
+ Blip_Buffer* buf;
+ int last_amp;
+ int delta_factor;
+
+ void volume_unit( double );
+ Blip_Synth_( short* impulses, int width );
+ void treble_eq( blip_eq_t const& );
+ private:
+ double volume_unit_;
+ short* const impulses;
+ int const width;
+ blip_long kernel_unit;
+ int impulses_size() const { return blip_res / 2 * width + 1; }
+ void adjust_impulse();
+ };
+
+// Quality level. Start with blip_good_quality.
+const int blip_med_quality = 8;
+const int blip_good_quality = 12;
+const int blip_high_quality = 16;
+
+// Range specifies the greatest expected change in amplitude. Calculate it
+// by finding the difference between the maximum and minimum expected
+// amplitudes (max - min).
+template<int quality,int range>
+class Blip_Synth {
+public:
+ // Set overall volume of waveform
+ void volume( double v ) { impl.volume_unit( v * (1.0 / (range < 0 ? -range : range)) ); }
+
+ // Configure low-pass filter (see blip_buffer.txt)
+ void treble_eq( blip_eq_t const& eq ) { impl.treble_eq( eq ); }
+
+ // Get/set Blip_Buffer used for output
+ Blip_Buffer* output() const { return impl.buf; }
+ void output( Blip_Buffer* b ) { impl.buf = b; impl.last_amp = 0; }
+
+ // Update amplitude of waveform at given time. Using this requires a separate
+ // Blip_Synth for each waveform.
+ void update( blip_time_t time, int amplitude );
+
+// Low-level interface
+
+ // Add an amplitude transition of specified delta, optionally into specified buffer
+ // rather than the one set with output(). Delta can be positive or negative.
+ // The actual change in amplitude is delta * (volume / range)
+ void offset( blip_time_t, int delta, Blip_Buffer* ) const;
+ void offset( blip_time_t t, int delta ) const { offset( t, delta, impl.buf ); }
+
+ // Works directly in terms of fractional output samples. Contact author for more info.
+ void offset_resampled( blip_resampled_time_t, int delta, Blip_Buffer* ) const;
+
+ // Same as offset(), except code is inlined for higher performance
+ void offset_inline( blip_time_t t, int delta, Blip_Buffer* buf ) const {
+ offset_resampled( t * buf->factor_ + buf->offset_, delta, buf );
+ }
+ void offset_inline( blip_time_t t, int delta ) const {
+ offset_resampled( t * impl.buf->factor_ + impl.buf->offset_, delta, impl.buf );
+ }
+
+private:
+#if BLIP_BUFFER_FAST
+ Blip_Synth_Fast_ impl;
+#else
+ Blip_Synth_ impl;
+ typedef short imp_t;
+ imp_t impulses [blip_res * (quality / 2) + 1];
+public:
+ Blip_Synth() : impl( impulses, quality ) { }
+#endif
+};
+
+// Low-pass equalization parameters
+class blip_eq_t {
+public:
+ // Logarithmic rolloff to treble dB at half sampling rate. Negative values reduce
+ // treble, small positive values (0 to 5.0) increase treble.
+ blip_eq_t( double treble_db = 0 );
+
+ // See blip_buffer.txt
+ blip_eq_t( double treble, long rolloff_freq, long sample_rate, long cutoff_freq = 0 );
+
+private:
+ double treble;
+ long rolloff_freq;
+ long sample_rate;
+ long cutoff_freq;
+ void generate( float* out, int count ) const;
+ friend class Blip_Synth_;
+};
+
+int const blip_sample_bits = 30;
+
+// Dummy Blip_Buffer to direct sound output to, for easy muting without
+// having to stop sound code.
+class Silent_Blip_Buffer : public Blip_Buffer {
+ buf_t_ buf [blip_buffer_extra_ + 1];
+public:
+ // The following cannot be used (an assertion will fail if attempted):
+ blargg_err_t set_sample_rate( long samples_per_sec, int msec_length );
+ blip_time_t count_clocks( long count ) const;
+ void mix_samples( blip_sample_t const* buf, long count );
+
+ Silent_Blip_Buffer();
+};
+
+ #if defined (__GNUC__) || _MSC_VER >= 1100
+ #define BLIP_RESTRICT __restrict
+ #else
+ #define BLIP_RESTRICT
+ #endif
+
+// Optimized reading from Blip_Buffer, for use in custom sample output
+
+// Begin reading from buffer. Name should be unique to the current block.
+#define BLIP_READER_BEGIN( name, blip_buffer ) \
+ const Blip_Buffer::buf_t_* BLIP_RESTRICT name##_reader_buf = (blip_buffer).buffer_;\
+ blip_long name##_reader_accum = (blip_buffer).reader_accum_
+
+// Get value to pass to BLIP_READER_NEXT()
+#define BLIP_READER_BASS( blip_buffer ) ((blip_buffer).bass_shift_)
+
+// Constant value to use instead of BLIP_READER_BASS(), for slightly more optimal
+// code at the cost of having no bass control
+int const blip_reader_default_bass = 9;
+
+// Current sample
+#define BLIP_READER_READ( name ) (name##_reader_accum >> (blip_sample_bits - 16))
+
+// Current raw sample in full internal resolution
+#define BLIP_READER_READ_RAW( name ) (name##_reader_accum)
+
+// Advance to next sample
+#define BLIP_READER_NEXT( name, bass ) \
+ (void) (name##_reader_accum += *name##_reader_buf++ - (name##_reader_accum >> (bass)))
+
+// End reading samples from buffer. The number of samples read must now be removed
+// using Blip_Buffer::remove_samples().
+#define BLIP_READER_END( name, blip_buffer ) \
+ (void) ((blip_buffer).reader_accum_ = name##_reader_accum)
+
+
+// Compatibility with older version
+const long blip_unscaled = 65535;
+const int blip_low_quality = blip_med_quality;
+const int blip_best_quality = blip_high_quality;
+
+// Deprecated; use BLIP_READER macros as follows:
+// Blip_Reader r; r.begin( buf ); -> BLIP_READER_BEGIN( r, buf );
+// int bass = r.begin( buf ) -> BLIP_READER_BEGIN( r, buf ); int bass = BLIP_READER_BASS( buf );
+// r.read() -> BLIP_READER_READ( r )
+// r.read_raw() -> BLIP_READER_READ_RAW( r )
+// r.next( bass ) -> BLIP_READER_NEXT( r, bass )
+// r.next() -> BLIP_READER_NEXT( r, blip_reader_default_bass )
+// r.end( buf ) -> BLIP_READER_END( r, buf )
+class Blip_Reader {
+public:
+ int begin( Blip_Buffer& );
+ blip_long read() const { return accum >> (blip_sample_bits - 16); }
+ blip_long read_raw() const { return accum; }
+ void next( int bass_shift = 9 ) { accum += *buf++ - (accum >> bass_shift); }
+ void end( Blip_Buffer& b ) { b.reader_accum_ = accum; }
+
+private:
+ const Blip_Buffer::buf_t_* buf;
+ blip_long accum;
+};
+
+// End of public interface
+
+#include <assert.h>
+
+template<int quality,int range>
+inline void Blip_Synth<quality,range>::offset_resampled( blip_resampled_time_t time,
+ int delta, Blip_Buffer* blip_buf ) const
+{
+ // Fails if time is beyond end of Blip_Buffer, due to a bug in caller code or the
+ // need for a longer buffer as set by set_sample_rate().
+ assert( (blip_long) (time >> BLIP_BUFFER_ACCURACY) < blip_buf->buffer_size_ );
+ delta *= impl.delta_factor;
+ blip_long* BLIP_RESTRICT buf = blip_buf->buffer_ + (time >> BLIP_BUFFER_ACCURACY);
+ int phase = (int) (time >> (BLIP_BUFFER_ACCURACY - BLIP_PHASE_BITS) & (blip_res - 1));
+
+#if BLIP_BUFFER_FAST
+ blip_long left = buf [0] + delta;
+
+ // Kind of crappy, but doing shift after multiply results in overflow.
+ // Alternate way of delaying multiply by delta_factor results in worse
+ // sub-sample resolution.
+ blip_long right = (delta >> BLIP_PHASE_BITS) * phase;
+ left -= right;
+ right += buf [1];
+
+ buf [0] = left;
+ buf [1] = right;
+#else
+
+ int const fwd = (blip_widest_impulse_ - quality) / 2;
+ int const rev = fwd + quality - 2;
+ int const mid = quality / 2 - 1;
+
+ imp_t const* BLIP_RESTRICT imp = impulses + blip_res - phase;
+
+ #if defined (_M_IX86) || defined (_M_IA64) || defined (__i486__) || \
+ defined (__x86_64__) || defined (__ia64__) || defined (__i386__)
+
+ // straight forward implementation resulted in better code on GCC for x86
+
+ #define ADD_IMP( out, in ) \
+ buf [out] += (blip_long) imp [blip_res * (in)] * delta
+
+ #define BLIP_FWD( i ) {\
+ ADD_IMP( fwd + i, i );\
+ ADD_IMP( fwd + 1 + i, i + 1 );\
+ }
+ #define BLIP_REV( r ) {\
+ ADD_IMP( rev - r, r + 1 );\
+ ADD_IMP( rev + 1 - r, r );\
+ }
+
+ BLIP_FWD( 0 )
+ if ( quality > 8 ) BLIP_FWD( 2 )
+ if ( quality > 12 ) BLIP_FWD( 4 )
+ {
+ ADD_IMP( fwd + mid - 1, mid - 1 );
+ ADD_IMP( fwd + mid , mid );
+ imp = impulses + phase;
+ }
+ if ( quality > 12 ) BLIP_REV( 6 )
+ if ( quality > 8 ) BLIP_REV( 4 )
+ BLIP_REV( 2 )
+
+ ADD_IMP( rev , 1 );
+ ADD_IMP( rev + 1, 0 );
+
+ #else
+
+ // for RISC processors, help compiler by reading ahead of writes
+
+ #define BLIP_FWD( i ) {\
+ blip_long t0 = i0 * delta + buf [fwd + i];\
+ blip_long t1 = imp [blip_res * (i + 1)] * delta + buf [fwd + 1 + i];\
+ i0 = imp [blip_res * (i + 2)];\
+ buf [fwd + i] = t0;\
+ buf [fwd + 1 + i] = t1;\
+ }
+ #define BLIP_REV( r ) {\
+ blip_long t0 = i0 * delta + buf [rev - r];\
+ blip_long t1 = imp [blip_res * r] * delta + buf [rev + 1 - r];\
+ i0 = imp [blip_res * (r - 1)];\
+ buf [rev - r] = t0;\
+ buf [rev + 1 - r] = t1;\
+ }
+
+ blip_long i0 = *imp;
+ BLIP_FWD( 0 )
+ if ( quality > 8 ) BLIP_FWD( 2 )
+ if ( quality > 12 ) BLIP_FWD( 4 )
+ {
+ blip_long t0 = i0 * delta + buf [fwd + mid - 1];
+ blip_long t1 = imp [blip_res * mid] * delta + buf [fwd + mid ];
+ imp = impulses + phase;
+ i0 = imp [blip_res * mid];
+ buf [fwd + mid - 1] = t0;
+ buf [fwd + mid ] = t1;
+ }
+ if ( quality > 12 ) BLIP_REV( 6 )
+ if ( quality > 8 ) BLIP_REV( 4 )
+ BLIP_REV( 2 )
+
+ blip_long t0 = i0 * delta + buf [rev ];
+ blip_long t1 = *imp * delta + buf [rev + 1];
+ buf [rev ] = t0;
+ buf [rev + 1] = t1;
+ #endif
+
+#endif
+}
+
+#undef BLIP_FWD
+#undef BLIP_REV
+
+template<int quality,int range>
+#if BLIP_BUFFER_FAST
+ inline
+#endif
+void Blip_Synth<quality,range>::offset( blip_time_t t, int delta, Blip_Buffer* buf ) const
+{
+ offset_resampled( t * buf->factor_ + buf->offset_, delta, buf );
+}
+
+template<int quality,int range>
+#if BLIP_BUFFER_FAST
+ inline
+#endif
+void Blip_Synth<quality,range>::update( blip_time_t t, int amp )
+{
+ int delta = amp - impl.last_amp;
+ impl.last_amp = amp;
+ offset_resampled( t * impl.buf->factor_ + impl.buf->offset_, delta, impl.buf );
+}
+
+inline blip_eq_t::blip_eq_t( double t ) :
+ treble( t ), rolloff_freq( 0 ), sample_rate( 44100 ), cutoff_freq( 0 ) { }
+inline blip_eq_t::blip_eq_t( double t, long rf, long sr, long cf ) :
+ treble( t ), rolloff_freq( rf ), sample_rate( sr ), cutoff_freq( cf ) { }
+
+inline int Blip_Buffer::length() const { return length_; }
+inline long Blip_Buffer::samples_avail() const { return (long) (offset_ >> BLIP_BUFFER_ACCURACY); }
+inline long Blip_Buffer::sample_rate() const { return sample_rate_; }
+inline int Blip_Buffer::output_latency() const { return blip_widest_impulse_ / 2; }
+inline long Blip_Buffer::clock_rate() const { return clock_rate_; }
+inline void Blip_Buffer::clock_rate( long cps ) { factor_ = clock_rate_factor( clock_rate_ = cps ); }
+
+inline int Blip_Reader::begin( Blip_Buffer& blip_buf )
+{
+ buf = blip_buf.buffer_;
+ accum = blip_buf.reader_accum_;
+ return blip_buf.bass_shift_;
+}
+
+int const blip_max_length = 0;
+int const blip_default_length = 250;
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/CMakeLists.txt b/plugins/gme/game-music-emu-svn/gme/CMakeLists.txt
new file mode 100644
index 00000000..f7e87a13
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/CMakeLists.txt
@@ -0,0 +1,163 @@
+# List of source files required by libgme and any emulators
+# This is not 100% accurate (Fir_Resampler for instance) but
+# you'll be OK.
+set(libgme_SRCS Blip_Buffer.cpp
+ Classic_Emu.cpp
+ Data_Reader.cpp
+ Dual_Resampler.cpp
+ Effects_Buffer.cpp
+ Fir_Resampler.cpp
+ gme.cpp
+ Gme_File.cpp
+ M3u_Playlist.cpp
+ Multi_Buffer.cpp
+ Music_Emu.cpp
+ )
+
+# Ay_Apu is very popular around here
+if (USE_GME_AY OR USE_GME_KSS)
+ set(libgme_SRCS ${libgme_SRCS}
+ Ay_Apu.cpp
+ )
+endif()
+
+# so is Ym2612_Emu
+if (USE_GME_VGM OR USE_GME_GYM)
+ set(libgme_SRCS ${libgme_SRCS}
+ Ym2612_Emu.cpp
+ )
+endif()
+
+# But none are as popular as Sms_Apu
+if (USE_GME_VGM OR USE_GME_GYM OR USE_GME_KSS)
+ set(libgme_SRCS ${libgme_SRCS}
+ Sms_Apu.cpp
+ )
+endif()
+
+if (USE_GME_AY)
+ set(libgme_SRCS ${libgme_SRCS}
+ # Ay_Apu.cpp included earlier
+ Ay_Cpu.cpp
+ Ay_Emu.cpp
+ )
+endif()
+
+if (USE_GME_GBS)
+ set(libgme_SRCS ${libgme_SRCS}
+ Gb_Apu.cpp
+ Gb_Cpu.cpp
+ Gb_Oscs.cpp
+ Gbs_Emu.cpp
+ )
+endif()
+
+if (USE_GME_GYM)
+ set(libgme_SRCS ${libgme_SRCS}
+ # Sms_Apu.cpp included earlier
+ # Ym2612_Emu.cpp included earlier
+ Gym_Emu.cpp
+ )
+endif()
+
+if (USE_GME_HES)
+ set(libgme_SRCS ${libgme_SRCS}
+ Hes_Apu.cpp
+ Hes_Cpu.cpp
+ Hes_Emu.cpp
+ )
+endif()
+
+if (USE_GME_KSS)
+ set(libgme_SRCS ${libgme_SRCS}
+ # Ay_Apu.cpp included earlier
+ # Sms_Apu.cpp included earlier
+ Kss_Cpu.cpp
+ Kss_Emu.cpp
+ Kss_Scc_Apu.cpp
+ )
+endif()
+
+if (USE_GME_NSF OR USE_GME_NSFE)
+ set(libgme_SRCS ${libgme_SRCS}
+ Nes_Apu.cpp
+ Nes_Cpu.cpp
+ Nes_Fme7_Apu.cpp
+ Nes_Namco_Apu.cpp
+ Nes_Oscs.cpp
+ Nes_Vrc6_Apu.cpp
+ Nsf_Emu.cpp
+ )
+endif()
+
+if (USE_GME_NSFE)
+ set(libgme_SRCS ${libgme_SRCS}
+ Nsfe_Emu.cpp
+ )
+endif()
+
+if (USE_GME_SAP)
+ set(libgme_SRCS ${libgme_SRCS}
+ Sap_Apu.cpp
+ Sap_Cpu.cpp
+ Sap_Emu.cpp
+ )
+endif()
+
+if (USE_GME_SPC)
+ set(libgme_SRCS ${libgme_SRCS}
+ Snes_Spc.cpp
+ Spc_Cpu.cpp
+ Spc_Dsp.cpp
+ Spc_Emu.cpp
+ Spc_Filter.cpp
+ )
+endif()
+
+if (USE_GME_VGM)
+ set(libgme_SRCS ${libgme_SRCS}
+ # Sms_Apu.cpp included earlier
+ # Ym2612_Emu.cpp included earlier
+ Vgm_Emu.cpp
+ Vgm_Emu_Impl.cpp
+ Ym2413_Emu.cpp
+ )
+endif()
+
+# These headers are part of the generic gme interface.
+set (EXPORTED_HEADERS gme.h)
+
+# Run during cmake phase, so this is available during make
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/gme_types.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/gme_types.h)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libgme.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libgme.pc @ONLY)
+
+# On some platforms we may need to change headers or whatnot based on whether
+# we're building the library or merely using the library. The following is
+# only defined when building the library to allow us to tell which is which.
+add_definitions(-DBLARGG_BUILD_DLL)
+
+# For the gme_types.h
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+# Add library to be compiled.
+add_library(gme SHARED ${libgme_SRCS})
+
+# The version is the release. The "soversion" is the API version. As long
+# as only build fixes are performed (i.e. no backwards-incompatible changes
+# to the API), the SOVERSION should be the same even when bumping up VERSION.
+# The way gme.h is designed, SOVERSION should very rarely be bumped, if ever.
+# Hopefully the API can stay compatible with old versions.
+set_target_properties(gme
+ PROPERTIES VERSION ${GME_VERSION}
+ SOVERSION 0)
+
+# TODO: Libsuffix for 64-bit?
+install(TARGETS gme LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin # DLL platforms
+ ARCHIVE DESTINATION lib) # DLL platforms
+
+install(FILES ${EXPORTED_HEADERS} DESTINATION include/gme)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgme.pc DESTINATION lib/pkgconfig)
diff --git a/plugins/gme/game-music-emu-svn/gme/Classic_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Classic_Emu.cpp
new file mode 100644
index 00000000..9b68a445
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Classic_Emu.cpp
@@ -0,0 +1,184 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Classic_Emu.h"
+
+#include "Multi_Buffer.h"
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+Classic_Emu::Classic_Emu()
+{
+ buf = 0;
+ stereo_buffer = 0;
+ voice_types = 0;
+
+ // avoid inconsistency in our duplicated constants
+ assert( (int) wave_type == (int) Multi_Buffer::wave_type );
+ assert( (int) noise_type == (int) Multi_Buffer::noise_type );
+ assert( (int) mixed_type == (int) Multi_Buffer::mixed_type );
+}
+
+Classic_Emu::~Classic_Emu()
+{
+ delete stereo_buffer;
+}
+
+void Classic_Emu::set_equalizer_( equalizer_t const& eq )
+{
+ Music_Emu::set_equalizer_( eq );
+ update_eq( eq.treble );
+ if ( buf )
+ buf->bass_freq( (int) equalizer().bass );
+}
+
+blargg_err_t Classic_Emu::set_sample_rate_( long rate )
+{
+ if ( !buf )
+ {
+ if ( !stereo_buffer )
+ CHECK_ALLOC( stereo_buffer = BLARGG_NEW Stereo_Buffer );
+ buf = stereo_buffer;
+ }
+ return buf->set_sample_rate( rate, 1000 / 20 );
+}
+
+void Classic_Emu::mute_voices_( int mask )
+{
+ Music_Emu::mute_voices_( mask );
+ for ( int i = voice_count(); i--; )
+ {
+ if ( mask & (1 << i) )
+ {
+ set_voice( i, 0, 0, 0 );
+ }
+ else
+ {
+ Multi_Buffer::channel_t ch = buf->channel( i, (voice_types ? voice_types [i] : 0) );
+ assert( (ch.center && ch.left && ch.right) ||
+ (!ch.center && !ch.left && !ch.right) ); // all or nothing
+ set_voice( i, ch.center, ch.left, ch.right );
+ }
+ }
+}
+
+void Classic_Emu::change_clock_rate( long rate )
+{
+ clock_rate_ = rate;
+ buf->clock_rate( rate );
+}
+
+blargg_err_t Classic_Emu::setup_buffer( long rate )
+{
+ change_clock_rate( rate );
+ RETURN_ERR( buf->set_channel_count( voice_count() ) );
+ set_equalizer( equalizer() );
+ buf_changed_count = buf->channels_changed_count();
+ return 0;
+}
+
+blargg_err_t Classic_Emu::start_track_( int track )
+{
+ RETURN_ERR( Music_Emu::start_track_( track ) );
+ buf->clear();
+ return 0;
+}
+
+blargg_err_t Classic_Emu::play_( long count, sample_t* out )
+{
+ long remain = count;
+ while ( remain )
+ {
+ remain -= buf->read_samples( &out [count - remain], remain );
+ if ( remain )
+ {
+ if ( buf_changed_count != buf->channels_changed_count() )
+ {
+ buf_changed_count = buf->channels_changed_count();
+ remute_voices();
+ }
+ int msec = buf->length();
+ blip_time_t clocks_emulated = (blargg_long) msec * clock_rate_ / 1000;
+ RETURN_ERR( run_clocks( clocks_emulated, msec ) );
+ assert( clocks_emulated );
+ buf->end_frame( clocks_emulated );
+ }
+ }
+ return 0;
+}
+
+// Rom_Data
+
+blargg_err_t Rom_Data_::load_rom_data_( Data_Reader& in,
+ int header_size, void* header_out, int fill, long pad_size )
+{
+ long file_offset = pad_size - header_size;
+
+ rom_addr = 0;
+ mask = 0;
+ size_ = 0;
+ rom.clear();
+
+ file_size_ = in.remain();
+ if ( file_size_ <= header_size ) // <= because there must be data after header
+ return gme_wrong_file_type;
+ blargg_err_t err = rom.resize( file_offset + file_size_ + pad_size );
+ if ( !err )
+ err = in.read( rom.begin() + file_offset, file_size_ );
+ if ( err )
+ {
+ rom.clear();
+ return err;
+ }
+
+ file_size_ -= header_size;
+ memcpy( header_out, &rom [file_offset], header_size );
+
+ memset( rom.begin() , fill, pad_size );
+ memset( rom.end() - pad_size, fill, pad_size );
+
+ return 0;
+}
+
+void Rom_Data_::set_addr_( long addr, int unit )
+{
+ rom_addr = addr - unit - pad_extra;
+
+ long rounded = (addr + file_size_ + unit - 1) / unit * unit;
+ if ( rounded <= 0 )
+ {
+ rounded = 0;
+ }
+ else
+ {
+ int shift = 0;
+ unsigned long max_addr = (unsigned long) (rounded - 1);
+ while ( max_addr >> shift )
+ shift++;
+ mask = (1L << shift) - 1;
+ }
+
+ if ( addr < 0 )
+ addr = 0;
+ size_ = rounded;
+ if ( rom.resize( rounded - rom_addr + pad_extra ) ) { } // OK if shrink fails
+
+ if ( 0 )
+ {
+ debug_printf( "addr: %X\n", addr );
+ debug_printf( "file_size: %d\n", file_size_ );
+ debug_printf( "rounded: %d\n", rounded );
+ debug_printf( "mask: $%X\n", mask );
+ }
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Classic_Emu.h b/plugins/gme/game-music-emu-svn/gme/Classic_Emu.h
new file mode 100644
index 00000000..d0cfda25
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Classic_Emu.h
@@ -0,0 +1,127 @@
+// Common aspects of emulators which use Blip_Buffer for sound output
+
+// Game_Music_Emu 0.5.5
+#ifndef CLASSIC_EMU_H
+#define CLASSIC_EMU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+#include "Music_Emu.h"
+
+class Classic_Emu : public Music_Emu {
+public:
+ Classic_Emu();
+ ~Classic_Emu();
+ void set_buffer( Multi_Buffer* );
+protected:
+ // Services
+ enum { wave_type = 0x100, noise_type = 0x200, mixed_type = wave_type | noise_type };
+ void set_voice_types( int const* t ) { voice_types = t; }
+ blargg_err_t setup_buffer( long clock_rate );
+ long clock_rate() const { return clock_rate_; }
+ void change_clock_rate( long ); // experimental
+
+ // Overridable
+ virtual void set_voice( int index, Blip_Buffer* center,
+ Blip_Buffer* left, Blip_Buffer* right ) = 0;
+ virtual void update_eq( blip_eq_t const& ) = 0;
+ virtual blargg_err_t start_track_( int track ) = 0;
+ virtual blargg_err_t run_clocks( blip_time_t& time_io, int msec ) = 0;
+protected:
+ blargg_err_t set_sample_rate_( long sample_rate );
+ void mute_voices_( int );
+ void set_equalizer_( equalizer_t const& );
+ blargg_err_t play_( long, sample_t* );
+private:
+ Multi_Buffer* buf;
+ Multi_Buffer* stereo_buffer; // NULL if using custom buffer
+ long clock_rate_;
+ unsigned buf_changed_count;
+ int const* voice_types;
+};
+
+inline void Classic_Emu::set_buffer( Multi_Buffer* new_buf )
+{
+ assert( !buf && new_buf );
+ buf = new_buf;
+}
+
+// ROM data handler, used by several Classic_Emu derivitives. Loads file data
+// with padding on both sides, allowing direct use in bank mapping. The main purpose
+// is to allow all file data to be loaded with only one read() call (for efficiency).
+
+class Rom_Data_ {
+public:
+ typedef unsigned char byte;
+protected:
+ enum { pad_extra = 8 };
+ blargg_vector<byte> rom;
+ long file_size_;
+ blargg_long rom_addr;
+ blargg_long mask;
+ blargg_long size_; // TODO: eliminate
+
+ blargg_err_t load_rom_data_( Data_Reader& in, int header_size, void* header_out,
+ int fill, long pad_size );
+ void set_addr_( long addr, int unit );
+};
+
+template<int unit>
+class Rom_Data : public Rom_Data_ {
+ enum { pad_size = unit + pad_extra };
+public:
+ // Load file data, using already-loaded header 'h' if not NULL. Copy header
+ // from loaded file data into *out and fill unmapped bytes with 'fill'.
+ blargg_err_t load( Data_Reader& in, int header_size, void* header_out, int fill )
+ {
+ return load_rom_data_( in, header_size, header_out, fill, pad_size );
+ }
+
+ // Size of file data read in (excluding header)
+ long file_size() const { return file_size_; }
+
+ // Pointer to beginning of file data
+ byte* begin() const { return rom.begin() + pad_size; }
+
+ // Set address that file data should start at
+ void set_addr( long addr ) { set_addr_( addr, unit ); }
+
+ // Free data
+ void clear() { rom.clear(); }
+
+ // Size of data + start addr, rounded to a multiple of unit
+ long size() const { return size_; }
+
+ // Pointer to unmapped page filled with same value
+ byte* unmapped() { return rom.begin(); }
+
+ // Mask address to nearest power of two greater than size()
+ blargg_long mask_addr( blargg_long addr ) const
+ {
+ #ifdef check
+ check( addr <= mask );
+ #endif
+ return addr & mask;
+ }
+
+ // Pointer to page starting at addr. Returns unmapped() if outside data.
+ byte* at_addr( blargg_long addr )
+ {
+ blargg_ulong offset = mask_addr( addr ) - rom_addr;
+ if ( offset > blargg_ulong (rom.size() - pad_size) )
+ offset = 0; // unmapped
+ return &rom [offset];
+ }
+};
+
+#ifndef GME_APU_HOOK
+ #define GME_APU_HOOK( emu, addr, data ) ((void) 0)
+#endif
+
+#ifndef GME_FRAME_HOOK
+ #define GME_FRAME_HOOK( emu ) ((void) 0)
+#else
+ #define GME_FRAME_HOOK_DEFINED 1
+#endif
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Data_Reader.cpp b/plugins/gme/game-music-emu-svn/gme/Data_Reader.cpp
new file mode 100644
index 00000000..5bbfbf55
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Data_Reader.cpp
@@ -0,0 +1,315 @@
+// File_Extractor 0.4.0. http://www.slack.net/~ant/
+
+#include "Data_Reader.h"
+
+#include "blargg_endian.h"
+#include <assert.h>
+#include <string.h>
+#include <stdio.h>
+
+/* Copyright (C) 2005-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+const char Data_Reader::eof_error [] = "Unexpected end of file";
+
+blargg_err_t Data_Reader::read( void* p, long s )
+{
+ long result = read_avail( p, s );
+ if ( result != s )
+ {
+ if ( result >= 0 && result < s )
+ return eof_error;
+
+ return "Read error";
+ }
+
+ return 0;
+}
+
+blargg_err_t Data_Reader::skip( long count )
+{
+ char buf [512];
+ while ( count )
+ {
+ long n = sizeof buf;
+ if ( n > count )
+ n = count;
+ count -= n;
+ RETURN_ERR( read( buf, n ) );
+ }
+ return 0;
+}
+
+long File_Reader::remain() const { return size() - tell(); }
+
+blargg_err_t File_Reader::skip( long n )
+{
+ assert( n >= 0 );
+ if ( !n )
+ return 0;
+ return seek( tell() + n );
+}
+
+// Subset_Reader
+
+Subset_Reader::Subset_Reader( Data_Reader* dr, long size )
+{
+ in = dr;
+ remain_ = dr->remain();
+ if ( remain_ > size )
+ remain_ = size;
+}
+
+long Subset_Reader::remain() const { return remain_; }
+
+long Subset_Reader::read_avail( void* p, long s )
+{
+ if ( s > remain_ )
+ s = remain_;
+ remain_ -= s;
+ return in->read_avail( p, s );
+}
+
+// Remaining_Reader
+
+Remaining_Reader::Remaining_Reader( void const* h, long size, Data_Reader* r )
+{
+ header = (char const*) h;
+ header_end = header + size;
+ in = r;
+}
+
+long Remaining_Reader::remain() const { return header_end - header + in->remain(); }
+
+long Remaining_Reader::read_first( void* out, long count )
+{
+ long first = header_end - header;
+ if ( first )
+ {
+ if ( first > count )
+ first = count;
+ void const* old = header;
+ header += first;
+ memcpy( out, old, first );
+ }
+ return first;
+}
+
+long Remaining_Reader::read_avail( void* out, long count )
+{
+ long first = read_first( out, count );
+ long second = count - first;
+ if ( second )
+ {
+ second = in->read_avail( (char*) out + first, second );
+ if ( second <= 0 )
+ return second;
+ }
+ return first + second;
+}
+
+blargg_err_t Remaining_Reader::read( void* out, long count )
+{
+ long first = read_first( out, count );
+ long second = count - first;
+ if ( !second )
+ return 0;
+ return in->read( (char*) out + first, second );
+}
+
+// Mem_File_Reader
+
+Mem_File_Reader::Mem_File_Reader( const void* p, long s ) :
+ begin( (const char*) p ),
+ size_( s )
+{
+ pos = 0;
+}
+
+long Mem_File_Reader::size() const { return size_; }
+
+long Mem_File_Reader::read_avail( void* p, long s )
+{
+ long r = remain();
+ if ( s > r )
+ s = r;
+ memcpy( p, begin + pos, s );
+ pos += s;
+ return s;
+}
+
+long Mem_File_Reader::tell() const { return pos; }
+
+blargg_err_t Mem_File_Reader::seek( long n )
+{
+ if ( n > size_ )
+ return eof_error;
+ pos = n;
+ return 0;
+}
+
+// Callback_Reader
+
+Callback_Reader::Callback_Reader( callback_t c, long size, void* d ) :
+ callback( c ),
+ data( d )
+{
+ remain_ = size;
+}
+
+long Callback_Reader::remain() const { return remain_; }
+
+long Callback_Reader::read_avail( void* out, long count )
+{
+ if ( count > remain_ )
+ count = remain_;
+ if ( Callback_Reader::read( out, count ) )
+ count = -1;
+ return count;
+}
+
+blargg_err_t Callback_Reader::read( void* out, long count )
+{
+ if ( count > remain_ )
+ return eof_error;
+ return callback( data, out, count );
+}
+
+// Std_File_Reader
+
+Std_File_Reader::Std_File_Reader() : file_( 0 ) { }
+
+Std_File_Reader::~Std_File_Reader() { close(); }
+
+blargg_err_t Std_File_Reader::open( const char* path )
+{
+ file_ = fopen( path, "rb" );
+ if ( !file_ )
+ return "Couldn't open file";
+ return 0;
+}
+
+long Std_File_Reader::size() const
+{
+ long pos = tell();
+ fseek( (FILE*) file_, 0, SEEK_END );
+ long result = tell();
+ fseek( (FILE*) file_, pos, SEEK_SET );
+ return result;
+}
+
+long Std_File_Reader::read_avail( void* p, long s )
+{
+ return fread( p, 1, s, (FILE*) file_ );
+}
+
+blargg_err_t Std_File_Reader::read( void* p, long s )
+{
+ if ( s == (long) fread( p, 1, s, (FILE*) file_ ) )
+ return 0;
+ if ( feof( (FILE*) file_ ) )
+ return eof_error;
+ return "Couldn't read from file";
+}
+
+long Std_File_Reader::tell() const { return ftell( (FILE*) file_ ); }
+
+blargg_err_t Std_File_Reader::seek( long n )
+{
+ if ( !fseek( (FILE*) file_, n, SEEK_SET ) )
+ return 0;
+ if ( n > size() )
+ return eof_error;
+ return "Error seeking in file";
+}
+
+void Std_File_Reader::close()
+{
+ if ( file_ )
+ {
+ fclose( (FILE*) file_ );
+ file_ = 0;
+ }
+}
+
+// Gzip_File_Reader
+
+#ifdef HAVE_ZLIB_H
+
+#include "zlib.h"
+
+static const char* get_gzip_eof( const char* path, long* eof )
+{
+ FILE* file = fopen( path, "rb" );
+ if ( !file )
+ return "Couldn't open file";
+
+ unsigned char buf [4];
+ if ( fread( buf, 2, 1, file ) > 0 && buf [0] == 0x1F && buf [1] == 0x8B )
+ {
+ fseek( file, -4, SEEK_END );
+ fread( buf, 4, 1, file );
+ *eof = get_le32( buf );
+ }
+ else
+ {
+ fseek( file, 0, SEEK_END );
+ *eof = ftell( file );
+ }
+ const char* err = (ferror( file ) || feof( file )) ? "Couldn't get file size" : 0;
+ fclose( file );
+ return err;
+}
+
+Gzip_File_Reader::Gzip_File_Reader() : file_( 0 ) { }
+
+Gzip_File_Reader::~Gzip_File_Reader() { close(); }
+
+blargg_err_t Gzip_File_Reader::open( const char* path )
+{
+ close();
+
+ RETURN_ERR( get_gzip_eof( path, &size_ ) );
+
+ file_ = gzopen( path, "rb" );
+ if ( !file_ )
+ return "Couldn't open file";
+
+ return 0;
+}
+
+long Gzip_File_Reader::size() const { return size_; }
+
+long Gzip_File_Reader::read_avail( void* p, long s ) { return gzread( file_, p, s ); }
+
+long Gzip_File_Reader::tell() const { return gztell( file_ ); }
+
+blargg_err_t Gzip_File_Reader::seek( long n )
+{
+ if ( gzseek( file_, n, SEEK_SET ) >= 0 )
+ return 0;
+ if ( n > size_ )
+ return eof_error;
+ return "Error seeking in file";
+}
+
+void Gzip_File_Reader::close()
+{
+ if ( file_ )
+ {
+ gzclose( file_ );
+ file_ = 0;
+ }
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Data_Reader.h b/plugins/gme/game-music-emu-svn/gme/Data_Reader.h
new file mode 100644
index 00000000..acf571f6
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Data_Reader.h
@@ -0,0 +1,151 @@
+// Data reader interface for uniform access
+
+// File_Extractor 0.4.0
+#ifndef DATA_READER_H
+#define DATA_READER_H
+
+#include "blargg_common.h"
+
+// Supports reading and finding out how many bytes are remaining
+class Data_Reader {
+public:
+ virtual ~Data_Reader() { }
+
+ static const char eof_error []; // returned by read() when request goes beyond end
+
+ // Read at most count bytes and return number actually read, or <= 0 if error
+ virtual long read_avail( void*, long n ) = 0;
+
+ // Read exactly count bytes and return error if they couldn't be read
+ virtual blargg_err_t read( void*, long count );
+
+ // Number of bytes remaining until end of file
+ virtual long remain() const = 0;
+
+ // Read and discard count bytes
+ virtual blargg_err_t skip( long count );
+
+public:
+ Data_Reader() { }
+ typedef blargg_err_t error_t; // deprecated
+private:
+ // noncopyable
+ Data_Reader( const Data_Reader& );
+ Data_Reader& operator = ( const Data_Reader& );
+};
+
+// Supports seeking in addition to Data_Reader operations
+class File_Reader : public Data_Reader {
+public:
+ // Size of file
+ virtual long size() const = 0;
+
+ // Current position in file
+ virtual long tell() const = 0;
+
+ // Go to new position
+ virtual blargg_err_t seek( long ) = 0;
+
+ long remain() const;
+ blargg_err_t skip( long n );
+};
+
+// Disk file reader
+class Std_File_Reader : public File_Reader {
+public:
+ blargg_err_t open( const char* path );
+ void close();
+
+public:
+ Std_File_Reader();
+ ~Std_File_Reader();
+ long size() const;
+ blargg_err_t read( void*, long );
+ long read_avail( void*, long );
+ long tell() const;
+ blargg_err_t seek( long );
+private:
+ void* file_;
+};
+
+// Treats range of memory as a file
+class Mem_File_Reader : public File_Reader {
+public:
+ Mem_File_Reader( const void*, long size );
+
+public:
+ long size() const;
+ long read_avail( void*, long );
+ long tell() const;
+ blargg_err_t seek( long );
+private:
+ const char* const begin;
+ const long size_;
+ long pos;
+};
+
+// Makes it look like there are only count bytes remaining
+class Subset_Reader : public Data_Reader {
+public:
+ Subset_Reader( Data_Reader*, long count );
+
+public:
+ long remain() const;
+ long read_avail( void*, long );
+private:
+ Data_Reader* in;
+ long remain_;
+};
+
+// Joins already-read header and remaining data into original file (to avoid seeking)
+class Remaining_Reader : public Data_Reader {
+public:
+ Remaining_Reader( void const* header, long size, Data_Reader* );
+
+public:
+ long remain() const;
+ long read_avail( void*, long );
+ blargg_err_t read( void*, long );
+private:
+ char const* header;
+ char const* header_end;
+ Data_Reader* in;
+ long read_first( void* out, long count );
+};
+
+// Invokes callback function to read data. Size of data must be specified in advance.
+class Callback_Reader : public Data_Reader {
+public:
+ typedef const char* (*callback_t)( void* data, void* out, int count );
+ Callback_Reader( callback_t, long size, void* data = 0 );
+public:
+ long read_avail( void*, long );
+ blargg_err_t read( void*, long );
+ long remain() const;
+private:
+ callback_t const callback;
+ void* const data;
+ long remain_;
+};
+
+#ifdef HAVE_ZLIB_H
+// Gzip compressed file reader
+class Gzip_File_Reader : public File_Reader {
+public:
+ blargg_err_t open( const char* path );
+ void close();
+
+public:
+ Gzip_File_Reader();
+ ~Gzip_File_Reader();
+ long size() const;
+ long read_avail( void*, long );
+ long tell() const;
+ blargg_err_t seek( long );
+private:
+ void* file_;
+ long size_;
+};
+#endif
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Dual_Resampler.cpp b/plugins/gme/game-music-emu-svn/gme/Dual_Resampler.cpp
new file mode 100644
index 00000000..090b0acf
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Dual_Resampler.cpp
@@ -0,0 +1,131 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Dual_Resampler.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+unsigned const resampler_extra = 256;
+
+Dual_Resampler::Dual_Resampler() { }
+
+Dual_Resampler::~Dual_Resampler() { }
+
+blargg_err_t Dual_Resampler::reset( int pairs )
+{
+ // expand allocations a bit
+ RETURN_ERR( sample_buf.resize( (pairs + (pairs >> 2)) * 2 ) );
+ resize( pairs );
+ resampler_size = oversamples_per_frame + (oversamples_per_frame >> 2);
+ return resampler.buffer_size( resampler_size );
+}
+
+void Dual_Resampler::resize( int pairs )
+{
+ int new_sample_buf_size = pairs * 2;
+ if ( sample_buf_size != new_sample_buf_size )
+ {
+ if ( (unsigned) new_sample_buf_size > sample_buf.size() )
+ {
+ check( false );
+ return;
+ }
+ sample_buf_size = new_sample_buf_size;
+ oversamples_per_frame = int (pairs * resampler.ratio()) * 2 + 2;
+ clear();
+ }
+}
+
+void Dual_Resampler::play_frame_( Blip_Buffer& blip_buf, dsample_t* out )
+{
+ long pair_count = sample_buf_size >> 1;
+ blip_time_t blip_time = blip_buf.count_clocks( pair_count );
+ int sample_count = oversamples_per_frame - resampler.written();
+
+ int new_count = play_frame( blip_time, sample_count, resampler.buffer() );
+ assert( new_count < resampler_size );
+
+ blip_buf.end_frame( blip_time );
+ assert( blip_buf.samples_avail() == pair_count );
+
+ resampler.write( new_count );
+
+ long count = resampler.read( sample_buf.begin(), sample_buf_size );
+ assert( count == (long) sample_buf_size );
+
+ mix_samples( blip_buf, out );
+ blip_buf.remove_samples( pair_count );
+}
+
+void Dual_Resampler::dual_play( long count, dsample_t* out, Blip_Buffer& blip_buf )
+{
+ // empty extra buffer
+ long remain = sample_buf_size - buf_pos;
+ if ( remain )
+ {
+ if ( remain > count )
+ remain = count;
+ count -= remain;
+ memcpy( out, &sample_buf [buf_pos], remain * sizeof *out );
+ out += remain;
+ buf_pos += remain;
+ }
+
+ // entire frames
+ while ( count >= (long) sample_buf_size )
+ {
+ play_frame_( blip_buf, out );
+ out += sample_buf_size;
+ count -= sample_buf_size;
+ }
+
+ // extra
+ if ( count )
+ {
+ play_frame_( blip_buf, sample_buf.begin() );
+ buf_pos = count;
+ memcpy( out, sample_buf.begin(), count * sizeof *out );
+ out += count;
+ }
+}
+
+void Dual_Resampler::mix_samples( Blip_Buffer& blip_buf, dsample_t* out )
+{
+ Blip_Reader sn;
+ int bass = sn.begin( blip_buf );
+ const dsample_t* in = sample_buf.begin();
+
+ for ( int n = sample_buf_size >> 1; n--; )
+ {
+ int s = sn.read();
+ blargg_long l = (blargg_long) in [0] * 2 + s;
+ if ( (BOOST::int16_t) l != l )
+ l = 0x7FFF - (l >> 24);
+
+ sn.next( bass );
+ blargg_long r = (blargg_long) in [1] * 2 + s;
+ if ( (BOOST::int16_t) r != r )
+ r = 0x7FFF - (r >> 24);
+
+ in += 2;
+ out [0] = l;
+ out [1] = r;
+ out += 2;
+ }
+
+ sn.end( blip_buf );
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Dual_Resampler.h b/plugins/gme/game-music-emu-svn/gme/Dual_Resampler.h
new file mode 100644
index 00000000..e3194fe7
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Dual_Resampler.h
@@ -0,0 +1,50 @@
+// Combination of Fir_Resampler and Blip_Buffer mixing. Used by Sega FM emulators.
+
+// Game_Music_Emu 0.5.5
+#ifndef DUAL_RESAMPLER_H
+#define DUAL_RESAMPLER_H
+
+#include "Fir_Resampler.h"
+#include "Blip_Buffer.h"
+
+class Dual_Resampler {
+public:
+ Dual_Resampler();
+ virtual ~Dual_Resampler();
+
+ typedef short dsample_t;
+
+ double setup( double oversample, double rolloff, double gain );
+ blargg_err_t reset( int max_pairs );
+ void resize( int pairs_per_frame );
+ void clear();
+
+ void dual_play( long count, dsample_t* out, Blip_Buffer& );
+
+protected:
+ virtual int play_frame( blip_time_t, int pcm_count, dsample_t* pcm_out ) = 0;
+private:
+
+ blargg_vector<dsample_t> sample_buf;
+ int sample_buf_size;
+ int oversamples_per_frame;
+ int buf_pos;
+ int resampler_size;
+
+ Fir_Resampler<12> resampler;
+ void mix_samples( Blip_Buffer&, dsample_t* );
+ void play_frame_( Blip_Buffer&, dsample_t* );
+};
+
+inline double Dual_Resampler::setup( double oversample, double rolloff, double gain )
+{
+ return resampler.time_ratio( oversample, rolloff, gain * 0.5 );
+}
+
+inline void Dual_Resampler::clear()
+{
+ buf_pos = sample_buf_size;
+ resampler.clear();
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Effects_Buffer.cpp b/plugins/gme/game-music-emu-svn/gme/Effects_Buffer.cpp
new file mode 100644
index 00000000..181b11e9
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Effects_Buffer.cpp
@@ -0,0 +1,529 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Effects_Buffer.h"
+
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+typedef blargg_long fixed_t;
+
+#define TO_FIXED( f ) fixed_t ((f) * (1L << 15) + 0.5)
+#define FMUL( x, y ) (((x) * (y)) >> 15)
+
+const unsigned echo_size = 4096;
+const unsigned echo_mask = echo_size - 1;
+BOOST_STATIC_ASSERT( (echo_size & echo_mask) == 0 ); // must be power of 2
+
+const unsigned reverb_size = 8192 * 2;
+const unsigned reverb_mask = reverb_size - 1;
+BOOST_STATIC_ASSERT( (reverb_size & reverb_mask) == 0 ); // must be power of 2
+
+Effects_Buffer::config_t::config_t()
+{
+ pan_1 = -0.15f;
+ pan_2 = 0.15f;
+ reverb_delay = 88.0f;
+ reverb_level = 0.12f;
+ echo_delay = 61.0f;
+ echo_level = 0.10f;
+ delay_variance = 18.0f;
+ effects_enabled = false;
+}
+
+void Effects_Buffer::set_depth( double d )
+{
+ float f = (float) d;
+ config_t c;
+ c.pan_1 = -0.6f * f;
+ c.pan_2 = 0.6f * f;
+ c.reverb_delay = 880 * 0.1f;
+ c.echo_delay = 610 * 0.1f;
+ if ( f > 0.5 )
+ f = 0.5; // TODO: more linear reduction of extreme reverb/echo
+ c.reverb_level = 0.5f * f;
+ c.echo_level = 0.30f * f;
+ c.delay_variance = 180 * 0.1f;
+ c.effects_enabled = (d > 0.0f);
+ config( c );
+}
+
+Effects_Buffer::Effects_Buffer( bool center_only ) : Multi_Buffer( 2 )
+{
+ buf_count = center_only ? max_buf_count - 4 : max_buf_count;
+
+ echo_pos = 0;
+ reverb_pos = 0;
+
+ stereo_remain = 0;
+ effect_remain = 0;
+ effects_enabled = false;
+ set_depth( 0 );
+}
+
+Effects_Buffer::~Effects_Buffer() { }
+
+blargg_err_t Effects_Buffer::set_sample_rate( long rate, int msec )
+{
+ if ( !echo_buf.size() )
+ RETURN_ERR( echo_buf.resize( echo_size ) );
+
+ if ( !reverb_buf.size() )
+ RETURN_ERR( reverb_buf.resize( reverb_size ) );
+
+ for ( int i = 0; i < buf_count; i++ )
+ RETURN_ERR( bufs [i].set_sample_rate( rate, msec ) );
+
+ config( config_ );
+ clear();
+
+ return Multi_Buffer::set_sample_rate( bufs [0].sample_rate(), bufs [0].length() );
+}
+
+void Effects_Buffer::clock_rate( long rate )
+{
+ for ( int i = 0; i < buf_count; i++ )
+ bufs [i].clock_rate( rate );
+}
+
+void Effects_Buffer::bass_freq( int freq )
+{
+ for ( int i = 0; i < buf_count; i++ )
+ bufs [i].bass_freq( freq );
+}
+
+void Effects_Buffer::clear()
+{
+ stereo_remain = 0;
+ effect_remain = 0;
+ if ( echo_buf.size() )
+ memset( &echo_buf [0], 0, echo_size * sizeof echo_buf [0] );
+
+ if ( reverb_buf.size() )
+ memset( &reverb_buf [0], 0, reverb_size * sizeof reverb_buf [0] );
+
+ for ( int i = 0; i < buf_count; i++ )
+ bufs [i].clear();
+}
+
+inline int pin_range( int n, int max, int min = 0 )
+{
+ if ( n < min )
+ return min;
+ if ( n > max )
+ return max;
+ return n;
+}
+
+void Effects_Buffer::config( const config_t& cfg )
+{
+ channels_changed();
+
+ // clear echo and reverb buffers
+ if ( !config_.effects_enabled && cfg.effects_enabled && echo_buf.size() )
+ {
+ memset( &echo_buf [0], 0, echo_size * sizeof echo_buf [0] );
+ memset( &reverb_buf [0], 0, reverb_size * sizeof reverb_buf [0] );
+ }
+
+ config_ = cfg;
+
+ if ( config_.effects_enabled )
+ {
+ // convert to internal format
+
+ chans.pan_1_levels [0] = TO_FIXED( 1 ) - TO_FIXED( config_.pan_1 );
+ chans.pan_1_levels [1] = TO_FIXED( 2 ) - chans.pan_1_levels [0];
+
+ chans.pan_2_levels [0] = TO_FIXED( 1 ) - TO_FIXED( config_.pan_2 );
+ chans.pan_2_levels [1] = TO_FIXED( 2 ) - chans.pan_2_levels [0];
+
+ chans.reverb_level = TO_FIXED( config_.reverb_level );
+ chans.echo_level = TO_FIXED( config_.echo_level );
+
+ int delay_offset = int (1.0 / 2000 * config_.delay_variance * sample_rate());
+
+ int reverb_sample_delay = int (1.0 / 1000 * config_.reverb_delay * sample_rate());
+ chans.reverb_delay_l = pin_range( reverb_size -
+ (reverb_sample_delay - delay_offset) * 2, reverb_size - 2, 0 );
+ chans.reverb_delay_r = pin_range( reverb_size + 1 -
+ (reverb_sample_delay + delay_offset) * 2, reverb_size - 1, 1 );
+
+ int echo_sample_delay = int (1.0 / 1000 * config_.echo_delay * sample_rate());
+ chans.echo_delay_l = pin_range( echo_size - 1 - (echo_sample_delay - delay_offset),
+ echo_size - 1 );
+ chans.echo_delay_r = pin_range( echo_size - 1 - (echo_sample_delay + delay_offset),
+ echo_size - 1 );
+
+ chan_types [0].center = &bufs [0];
+ chan_types [0].left = &bufs [3];
+ chan_types [0].right = &bufs [4];
+
+ chan_types [1].center = &bufs [1];
+ chan_types [1].left = &bufs [3];
+ chan_types [1].right = &bufs [4];
+
+ chan_types [2].center = &bufs [2];
+ chan_types [2].left = &bufs [5];
+ chan_types [2].right = &bufs [6];
+ assert( 2 < chan_types_count );
+ }
+ else
+ {
+ // set up outputs
+ for ( unsigned i = 0; i < chan_types_count; i++ )
+ {
+ channel_t& c = chan_types [i];
+ c.center = &bufs [0];
+ c.left = &bufs [1];
+ c.right = &bufs [2];
+ }
+ }
+
+ if ( buf_count < max_buf_count )
+ {
+ for ( int i = 0; i < chan_types_count; i++ )
+ {
+ channel_t& c = chan_types [i];
+ c.left = c.center;
+ c.right = c.center;
+ }
+ }
+}
+
+Effects_Buffer::channel_t Effects_Buffer::channel( int i, int type )
+{
+ int out = 2;
+ if ( !type )
+ {
+ out = i % 5;
+ if ( out > 2 )
+ out = 2;
+ }
+ else if ( !(type & noise_type) && (type & type_index_mask) % 3 != 0 )
+ {
+ out = type & 1;
+ }
+ return chan_types [out];
+}
+
+void Effects_Buffer::end_frame( blip_time_t clock_count )
+{
+ int bufs_used = 0;
+ for ( int i = 0; i < buf_count; i++ )
+ {
+ bufs_used |= bufs [i].clear_modified() << i;
+ bufs [i].end_frame( clock_count );
+ }
+
+ int stereo_mask = (config_.effects_enabled ? 0x78 : 0x06);
+ if ( (bufs_used & stereo_mask) && buf_count == max_buf_count )
+ stereo_remain = bufs [0].samples_avail() + bufs [0].output_latency();
+
+ if ( effects_enabled || config_.effects_enabled )
+ effect_remain = bufs [0].samples_avail() + bufs [0].output_latency();
+
+ effects_enabled = config_.effects_enabled;
+}
+
+long Effects_Buffer::samples_avail() const
+{
+ return bufs [0].samples_avail() * 2;
+}
+
+long Effects_Buffer::read_samples( blip_sample_t* out, long total_samples )
+{
+ require( total_samples % 2 == 0 ); // count must be even
+
+ long remain = bufs [0].samples_avail();
+ if ( remain > (total_samples >> 1) )
+ remain = (total_samples >> 1);
+ total_samples = remain;
+ while ( remain )
+ {
+ int active_bufs = buf_count;
+ long count = remain;
+
+ // optimizing mixing to skip any channels which had nothing added
+ if ( effect_remain )
+ {
+ if ( count > effect_remain )
+ count = effect_remain;
+
+ if ( stereo_remain )
+ {
+ mix_enhanced( out, count );
+ }
+ else
+ {
+ mix_mono_enhanced( out, count );
+ active_bufs = 3;
+ }
+ }
+ else if ( stereo_remain )
+ {
+ mix_stereo( out, count );
+ active_bufs = 3;
+ }
+ else
+ {
+ mix_mono( out, count );
+ active_bufs = 1;
+ }
+
+ out += count * 2;
+ remain -= count;
+
+ stereo_remain -= count;
+ if ( stereo_remain < 0 )
+ stereo_remain = 0;
+
+ effect_remain -= count;
+ if ( effect_remain < 0 )
+ effect_remain = 0;
+
+ for ( int i = 0; i < buf_count; i++ )
+ {
+ if ( i < active_bufs )
+ bufs [i].remove_samples( count );
+ else
+ bufs [i].remove_silence( count ); // keep time synchronized
+ }
+ }
+
+ return total_samples * 2;
+}
+
+void Effects_Buffer::mix_mono( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [0] );
+ BLIP_READER_BEGIN( c, bufs [0] );
+
+ // unrolled loop
+ for ( blargg_long n = count >> 1; n; --n )
+ {
+ blargg_long cs0 = BLIP_READER_READ( c );
+ BLIP_READER_NEXT( c, bass );
+
+ blargg_long cs1 = BLIP_READER_READ( c );
+ BLIP_READER_NEXT( c, bass );
+
+ if ( (BOOST::int16_t) cs0 != cs0 )
+ cs0 = 0x7FFF - (cs0 >> 24);
+ ((BOOST::uint32_t*) out) [0] = ((BOOST::uint16_t) cs0) | (cs0 << 16);
+
+ if ( (BOOST::int16_t) cs1 != cs1 )
+ cs1 = 0x7FFF - (cs1 >> 24);
+ ((BOOST::uint32_t*) out) [1] = ((BOOST::uint16_t) cs1) | (cs1 << 16);
+ out += 4;
+ }
+
+ if ( count & 1 )
+ {
+ int s = BLIP_READER_READ( c );
+ BLIP_READER_NEXT( c, bass );
+ out [0] = s;
+ out [1] = s;
+ if ( (BOOST::int16_t) s != s )
+ {
+ s = 0x7FFF - (s >> 24);
+ out [0] = s;
+ out [1] = s;
+ }
+ }
+
+ BLIP_READER_END( c, bufs [0] );
+}
+
+void Effects_Buffer::mix_stereo( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [0] );
+ BLIP_READER_BEGIN( c, bufs [0] );
+ BLIP_READER_BEGIN( l, bufs [1] );
+ BLIP_READER_BEGIN( r, bufs [2] );
+
+ while ( count-- )
+ {
+ int cs = BLIP_READER_READ( c );
+ BLIP_READER_NEXT( c, bass );
+ int left = cs + BLIP_READER_READ( l );
+ int right = cs + BLIP_READER_READ( r );
+ BLIP_READER_NEXT( l, bass );
+ BLIP_READER_NEXT( r, bass );
+
+ if ( (BOOST::int16_t) left != left )
+ left = 0x7FFF - (left >> 24);
+
+ out [0] = left;
+ out [1] = right;
+
+ out += 2;
+
+ if ( (BOOST::int16_t) right != right )
+ out [-1] = 0x7FFF - (right >> 24);
+ }
+
+ BLIP_READER_END( r, bufs [2] );
+ BLIP_READER_END( l, bufs [1] );
+ BLIP_READER_END( c, bufs [0] );
+}
+
+void Effects_Buffer::mix_mono_enhanced( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [2] );
+ BLIP_READER_BEGIN( center, bufs [2] );
+ BLIP_READER_BEGIN( sq1, bufs [0] );
+ BLIP_READER_BEGIN( sq2, bufs [1] );
+
+ blip_sample_t* const reverb_buf = this->reverb_buf.begin();
+ blip_sample_t* const echo_buf = this->echo_buf.begin();
+ int echo_pos = this->echo_pos;
+ int reverb_pos = this->reverb_pos;
+
+ while ( count-- )
+ {
+ int sum1_s = BLIP_READER_READ( sq1 );
+ int sum2_s = BLIP_READER_READ( sq2 );
+
+ BLIP_READER_NEXT( sq1, bass );
+ BLIP_READER_NEXT( sq2, bass );
+
+ int new_reverb_l = FMUL( sum1_s, chans.pan_1_levels [0] ) +
+ FMUL( sum2_s, chans.pan_2_levels [0] ) +
+ reverb_buf [(reverb_pos + chans.reverb_delay_l) & reverb_mask];
+
+ int new_reverb_r = FMUL( sum1_s, chans.pan_1_levels [1] ) +
+ FMUL( sum2_s, chans.pan_2_levels [1] ) +
+ reverb_buf [(reverb_pos + chans.reverb_delay_r) & reverb_mask];
+
+ fixed_t reverb_level = chans.reverb_level;
+ reverb_buf [reverb_pos] = (blip_sample_t) FMUL( new_reverb_l, reverb_level );
+ reverb_buf [reverb_pos + 1] = (blip_sample_t) FMUL( new_reverb_r, reverb_level );
+ reverb_pos = (reverb_pos + 2) & reverb_mask;
+
+ int sum3_s = BLIP_READER_READ( center );
+ BLIP_READER_NEXT( center, bass );
+
+ int left = new_reverb_l + sum3_s + FMUL( chans.echo_level,
+ echo_buf [(echo_pos + chans.echo_delay_l) & echo_mask] );
+ int right = new_reverb_r + sum3_s + FMUL( chans.echo_level,
+ echo_buf [(echo_pos + chans.echo_delay_r) & echo_mask] );
+
+ echo_buf [echo_pos] = sum3_s;
+ echo_pos = (echo_pos + 1) & echo_mask;
+
+ if ( (BOOST::int16_t) left != left )
+ left = 0x7FFF - (left >> 24);
+
+ out [0] = left;
+ out [1] = right;
+
+ out += 2;
+
+ if ( (BOOST::int16_t) right != right )
+ out [-1] = 0x7FFF - (right >> 24);
+ }
+ this->reverb_pos = reverb_pos;
+ this->echo_pos = echo_pos;
+
+ BLIP_READER_END( sq1, bufs [0] );
+ BLIP_READER_END( sq2, bufs [1] );
+ BLIP_READER_END( center, bufs [2] );
+}
+
+void Effects_Buffer::mix_enhanced( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [2] );
+ BLIP_READER_BEGIN( center, bufs [2] );
+ BLIP_READER_BEGIN( l1, bufs [3] );
+ BLIP_READER_BEGIN( r1, bufs [4] );
+ BLIP_READER_BEGIN( l2, bufs [5] );
+ BLIP_READER_BEGIN( r2, bufs [6] );
+ BLIP_READER_BEGIN( sq1, bufs [0] );
+ BLIP_READER_BEGIN( sq2, bufs [1] );
+
+ blip_sample_t* const reverb_buf = this->reverb_buf.begin();
+ blip_sample_t* const echo_buf = this->echo_buf.begin();
+ int echo_pos = this->echo_pos;
+ int reverb_pos = this->reverb_pos;
+
+ while ( count-- )
+ {
+ int sum1_s = BLIP_READER_READ( sq1 );
+ int sum2_s = BLIP_READER_READ( sq2 );
+
+ BLIP_READER_NEXT( sq1, bass );
+ BLIP_READER_NEXT( sq2, bass );
+
+ int new_reverb_l = FMUL( sum1_s, chans.pan_1_levels [0] ) +
+ FMUL( sum2_s, chans.pan_2_levels [0] ) + BLIP_READER_READ( l1 ) +
+ reverb_buf [(reverb_pos + chans.reverb_delay_l) & reverb_mask];
+
+ int new_reverb_r = FMUL( sum1_s, chans.pan_1_levels [1] ) +
+ FMUL( sum2_s, chans.pan_2_levels [1] ) + BLIP_READER_READ( r1 ) +
+ reverb_buf [(reverb_pos + chans.reverb_delay_r) & reverb_mask];
+
+ BLIP_READER_NEXT( l1, bass );
+ BLIP_READER_NEXT( r1, bass );
+
+ fixed_t reverb_level = chans.reverb_level;
+ reverb_buf [reverb_pos] = (blip_sample_t) FMUL( new_reverb_l, reverb_level );
+ reverb_buf [reverb_pos + 1] = (blip_sample_t) FMUL( new_reverb_r, reverb_level );
+ reverb_pos = (reverb_pos + 2) & reverb_mask;
+
+ int sum3_s = BLIP_READER_READ( center );
+ BLIP_READER_NEXT( center, bass );
+
+ int left = new_reverb_l + sum3_s + BLIP_READER_READ( l2 ) + FMUL( chans.echo_level,
+ echo_buf [(echo_pos + chans.echo_delay_l) & echo_mask] );
+ int right = new_reverb_r + sum3_s + BLIP_READER_READ( r2 ) + FMUL( chans.echo_level,
+ echo_buf [(echo_pos + chans.echo_delay_r) & echo_mask] );
+
+ BLIP_READER_NEXT( l2, bass );
+ BLIP_READER_NEXT( r2, bass );
+
+ echo_buf [echo_pos] = sum3_s;
+ echo_pos = (echo_pos + 1) & echo_mask;
+
+ if ( (BOOST::int16_t) left != left )
+ left = 0x7FFF - (left >> 24);
+
+ out [0] = left;
+ out [1] = right;
+
+ out += 2;
+
+ if ( (BOOST::int16_t) right != right )
+ out [-1] = 0x7FFF - (right >> 24);
+ }
+ this->reverb_pos = reverb_pos;
+ this->echo_pos = echo_pos;
+
+ BLIP_READER_END( l1, bufs [3] );
+ BLIP_READER_END( r1, bufs [4] );
+ BLIP_READER_END( l2, bufs [5] );
+ BLIP_READER_END( r2, bufs [6] );
+ BLIP_READER_END( sq1, bufs [0] );
+ BLIP_READER_END( sq2, bufs [1] );
+ BLIP_READER_END( center, bufs [2] );
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Effects_Buffer.h b/plugins/gme/game-music-emu-svn/gme/Effects_Buffer.h
new file mode 100644
index 00000000..061f74ab
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Effects_Buffer.h
@@ -0,0 +1,86 @@
+// Multi-channel effects buffer with panning, echo and reverb
+
+// Game_Music_Emu 0.5.5
+#ifndef EFFECTS_BUFFER_H
+#define EFFECTS_BUFFER_H
+
+#include "Multi_Buffer.h"
+
+// Effects_Buffer uses several buffers and outputs stereo sample pairs.
+class Effects_Buffer : public Multi_Buffer {
+public:
+ // If center_only is true, only center buffers are created and
+ // less memory is used.
+ Effects_Buffer( bool center_only = false );
+
+ // Channel Effect Center Pan
+ // ---------------------------------
+ // 0,5 reverb pan_1
+ // 1,6 reverb pan_2
+ // 2,7 echo -
+ // 3 echo -
+ // 4 echo -
+
+ // Channel configuration
+ struct config_t {
+ double pan_1; // -1.0 = left, 0.0 = center, 1.0 = right
+ double pan_2;
+ double echo_delay; // msec
+ double echo_level; // 0.0 to 1.0
+ double reverb_delay; // msec
+ double delay_variance; // difference between left/right delays (msec)
+ double reverb_level; // 0.0 to 1.0
+ bool effects_enabled; // if false, use optimized simple mixer
+ config_t();
+ };
+
+ // Set configuration of buffer
+ virtual void config( const config_t& );
+ void set_depth( double );
+
+public:
+ ~Effects_Buffer();
+ blargg_err_t set_sample_rate( long samples_per_sec, int msec = blip_default_length );
+ void clock_rate( long );
+ void bass_freq( int );
+ void clear();
+ channel_t channel( int, int );
+ void end_frame( blip_time_t );
+ long read_samples( blip_sample_t*, long );
+ long samples_avail() const;
+private:
+ typedef long fixed_t;
+
+ enum { max_buf_count = 7 };
+ Blip_Buffer bufs [max_buf_count];
+ enum { chan_types_count = 3 };
+ channel_t chan_types [3];
+ config_t config_;
+ long stereo_remain;
+ long effect_remain;
+ int buf_count;
+ bool effects_enabled;
+
+ blargg_vector<blip_sample_t> reverb_buf;
+ blargg_vector<blip_sample_t> echo_buf;
+ int reverb_pos;
+ int echo_pos;
+
+ struct {
+ fixed_t pan_1_levels [2];
+ fixed_t pan_2_levels [2];
+ int echo_delay_l;
+ int echo_delay_r;
+ fixed_t echo_level;
+ int reverb_delay_l;
+ int reverb_delay_r;
+ fixed_t reverb_level;
+ } chans;
+
+ void mix_mono( blip_sample_t*, blargg_long );
+ void mix_stereo( blip_sample_t*, blargg_long );
+ void mix_enhanced( blip_sample_t*, blargg_long );
+ void mix_mono_enhanced( blip_sample_t*, blargg_long );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Fir_Resampler.cpp b/plugins/gme/game-music-emu-svn/gme/Fir_Resampler.cpp
new file mode 100644
index 00000000..f2c905a9
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Fir_Resampler.cpp
@@ -0,0 +1,199 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Fir_Resampler.h"
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+
+/* Copyright (C) 2004-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+#undef PI
+#define PI 3.1415926535897932384626433832795029
+
+static void gen_sinc( double rolloff, int width, double offset, double spacing, double scale,
+ int count, short* out )
+{
+ double const maxh = 256;
+ double const step = PI / maxh * spacing;
+ double const to_w = maxh * 2 / width;
+ double const pow_a_n = pow( rolloff, maxh );
+ scale /= maxh * 2;
+
+ double angle = (count / 2 - 1 + offset) * -step;
+ while ( count-- )
+ {
+ *out++ = 0;
+ double w = angle * to_w;
+ if ( fabs( w ) < PI )
+ {
+ double rolloff_cos_a = rolloff * cos( angle );
+ double num = 1 - rolloff_cos_a -
+ pow_a_n * cos( maxh * angle ) +
+ pow_a_n * rolloff * cos( (maxh - 1) * angle );
+ double den = 1 - rolloff_cos_a - rolloff_cos_a + rolloff * rolloff;
+ double sinc = scale * num / den - scale;
+
+ out [-1] = (short) (cos( w ) * sinc + sinc);
+ }
+ angle += step;
+ }
+}
+
+Fir_Resampler_::Fir_Resampler_( int width, sample_t* impulses_ ) :
+ width_( width ),
+ write_offset( width * stereo - stereo ),
+ impulses( impulses_ )
+{
+ write_pos = 0;
+ res = 1;
+ imp_phase = 0;
+ skip_bits = 0;
+ step = stereo;
+ ratio_ = 1.0;
+}
+
+Fir_Resampler_::~Fir_Resampler_() { }
+
+void Fir_Resampler_::clear()
+{
+ imp_phase = 0;
+ if ( buf.size() )
+ {
+ write_pos = &buf [write_offset];
+ memset( buf.begin(), 0, write_offset * sizeof buf [0] );
+ }
+}
+
+blargg_err_t Fir_Resampler_::buffer_size( int new_size )
+{
+ RETURN_ERR( buf.resize( new_size + write_offset ) );
+ clear();
+ return 0;
+}
+
+double Fir_Resampler_::time_ratio( double new_factor, double rolloff, double gain )
+{
+ ratio_ = new_factor;
+
+ double fstep = 0.0;
+ {
+ double least_error = 2;
+ double pos = 0;
+ res = -1;
+ for ( int r = 1; r <= max_res; r++ )
+ {
+ pos += ratio_;
+ double nearest = floor( pos + 0.5 );
+ double error = fabs( pos - nearest );
+ if ( error < least_error )
+ {
+ res = r;
+ fstep = nearest / res;
+ least_error = error;
+ }
+ }
+ }
+
+ skip_bits = 0;
+
+ step = stereo * (int) floor( fstep );
+
+ ratio_ = fstep;
+ fstep = fmod( fstep, 1.0 );
+
+ double filter = (ratio_ < 1.0) ? 1.0 : 1.0 / ratio_;
+ double pos = 0.0;
+ input_per_cycle = 0;
+ for ( int i = 0; i < res; i++ )
+ {
+ gen_sinc( rolloff, int (width_ * filter + 1) & ~1, pos, filter,
+ double (0x7FFF * gain * filter),
+ (int) width_, impulses + i * width_ );
+
+ pos += fstep;
+ input_per_cycle += step;
+ if ( pos >= 0.9999999 )
+ {
+ pos -= 1.0;
+ skip_bits |= 1 << i;
+ input_per_cycle++;
+ }
+ }
+
+ clear();
+
+ return ratio_;
+}
+
+int Fir_Resampler_::input_needed( blargg_long output_count ) const
+{
+ blargg_long input_count = 0;
+
+ unsigned long skip = skip_bits >> imp_phase;
+ int remain = res - imp_phase;
+ while ( (output_count -= 2) > 0 )
+ {
+ input_count += step + (skip & 1) * stereo;
+ skip >>= 1;
+ if ( !--remain )
+ {
+ skip = skip_bits;
+ remain = res;
+ }
+ output_count -= 2;
+ }
+
+ long input_extra = input_count - (write_pos - &buf [(width_ - 1) * stereo]);
+ if ( input_extra < 0 )
+ input_extra = 0;
+ return input_extra;
+}
+
+int Fir_Resampler_::avail_( blargg_long input_count ) const
+{
+ int cycle_count = input_count / input_per_cycle;
+ int output_count = cycle_count * res * stereo;
+ input_count -= cycle_count * input_per_cycle;
+
+ blargg_ulong skip = skip_bits >> imp_phase;
+ int remain = res - imp_phase;
+ while ( input_count >= 0 )
+ {
+ input_count -= step + (skip & 1) * stereo;
+ skip >>= 1;
+ if ( !--remain )
+ {
+ skip = skip_bits;
+ remain = res;
+ }
+ output_count += 2;
+ }
+ return output_count;
+}
+
+int Fir_Resampler_::skip_input( long count )
+{
+ int remain = write_pos - buf.begin();
+ int max_count = remain - width_ * stereo;
+ if ( count > max_count )
+ count = max_count;
+
+ remain -= count;
+ write_pos = &buf [remain];
+ memmove( buf.begin(), &buf [count], remain * sizeof buf [0] );
+
+ return count;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Fir_Resampler.h b/plugins/gme/game-music-emu-svn/gme/Fir_Resampler.h
new file mode 100644
index 00000000..aed87492
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Fir_Resampler.h
@@ -0,0 +1,171 @@
+// Finite impulse response (FIR) resampler with adjustable FIR size
+
+// Game_Music_Emu 0.5.5
+#ifndef FIR_RESAMPLER_H
+#define FIR_RESAMPLER_H
+
+#include "blargg_common.h"
+#include <string.h>
+
+class Fir_Resampler_ {
+public:
+
+ // Use Fir_Resampler<width> (below)
+
+ // Set input/output resampling ratio and optionally low-pass rolloff and gain.
+ // Returns actual ratio used (rounded to internal precision).
+ double time_ratio( double factor, double rolloff = 0.999, double gain = 1.0 );
+
+ // Current input/output ratio
+ double ratio() const { return ratio_; }
+
+// Input
+
+ typedef short sample_t;
+
+ // Resize and clear input buffer
+ blargg_err_t buffer_size( int );
+
+ // Clear input buffer. At least two output samples will be available after
+ // two input samples are written.
+ void clear();
+
+ // Number of input samples that can be written
+ int max_write() const { return buf.end() - write_pos; }
+
+ // Pointer to place to write input samples
+ sample_t* buffer() { return write_pos; }
+
+ // Notify resampler that 'count' input samples have been written
+ void write( long count );
+
+ // Number of input samples in buffer
+ int written() const { return write_pos - &buf [write_offset]; }
+
+ // Skip 'count' input samples. Returns number of samples actually skipped.
+ int skip_input( long count );
+
+// Output
+
+ // Number of extra input samples needed until 'count' output samples are available
+ int input_needed( blargg_long count ) const;
+
+ // Number of output samples available
+ int avail() const { return avail_( write_pos - &buf [width_ * stereo] ); }
+
+public:
+ ~Fir_Resampler_();
+protected:
+ enum { stereo = 2 };
+ enum { max_res = 32 };
+ blargg_vector<sample_t> buf;
+ sample_t* write_pos;
+ int res;
+ int imp_phase;
+ int const width_;
+ int const write_offset;
+ blargg_ulong skip_bits;
+ int step;
+ int input_per_cycle;
+ double ratio_;
+ sample_t* impulses;
+
+ Fir_Resampler_( int width, sample_t* );
+ int avail_( blargg_long input_count ) const;
+};
+
+// Width is number of points in FIR. Must be even and 4 or more. More points give
+// better quality and rolloff effectiveness, and take longer to calculate.
+template<int width>
+class Fir_Resampler : public Fir_Resampler_ {
+ BOOST_STATIC_ASSERT( width >= 4 && width % 2 == 0 );
+ short impulses [max_res] [width];
+public:
+ Fir_Resampler() : Fir_Resampler_( width, impulses [0] ) { }
+
+ // Read at most 'count' samples. Returns number of samples actually read.
+ typedef short sample_t;
+ int read( sample_t* out, blargg_long count );
+};
+
+// End of public interface
+
+inline void Fir_Resampler_::write( long count )
+{
+ write_pos += count;
+ assert( write_pos <= buf.end() );
+}
+
+template<int width>
+int Fir_Resampler<width>::read( sample_t* out_begin, blargg_long count )
+{
+ sample_t* out = out_begin;
+ const sample_t* in = buf.begin();
+ sample_t* end_pos = write_pos;
+ blargg_ulong skip = skip_bits >> imp_phase;
+ sample_t const* imp = impulses [imp_phase];
+ int remain = res - imp_phase;
+ int const step = this->step;
+
+ count >>= 1;
+
+ if ( end_pos - in >= width * stereo )
+ {
+ end_pos -= width * stereo;
+ do
+ {
+ count--;
+
+ // accumulate in extended precision
+ blargg_long l = 0;
+ blargg_long r = 0;
+
+ const sample_t* i = in;
+ if ( count < 0 )
+ break;
+
+ for ( int n = width / 2; n; --n )
+ {
+ int pt0 = imp [0];
+ l += pt0 * i [0];
+ r += pt0 * i [1];
+ int pt1 = imp [1];
+ imp += 2;
+ l += pt1 * i [2];
+ r += pt1 * i [3];
+ i += 4;
+ }
+
+ remain--;
+
+ l >>= 15;
+ r >>= 15;
+
+ in += (skip * stereo) & stereo;
+ skip >>= 1;
+ in += step;
+
+ if ( !remain )
+ {
+ imp = impulses [0];
+ skip = skip_bits;
+ remain = res;
+ }
+
+ out [0] = (sample_t) l;
+ out [1] = (sample_t) r;
+ out += 2;
+ }
+ while ( in <= end_pos );
+ }
+
+ imp_phase = res - remain;
+
+ int left = write_pos - in;
+ write_pos = &buf [left];
+ memmove( buf.begin(), in, left * sizeof *in );
+
+ return out - out_begin;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Gb_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Gb_Apu.cpp
new file mode 100644
index 00000000..866594dd
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gb_Apu.cpp
@@ -0,0 +1,306 @@
+// Gb_Snd_Emu 0.1.5. http://www.slack.net/~ant/
+
+#include "Gb_Apu.h"
+
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+unsigned const vol_reg = 0xFF24;
+unsigned const status_reg = 0xFF26;
+
+Gb_Apu::Gb_Apu()
+{
+ square1.synth = &square_synth;
+ square2.synth = &square_synth;
+ wave.synth = &other_synth;
+ noise.synth = &other_synth;
+
+ oscs [0] = &square1;
+ oscs [1] = &square2;
+ oscs [2] = &wave;
+ oscs [3] = &noise;
+
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Gb_Osc& osc = *oscs [i];
+ osc.regs = &regs [i * 5];
+ osc.output = 0;
+ osc.outputs [0] = 0;
+ osc.outputs [1] = 0;
+ osc.outputs [2] = 0;
+ osc.outputs [3] = 0;
+ }
+
+ set_tempo( 1.0 );
+ volume( 1.0 );
+ reset();
+}
+
+void Gb_Apu::treble_eq( const blip_eq_t& eq )
+{
+ square_synth.treble_eq( eq );
+ other_synth.treble_eq( eq );
+}
+
+void Gb_Apu::osc_output( int index, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ require( (unsigned) index < osc_count );
+ require( (center && left && right) || (!center && !left && !right) );
+ Gb_Osc& osc = *oscs [index];
+ osc.outputs [1] = right;
+ osc.outputs [2] = left;
+ osc.outputs [3] = center;
+ osc.output = osc.outputs [osc.output_select];
+}
+
+void Gb_Apu::output( Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, center, left, right );
+}
+
+void Gb_Apu::update_volume()
+{
+ // TODO: doesn't handle differing left/right global volume (support would
+ // require modification to all oscillator code)
+ int data = regs [vol_reg - start_addr];
+ double vol = (max( data & 7, data >> 4 & 7 ) + 1) * volume_unit;
+ square_synth.volume( vol );
+ other_synth.volume( vol );
+}
+
+static unsigned char const powerup_regs [0x20] = {
+ 0x80,0x3F,0x00,0xFF,0xBF, // square 1
+ 0xFF,0x3F,0x00,0xFF,0xBF, // square 2
+ 0x7F,0xFF,0x9F,0xFF,0xBF, // wave
+ 0xFF,0xFF,0x00,0x00,0xBF, // noise
+ 0x00, // left/right enables
+ 0x77, // master volume
+ 0x80, // power
+ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
+};
+
+void Gb_Apu::set_tempo( double t )
+{
+ frame_period = 4194304 / 256; // 256 Hz
+ if ( t != 1.0 )
+ frame_period = blip_time_t (frame_period / t);
+}
+
+void Gb_Apu::reset()
+{
+ next_frame_time = 0;
+ last_time = 0;
+ frame_count = 0;
+
+ square1.reset();
+ square2.reset();
+ wave.reset();
+ noise.reset();
+ noise.bits = 1;
+ wave.wave_pos = 0;
+
+ // avoid click at beginning
+ regs [vol_reg - start_addr] = 0x77;
+ update_volume();
+
+ regs [status_reg - start_addr] = 0x01; // force power
+ write_register( 0, status_reg, 0x00 );
+
+ static unsigned char const initial_wave [] = {
+ 0x84,0x40,0x43,0xAA,0x2D,0x78,0x92,0x3C, // wave table
+ 0x60,0x59,0x59,0xB0,0x34,0xB8,0x2E,0xDA
+ };
+ memcpy( wave.wave, initial_wave, sizeof wave.wave );
+}
+
+void Gb_Apu::run_until( blip_time_t end_time )
+{
+ require( end_time >= last_time ); // end_time must not be before previous time
+ if ( end_time == last_time )
+ return;
+
+ while ( true )
+ {
+ blip_time_t time = next_frame_time;
+ if ( time > end_time )
+ time = end_time;
+
+ // run oscillators
+ for ( int i = 0; i < osc_count; ++i )
+ {
+ Gb_Osc& osc = *oscs [i];
+ if ( osc.output )
+ {
+ osc.output->set_modified(); // TODO: misses optimization opportunities?
+ int playing = false;
+ if ( osc.enabled && osc.volume &&
+ (!(osc.regs [4] & osc.len_enabled_mask) || osc.length) )
+ playing = -1;
+ switch ( i )
+ {
+ case 0: square1.run( last_time, time, playing ); break;
+ case 1: square2.run( last_time, time, playing ); break;
+ case 2: wave .run( last_time, time, playing ); break;
+ case 3: noise .run( last_time, time, playing ); break;
+ }
+ }
+ }
+ last_time = time;
+
+ if ( time == end_time )
+ break;
+
+ next_frame_time += frame_period;
+
+ // 256 Hz actions
+ square1.clock_length();
+ square2.clock_length();
+ wave.clock_length();
+ noise.clock_length();
+
+ frame_count = (frame_count + 1) & 3;
+ if ( frame_count == 0 )
+ {
+ // 64 Hz actions
+ square1.clock_envelope();
+ square2.clock_envelope();
+ noise.clock_envelope();
+ }
+
+ if ( frame_count & 1 )
+ square1.clock_sweep(); // 128 Hz action
+ }
+}
+
+void Gb_Apu::end_frame( blip_time_t end_time )
+{
+ if ( end_time > last_time )
+ run_until( end_time );
+
+ assert( next_frame_time >= end_time );
+ next_frame_time -= end_time;
+
+ assert( last_time >= end_time );
+ last_time -= end_time;
+}
+
+void Gb_Apu::write_register( blip_time_t time, unsigned addr, int data )
+{
+ require( (unsigned) data < 0x100 );
+
+ int reg = addr - start_addr;
+ if ( (unsigned) reg >= register_count )
+ return;
+
+ run_until( time );
+
+ int old_reg = regs [reg];
+ regs [reg] = data;
+
+ if ( addr < vol_reg )
+ {
+ write_osc( reg / 5, reg, data );
+ }
+ else if ( addr == vol_reg && data != old_reg ) // global volume
+ {
+ // return all oscs to 0
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Gb_Osc& osc = *oscs [i];
+ int amp = osc.last_amp;
+ osc.last_amp = 0;
+ if ( amp && osc.enabled && osc.output )
+ other_synth.offset( time, -amp, osc.output );
+ }
+
+ if ( wave.outputs [3] )
+ other_synth.offset( time, 30, wave.outputs [3] );
+
+ update_volume();
+
+ if ( wave.outputs [3] )
+ other_synth.offset( time, -30, wave.outputs [3] );
+
+ // oscs will update with new amplitude when next run
+ }
+ else if ( addr == 0xFF25 || addr == status_reg )
+ {
+ int mask = (regs [status_reg - start_addr] & 0x80) ? ~0 : 0;
+ int flags = regs [0xFF25 - start_addr] & mask;
+
+ // left/right assignments
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Gb_Osc& osc = *oscs [i];
+ osc.enabled &= mask;
+ int bits = flags >> i;
+ Blip_Buffer* old_output = osc.output;
+ osc.output_select = (bits >> 3 & 2) | (bits & 1);
+ osc.output = osc.outputs [osc.output_select];
+ if ( osc.output != old_output )
+ {
+ int amp = osc.last_amp;
+ osc.last_amp = 0;
+ if ( amp && old_output )
+ other_synth.offset( time, -amp, old_output );
+ }
+ }
+
+ if ( addr == status_reg && data != old_reg )
+ {
+ if ( !(data & 0x80) )
+ {
+ for ( unsigned i = 0; i < sizeof powerup_regs; i++ )
+ {
+ if ( i != status_reg - start_addr )
+ write_register( time, i + start_addr, powerup_regs [i] );
+ }
+ }
+ else
+ {
+ //debug_printf( "APU powered on\n" );
+ }
+ }
+ }
+ else if ( addr >= 0xFF30 )
+ {
+ int index = (addr & 0x0F) * 2;
+ wave.wave [index] = data >> 4;
+ wave.wave [index + 1] = data & 0x0F;
+ }
+}
+
+int Gb_Apu::read_register( blip_time_t time, unsigned addr )
+{
+ run_until( time );
+
+ int index = addr - start_addr;
+ require( (unsigned) index < register_count );
+ int data = regs [index];
+
+ if ( addr == status_reg )
+ {
+ data = (data & 0x80) | 0x70;
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ const Gb_Osc& osc = *oscs [i];
+ if ( osc.enabled && (osc.length || !(osc.regs [4] & osc.len_enabled_mask)) )
+ data |= 1 << i;
+ }
+ }
+
+ return data;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Gb_Apu.h b/plugins/gme/game-music-emu-svn/gme/Gb_Apu.h
new file mode 100644
index 00000000..e74ebc55
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gb_Apu.h
@@ -0,0 +1,90 @@
+// Nintendo Game Boy PAPU sound chip emulator
+
+// Gb_Snd_Emu 0.1.5
+#ifndef GB_APU_H
+#define GB_APU_H
+
+#include "Gb_Oscs.h"
+
+class Gb_Apu {
+public:
+
+ // Set overall volume of all oscillators, where 1.0 is full volume
+ void volume( double );
+
+ // Set treble equalization
+ void treble_eq( const blip_eq_t& );
+
+ // Outputs can be assigned to a single buffer for mono output, or to three
+ // buffers for stereo output (using Stereo_Buffer to do the mixing).
+
+ // Assign all oscillator outputs to specified buffer(s). If buffer
+ // is NULL, silences all oscillators.
+ void output( Blip_Buffer* mono );
+ void output( Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right );
+
+ // Assign single oscillator output to buffer(s). Valid indicies are 0 to 3,
+ // which refer to Square 1, Square 2, Wave, and Noise. If buffer is NULL,
+ // silences oscillator.
+ enum { osc_count = 4 };
+ void osc_output( int index, Blip_Buffer* mono );
+ void osc_output( int index, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right );
+
+ // Reset oscillators and internal state
+ void reset();
+
+ // Reads and writes at addr must satisfy start_addr <= addr <= end_addr
+ enum { start_addr = 0xFF10 };
+ enum { end_addr = 0xFF3F };
+ enum { register_count = end_addr - start_addr + 1 };
+
+ // Write 'data' to address at specified time
+ void write_register( blip_time_t, unsigned addr, int data );
+
+ // Read from address at specified time
+ int read_register( blip_time_t, unsigned addr );
+
+ // Run all oscillators up to specified time, end current time frame, then
+ // start a new frame at time 0.
+ void end_frame( blip_time_t );
+
+ void set_tempo( double );
+
+public:
+ Gb_Apu();
+private:
+ // noncopyable
+ Gb_Apu( const Gb_Apu& );
+ Gb_Apu& operator = ( const Gb_Apu& );
+
+ Gb_Osc* oscs [osc_count];
+ blip_time_t next_frame_time;
+ blip_time_t last_time;
+ blip_time_t frame_period;
+ double volume_unit;
+ int frame_count;
+
+ Gb_Square square1;
+ Gb_Square square2;
+ Gb_Wave wave;
+ Gb_Noise noise;
+ BOOST::uint8_t regs [register_count];
+ Gb_Square::Synth square_synth; // used by squares
+ Gb_Wave::Synth other_synth; // used by wave and noise
+
+ void update_volume();
+ void run_until( blip_time_t );
+ void write_osc( int index, int reg, int data );
+};
+
+inline void Gb_Apu::output( Blip_Buffer* b ) { output( b, b, b ); }
+
+inline void Gb_Apu::osc_output( int i, Blip_Buffer* b ) { osc_output( i, b, b, b ); }
+
+inline void Gb_Apu::volume( double vol )
+{
+ volume_unit = 0.60 / osc_count / 15 /*steps*/ / 2 /*?*/ / 8 /*master vol range*/ * vol;
+ update_volume();
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Gb_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Gb_Cpu.cpp
new file mode 100644
index 00000000..6980aafe
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gb_Cpu.cpp
@@ -0,0 +1,1056 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Gb_Cpu.h"
+
+#include <string.h>
+
+//#include "gb_cpu_log.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "gb_cpu_io.h"
+
+#include "blargg_source.h"
+
+// Common instructions:
+//
+// 365880 FA LD A,IND16
+// 355863 20 JR NZ
+// 313655 21 LD HL,IMM
+// 274580 28 JR Z
+// 252878 FE CMP IMM
+// 230541 7E LD A,(HL)
+// 226209 2A LD A,(HL+)
+// 217467 CD CALL
+// 212034 C9 RET
+// 208376 CB CB prefix
+//
+// 27486 CB 7E BIT 7,(HL)
+// 15925 CB 76 BIT 6,(HL)
+// 13035 CB 19 RR C
+// 11557 CB 7F BIT 7,A
+// 10898 CB 37 SWAP A
+// 10208 CB 66 BIT 4,(HL)
+
+#if BLARGG_NONPORTABLE
+ #define PAGE_OFFSET( addr ) (addr)
+#else
+ #define PAGE_OFFSET( addr ) ((addr) & (page_size - 1))
+#endif
+
+inline void Gb_Cpu::set_code_page( int i, uint8_t* p )
+{
+ state->code_map [i] = p - PAGE_OFFSET( i * (blargg_long) page_size );
+}
+
+void Gb_Cpu::reset( void* unmapped )
+{
+ check( state == &state_ );
+ state = &state_;
+
+ state_.remain = 0;
+
+ for ( int i = 0; i < page_count + 1; i++ )
+ set_code_page( i, (uint8_t*) unmapped );
+
+ memset( &r, 0, sizeof r );
+ //interrupts_enabled = false;
+
+ blargg_verify_byte_order();
+}
+
+void Gb_Cpu::map_code( gb_addr_t start, unsigned size, void* data )
+{
+ // address range must begin and end on page boundaries
+ require( start % page_size == 0 );
+ require( size % page_size == 0 );
+
+ unsigned first_page = start / page_size;
+ for ( unsigned i = size / page_size; i--; )
+ set_code_page( first_page + i, (uint8_t*) data + i * page_size );
+}
+
+#define READ( addr ) CPU_READ( this, (addr), s.remain )
+#define WRITE( addr, data ) {CPU_WRITE( this, (addr), (data), s.remain );}
+#define READ_FAST( addr, out ) CPU_READ_FAST( this, (addr), s.remain, out )
+#define READ_PROG( addr ) (s.code_map [(addr) >> page_shift] [PAGE_OFFSET( addr )])
+
+unsigned const z_flag = 0x80;
+unsigned const n_flag = 0x40;
+unsigned const h_flag = 0x20;
+unsigned const c_flag = 0x10;
+
+bool Gb_Cpu::run( blargg_long cycle_count )
+{
+ state_.remain = blargg_ulong (cycle_count + clocks_per_instr) / clocks_per_instr;
+ state_t s;
+ this->state = &s;
+ memcpy( &s, &this->state_, sizeof s );
+
+ typedef BOOST::uint16_t uint16_t;
+
+#if BLARGG_BIG_ENDIAN
+ #define R8( n ) (r8_ [n])
+#elif BLARGG_LITTLE_ENDIAN
+ #define R8( n ) (r8_ [(n) ^ 1])
+#else
+ #error "Byte order of CPU must be known"
+#endif
+
+ union {
+ core_regs_t rg; // individual registers
+
+ struct {
+ BOOST::uint16_t bc, de, hl, unused; // pairs
+ } rp;
+
+ uint8_t r8_ [8]; // indexed registers (use R8 macro due to endian dependence)
+ BOOST::uint16_t r16 [4]; // indexed pairs
+ };
+ BOOST_STATIC_ASSERT( sizeof rg == 8 && sizeof rp == 8 );
+
+ rg = r;
+ unsigned pc = r.pc;
+ unsigned sp = r.sp;
+ unsigned flags = r.flags;
+
+loop:
+
+ check( (unsigned long) pc < 0x10000 );
+ check( (unsigned long) sp < 0x10000 );
+ check( (flags & ~0xF0) == 0 );
+
+ uint8_t const* instr = s.code_map [pc >> page_shift];
+ unsigned op;
+
+ // TODO: eliminate this special case
+ #if BLARGG_NONPORTABLE
+ op = instr [pc];
+ pc++;
+ instr += pc;
+ #else
+ instr += PAGE_OFFSET( pc );
+ op = *instr++;
+ pc++;
+ #endif
+
+#define GET_ADDR() GET_LE16( instr )
+
+ if ( !--s.remain )
+ goto stop;
+
+ unsigned data;
+ data = *instr;
+
+ #ifdef GB_CPU_LOG_H
+ gb_cpu_log( "new", pc - 1, op, data, instr [1] );
+ #endif
+
+ switch ( op )
+ {
+
+// TODO: more efficient way to handle negative branch that wraps PC around
+#define BRANCH( cond )\
+{\
+ pc++;\
+ int offset = (BOOST::int8_t) data;\
+ if ( !(cond) ) goto loop;\
+ pc = uint16_t (pc + offset);\
+ goto loop;\
+}
+
+// Most Common
+
+ case 0x20: // JR NZ
+ BRANCH( !(flags & z_flag) )
+
+ case 0x21: // LD HL,IMM (common)
+ rp.hl = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ case 0x28: // JR Z
+ BRANCH( flags & z_flag )
+
+ {
+ unsigned temp;
+ case 0xF0: // LD A,(0xFF00+imm)
+ temp = data | 0xFF00;
+ pc++;
+ goto ld_a_ind_comm;
+
+ case 0xF2: // LD A,(0xFF00+C)
+ temp = rg.c | 0xFF00;
+ goto ld_a_ind_comm;
+
+ case 0x0A: // LD A,(BC)
+ temp = rp.bc;
+ goto ld_a_ind_comm;
+
+ case 0x3A: // LD A,(HL-)
+ temp = rp.hl;
+ rp.hl = temp - 1;
+ goto ld_a_ind_comm;
+
+ case 0x1A: // LD A,(DE)
+ temp = rp.de;
+ goto ld_a_ind_comm;
+
+ case 0x2A: // LD A,(HL+) (common)
+ temp = rp.hl;
+ rp.hl = temp + 1;
+ goto ld_a_ind_comm;
+
+ case 0xFA: // LD A,IND16 (common)
+ temp = GET_ADDR();
+ pc += 2;
+ ld_a_ind_comm:
+ READ_FAST( temp, rg.a );
+ goto loop;
+ }
+
+ case 0xBE: // CMP (HL)
+ data = READ( rp.hl );
+ goto cmp_comm;
+
+ case 0xB8: // CMP B
+ case 0xB9: // CMP C
+ case 0xBA: // CMP D
+ case 0xBB: // CMP E
+ case 0xBC: // CMP H
+ case 0xBD: // CMP L
+ data = R8( op & 7 );
+ goto cmp_comm;
+
+ case 0xFE: // CMP IMM
+ pc++;
+ cmp_comm:
+ op = rg.a;
+ data = op - data;
+ sub_set_flags:
+ flags = ((op & 15) - (data & 15)) & h_flag;
+ flags |= (data >> 4) & c_flag;
+ flags |= n_flag;
+ if ( data & 0xFF )
+ goto loop;
+ flags |= z_flag;
+ goto loop;
+
+ case 0x46: // LD B,(HL)
+ case 0x4E: // LD C,(HL)
+ case 0x56: // LD D,(HL)
+ case 0x5E: // LD E,(HL)
+ case 0x66: // LD H,(HL)
+ case 0x6E: // LD L,(HL)
+ case 0x7E:{// LD A,(HL)
+ unsigned addr = rp.hl;
+ READ_FAST( addr, R8( (op >> 3) & 7 ) );
+ goto loop;
+ }
+
+ case 0xC4: // CNZ (next-most-common)
+ pc += 2;
+ if ( flags & z_flag )
+ goto loop;
+ call:
+ pc -= 2;
+ case 0xCD: // CALL (most-common)
+ data = pc + 2;
+ pc = GET_ADDR();
+ push:
+ sp = (sp - 1) & 0xFFFF;
+ WRITE( sp, data >> 8 );
+ sp = (sp - 1) & 0xFFFF;
+ WRITE( sp, data & 0xFF );
+ goto loop;
+
+ case 0xC8: // RNZ (next-most-common)
+ if ( !(flags & z_flag) )
+ goto loop;
+ case 0xC9: // RET (most common)
+ ret:
+ pc = READ( sp );
+ pc += 0x100 * READ( sp + 1 );
+ sp = (sp + 2) & 0xFFFF;
+ goto loop;
+
+ case 0x00: // NOP
+ case 0x40: // LD B,B
+ case 0x49: // LD C,C
+ case 0x52: // LD D,D
+ case 0x5B: // LD E,E
+ case 0x64: // LD H,H
+ case 0x6D: // LD L,L
+ case 0x7F: // LD A,A
+ goto loop;
+
+// CB Instructions
+
+ case 0xCB:
+ pc++;
+ // now data is the opcode
+ switch ( data ) {
+
+ {
+ int temp;
+ case 0x46: // BIT b,(HL)
+ case 0x4E:
+ case 0x56:
+ case 0x5E:
+ case 0x66:
+ case 0x6E:
+ case 0x76:
+ case 0x7E:
+ {
+ unsigned addr = rp.hl;
+ READ_FAST( addr, temp );
+ goto bit_comm;
+ }
+
+ case 0x40: case 0x41: case 0x42: case 0x43: // BIT b,r
+ case 0x44: case 0x45: case 0x47: case 0x48:
+ case 0x49: case 0x4A: case 0x4B: case 0x4C:
+ case 0x4D: case 0x4F: case 0x50: case 0x51:
+ case 0x52: case 0x53: case 0x54: case 0x55:
+ case 0x57: case 0x58: case 0x59: case 0x5A:
+ case 0x5B: case 0x5C: case 0x5D: case 0x5F:
+ case 0x60: case 0x61: case 0x62: case 0x63:
+ case 0x64: case 0x65: case 0x67: case 0x68:
+ case 0x69: case 0x6A: case 0x6B: case 0x6C:
+ case 0x6D: case 0x6F: case 0x70: case 0x71:
+ case 0x72: case 0x73: case 0x74: case 0x75:
+ case 0x77: case 0x78: case 0x79: case 0x7A:
+ case 0x7B: case 0x7C: case 0x7D: case 0x7F:
+ temp = R8( data & 7 );
+ bit_comm:
+ int bit = (~data >> 3) & 7;
+ flags &= ~n_flag;
+ flags |= h_flag | z_flag;
+ flags ^= (temp << bit) & z_flag;
+ goto loop;
+ }
+
+ case 0x86: // RES b,(HL)
+ case 0x8E:
+ case 0x96:
+ case 0x9E:
+ case 0xA6:
+ case 0xAE:
+ case 0xB6:
+ case 0xBE:
+ case 0xC6: // SET b,(HL)
+ case 0xCE:
+ case 0xD6:
+ case 0xDE:
+ case 0xE6:
+ case 0xEE:
+ case 0xF6:
+ case 0xFE: {
+ int temp = READ( rp.hl );
+ int bit = 1 << ((data >> 3) & 7);
+ temp &= ~bit;
+ if ( !(data & 0x40) )
+ bit = 0;
+ WRITE( rp.hl, temp | bit );
+ goto loop;
+ }
+
+ case 0xC0: case 0xC1: case 0xC2: case 0xC3: // SET b,r
+ case 0xC4: case 0xC5: case 0xC7: case 0xC8:
+ case 0xC9: case 0xCA: case 0xCB: case 0xCC:
+ case 0xCD: case 0xCF: case 0xD0: case 0xD1:
+ case 0xD2: case 0xD3: case 0xD4: case 0xD5:
+ case 0xD7: case 0xD8: case 0xD9: case 0xDA:
+ case 0xDB: case 0xDC: case 0xDD: case 0xDF:
+ case 0xE0: case 0xE1: case 0xE2: case 0xE3:
+ case 0xE4: case 0xE5: case 0xE7: case 0xE8:
+ case 0xE9: case 0xEA: case 0xEB: case 0xEC:
+ case 0xED: case 0xEF: case 0xF0: case 0xF1:
+ case 0xF2: case 0xF3: case 0xF4: case 0xF5:
+ case 0xF7: case 0xF8: case 0xF9: case 0xFA:
+ case 0xFB: case 0xFC: case 0xFD: case 0xFF:
+ R8( data & 7 ) |= 1 << ((data >> 3) & 7);
+ goto loop;
+
+ case 0x80: case 0x81: case 0x82: case 0x83: // RES b,r
+ case 0x84: case 0x85: case 0x87: case 0x88:
+ case 0x89: case 0x8A: case 0x8B: case 0x8C:
+ case 0x8D: case 0x8F: case 0x90: case 0x91:
+ case 0x92: case 0x93: case 0x94: case 0x95:
+ case 0x97: case 0x98: case 0x99: case 0x9A:
+ case 0x9B: case 0x9C: case 0x9D: case 0x9F:
+ case 0xA0: case 0xA1: case 0xA2: case 0xA3:
+ case 0xA4: case 0xA5: case 0xA7: case 0xA8:
+ case 0xA9: case 0xAA: case 0xAB: case 0xAC:
+ case 0xAD: case 0xAF: case 0xB0: case 0xB1:
+ case 0xB2: case 0xB3: case 0xB4: case 0xB5:
+ case 0xB7: case 0xB8: case 0xB9: case 0xBA:
+ case 0xBB: case 0xBC: case 0xBD: case 0xBF:
+ R8( data & 7 ) &= ~(1 << ((data >> 3) & 7));
+ goto loop;
+
+ {
+ int temp;
+ case 0x36: // SWAP (HL)
+ temp = READ( rp.hl );
+ goto swap_comm;
+
+ case 0x30: // SWAP B
+ case 0x31: // SWAP C
+ case 0x32: // SWAP D
+ case 0x33: // SWAP E
+ case 0x34: // SWAP H
+ case 0x35: // SWAP L
+ case 0x37: // SWAP A
+ temp = R8( data & 7 );
+ swap_comm:
+ op = (temp >> 4) | (temp << 4);
+ flags = 0;
+ goto shift_comm;
+ }
+
+// Shift/Rotate
+
+ case 0x06: // RLC (HL)
+ case 0x16: // RL (HL)
+ case 0x26: // SLA (HL)
+ op = READ( rp.hl );
+ goto rl_comm;
+
+ case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x27: // SLA A
+ case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x07: // RLC A
+ case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x17: // RL A
+ op = R8( data & 7 );
+ goto rl_comm;
+
+ case 0x3E: // SRL (HL)
+ data += 0x10; // bump up to 0x4n to avoid preserving sign bit
+ case 0x1E: // RR (HL)
+ case 0x0E: // RRC (HL)
+ case 0x2E: // SRA (HL)
+ op = READ( rp.hl );
+ goto rr_comm;
+
+ case 0x38: case 0x39: case 0x3A: case 0x3B: case 0x3C: case 0x3D: case 0x3F: // SRL A
+ data += 0x10; // bump up to 0x4n
+ case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1F: // RR A
+ case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0C: case 0x0D: case 0x0F: // RRC A
+ case 0x28: case 0x29: case 0x2A: case 0x2B: case 0x2C: case 0x2D: case 0x2F: // SRA A
+ op = R8( data & 7 );
+ goto rr_comm;
+
+ } // CB op
+ assert( false ); // unhandled CB op
+
+ case 0x07: // RLCA
+ case 0x17: // RLA
+ data = op;
+ op = rg.a;
+ rl_comm:
+ op <<= 1;
+ op |= ((data & flags) >> 4) & 1; // RL and carry is set
+ flags = (op >> 4) & c_flag; // C = bit shifted out
+ if ( data < 0x10 ) // RLC
+ op |= op >> 8;
+ // SLA doesn't fill lower bit
+ goto shift_comm;
+
+ case 0x0F: // RRCA
+ case 0x1F: // RRA
+ data = op;
+ op = rg.a;
+ rr_comm:
+ op |= (data & flags) << 4; // RR and carry is set
+ flags = (op << 4) & c_flag; // C = bit shifted out
+ if ( data < 0x10 ) // RRC
+ op |= op << 8;
+ op >>= 1;
+ if ( data & 0x20 ) // SRA propagates sign bit
+ op |= (op << 1) & 0x80;
+ shift_comm:
+ data &= 7;
+ if ( !(op & 0xFF) )
+ flags |= z_flag;
+ if ( data == 6 )
+ goto write_hl_op_ff;
+ R8( data ) = op;
+ goto loop;
+
+// Load
+
+ case 0x70: // LD (HL),B
+ case 0x71: // LD (HL),C
+ case 0x72: // LD (HL),D
+ case 0x73: // LD (HL),E
+ case 0x74: // LD (HL),H
+ case 0x75: // LD (HL),L
+ case 0x77: // LD (HL),A
+ op = R8( op & 7 );
+ write_hl_op_ff:
+ WRITE( rp.hl, op & 0xFF );
+ goto loop;
+
+ case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x47: // LD r,r
+ case 0x48: case 0x4A: case 0x4B: case 0x4C: case 0x4D: case 0x4F:
+ case 0x50: case 0x51: case 0x53: case 0x54: case 0x55: case 0x57:
+ case 0x58: case 0x59: case 0x5A: case 0x5C: case 0x5D: case 0x5F:
+ case 0x60: case 0x61: case 0x62: case 0x63: case 0x65: case 0x67:
+ case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6F:
+ case 0x78: case 0x79: case 0x7A: case 0x7B: case 0x7C: case 0x7D:
+ R8( (op >> 3) & 7 ) = R8( op & 7 );
+ goto loop;
+
+ case 0x08: // LD IND16,SP
+ data = GET_ADDR();
+ pc += 2;
+ WRITE( data, sp&0xFF );
+ data++;
+ WRITE( data, sp >> 8 );
+ goto loop;
+
+ case 0xF9: // LD SP,HL
+ sp = rp.hl;
+ goto loop;
+
+ case 0x31: // LD SP,IMM
+ sp = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ case 0x01: // LD BC,IMM
+ case 0x11: // LD DE,IMM
+ r16 [op >> 4] = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ {
+ unsigned temp;
+ case 0xE0: // LD (0xFF00+imm),A
+ temp = data | 0xFF00;
+ pc++;
+ goto write_data_rg_a;
+
+ case 0xE2: // LD (0xFF00+C),A
+ temp = rg.c | 0xFF00;
+ goto write_data_rg_a;
+
+ case 0x32: // LD (HL-),A
+ temp = rp.hl;
+ rp.hl = temp - 1;
+ goto write_data_rg_a;
+
+ case 0x02: // LD (BC),A
+ temp = rp.bc;
+ goto write_data_rg_a;
+
+ case 0x12: // LD (DE),A
+ temp = rp.de;
+ goto write_data_rg_a;
+
+ case 0x22: // LD (HL+),A
+ temp = rp.hl;
+ rp.hl = temp + 1;
+ goto write_data_rg_a;
+
+ case 0xEA: // LD IND16,A (common)
+ temp = GET_ADDR();
+ pc += 2;
+ write_data_rg_a:
+ WRITE( temp, rg.a );
+ goto loop;
+ }
+
+ case 0x06: // LD B,IMM
+ rg.b = data;
+ pc++;
+ goto loop;
+
+ case 0x0E: // LD C,IMM
+ rg.c = data;
+ pc++;
+ goto loop;
+
+ case 0x16: // LD D,IMM
+ rg.d = data;
+ pc++;
+ goto loop;
+
+ case 0x1E: // LD E,IMM
+ rg.e = data;
+ pc++;
+ goto loop;
+
+ case 0x26: // LD H,IMM
+ rg.h = data;
+ pc++;
+ goto loop;
+
+ case 0x2E: // LD L,IMM
+ rg.l = data;
+ pc++;
+ goto loop;
+
+ case 0x36: // LD (HL),IMM
+ WRITE( rp.hl, data );
+ pc++;
+ goto loop;
+
+ case 0x3E: // LD A,IMM
+ rg.a = data;
+ pc++;
+ goto loop;
+
+// Increment/Decrement
+
+ case 0x03: // INC BC
+ case 0x13: // INC DE
+ case 0x23: // INC HL
+ r16 [op >> 4]++;
+ goto loop;
+
+ case 0x33: // INC SP
+ sp = (sp + 1) & 0xFFFF;
+ goto loop;
+
+ case 0x0B: // DEC BC
+ case 0x1B: // DEC DE
+ case 0x2B: // DEC HL
+ r16 [op >> 4]--;
+ goto loop;
+
+ case 0x3B: // DEC SP
+ sp = (sp - 1) & 0xFFFF;
+ goto loop;
+
+ case 0x34: // INC (HL)
+ op = rp.hl;
+ data = READ( op );
+ data++;
+ WRITE( op, data & 0xFF );
+ goto inc_comm;
+
+ case 0x04: // INC B
+ case 0x0C: // INC C (common)
+ case 0x14: // INC D
+ case 0x1C: // INC E
+ case 0x24: // INC H
+ case 0x2C: // INC L
+ case 0x3C: // INC A
+ op = (op >> 3) & 7;
+ R8( op ) = data = R8( op ) + 1;
+ inc_comm:
+ flags = (flags & c_flag) | (((data & 15) - 1) & h_flag) | ((data >> 1) & z_flag);
+ goto loop;
+
+ case 0x35: // DEC (HL)
+ op = rp.hl;
+ data = READ( op );
+ data--;
+ WRITE( op, data & 0xFF );
+ goto dec_comm;
+
+ case 0x05: // DEC B
+ case 0x0D: // DEC C
+ case 0x15: // DEC D
+ case 0x1D: // DEC E
+ case 0x25: // DEC H
+ case 0x2D: // DEC L
+ case 0x3D: // DEC A
+ op = (op >> 3) & 7;
+ data = R8( op ) - 1;
+ R8( op ) = data;
+ dec_comm:
+ flags = (flags & c_flag) | n_flag | (((data & 15) + 0x31) & h_flag);
+ if ( data & 0xFF )
+ goto loop;
+ flags |= z_flag;
+ goto loop;
+
+// Add 16-bit
+
+ {
+ blargg_ulong temp; // need more than 16 bits for carry
+ unsigned prev;
+
+ case 0xF8: // LD HL,SP+imm
+ temp = BOOST::int8_t (data); // sign-extend to 16 bits
+ pc++;
+ flags = 0;
+ temp += sp;
+ prev = sp;
+ goto add_16_hl;
+
+ case 0xE8: // ADD SP,IMM
+ temp = BOOST::int8_t (data); // sign-extend to 16 bits
+ pc++;
+ flags = 0;
+ temp += sp;
+ prev = sp;
+ sp = temp & 0xFFFF;
+ goto add_16_comm;
+
+ case 0x39: // ADD HL,SP
+ temp = sp;
+ goto add_hl_comm;
+
+ case 0x09: // ADD HL,BC
+ case 0x19: // ADD HL,DE
+ case 0x29: // ADD HL,HL
+ temp = r16 [op >> 4];
+ add_hl_comm:
+ prev = rp.hl;
+ temp += prev;
+ flags &= z_flag;
+ add_16_hl:
+ rp.hl = temp;
+ add_16_comm:
+ flags |= (temp >> 12) & c_flag;
+ flags |= (((temp & 0x0FFF) - (prev & 0x0FFF)) >> 7) & h_flag;
+ goto loop;
+ }
+
+ case 0x86: // ADD (HL)
+ data = READ( rp.hl );
+ goto add_comm;
+
+ case 0x80: // ADD B
+ case 0x81: // ADD C
+ case 0x82: // ADD D
+ case 0x83: // ADD E
+ case 0x84: // ADD H
+ case 0x85: // ADD L
+ case 0x87: // ADD A
+ data = R8( op & 7 );
+ goto add_comm;
+
+ case 0xC6: // ADD IMM
+ pc++;
+ add_comm:
+ flags = rg.a;
+ data += flags;
+ flags = ((data & 15) - (flags & 15)) & h_flag;
+ flags |= (data >> 4) & c_flag;
+ rg.a = data;
+ if ( data & 0xFF )
+ goto loop;
+ flags |= z_flag;
+ goto loop;
+
+// Add/Subtract
+
+ case 0x8E: // ADC (HL)
+ data = READ( rp.hl );
+ goto adc_comm;
+
+ case 0x88: // ADC B
+ case 0x89: // ADC C
+ case 0x8A: // ADC D
+ case 0x8B: // ADC E
+ case 0x8C: // ADC H
+ case 0x8D: // ADC L
+ case 0x8F: // ADC A
+ data = R8( op & 7 );
+ goto adc_comm;
+
+ case 0xCE: // ADC IMM
+ pc++;
+ adc_comm:
+ data += (flags >> 4) & 1;
+ data &= 0xFF; // to do: does carry get set when sum + carry = 0x100?
+ goto add_comm;
+
+ case 0x96: // SUB (HL)
+ data = READ( rp.hl );
+ goto sub_comm;
+
+ case 0x90: // SUB B
+ case 0x91: // SUB C
+ case 0x92: // SUB D
+ case 0x93: // SUB E
+ case 0x94: // SUB H
+ case 0x95: // SUB L
+ case 0x97: // SUB A
+ data = R8( op & 7 );
+ goto sub_comm;
+
+ case 0xD6: // SUB IMM
+ pc++;
+ sub_comm:
+ op = rg.a;
+ data = op - data;
+ rg.a = data;
+ goto sub_set_flags;
+
+ case 0x9E: // SBC (HL)
+ data = READ( rp.hl );
+ goto sbc_comm;
+
+ case 0x98: // SBC B
+ case 0x99: // SBC C
+ case 0x9A: // SBC D
+ case 0x9B: // SBC E
+ case 0x9C: // SBC H
+ case 0x9D: // SBC L
+ case 0x9F: // SBC A
+ data = R8( op & 7 );
+ goto sbc_comm;
+
+ case 0xDE: // SBC IMM
+ pc++;
+ sbc_comm:
+ data += (flags >> 4) & 1;
+ data &= 0xFF; // to do: does carry get set when sum + carry = 0x100?
+ goto sub_comm;
+
+// Logical
+
+ case 0xA0: // AND B
+ case 0xA1: // AND C
+ case 0xA2: // AND D
+ case 0xA3: // AND E
+ case 0xA4: // AND H
+ case 0xA5: // AND L
+ data = R8( op & 7 );
+ goto and_comm;
+
+ case 0xA6: // AND (HL)
+ data = READ( rp.hl );
+ pc--;
+ case 0xE6: // AND IMM
+ pc++;
+ and_comm:
+ rg.a &= data;
+ case 0xA7: // AND A
+ flags = h_flag | (((rg.a - 1) >> 1) & z_flag);
+ goto loop;
+
+ case 0xB0: // OR B
+ case 0xB1: // OR C
+ case 0xB2: // OR D
+ case 0xB3: // OR E
+ case 0xB4: // OR H
+ case 0xB5: // OR L
+ data = R8( op & 7 );
+ goto or_comm;
+
+ case 0xB6: // OR (HL)
+ data = READ( rp.hl );
+ pc--;
+ case 0xF6: // OR IMM
+ pc++;
+ or_comm:
+ rg.a |= data;
+ case 0xB7: // OR A
+ flags = ((rg.a - 1) >> 1) & z_flag;
+ goto loop;
+
+ case 0xA8: // XOR B
+ case 0xA9: // XOR C
+ case 0xAA: // XOR D
+ case 0xAB: // XOR E
+ case 0xAC: // XOR H
+ case 0xAD: // XOR L
+ data = R8( op & 7 );
+ goto xor_comm;
+
+ case 0xAE: // XOR (HL)
+ data = READ( rp.hl );
+ pc--;
+ case 0xEE: // XOR IMM
+ pc++;
+ xor_comm:
+ data ^= rg.a;
+ rg.a = data;
+ data--;
+ flags = (data >> 1) & z_flag;
+ goto loop;
+
+ case 0xAF: // XOR A
+ rg.a = 0;
+ flags = z_flag;
+ goto loop;
+
+// Stack
+
+ case 0xF1: // POP FA
+ case 0xC1: // POP BC
+ case 0xD1: // POP DE
+ case 0xE1: // POP HL (common)
+ data = READ( sp );
+ r16 [(op >> 4) & 3] = data + 0x100 * READ( sp + 1 );
+ sp = (sp + 2) & 0xFFFF;
+ if ( op != 0xF1 )
+ goto loop;
+ flags = rg.flags & 0xF0;
+ goto loop;
+
+ case 0xC5: // PUSH BC
+ data = rp.bc;
+ goto push;
+
+ case 0xD5: // PUSH DE
+ data = rp.de;
+ goto push;
+
+ case 0xE5: // PUSH HL
+ data = rp.hl;
+ goto push;
+
+ case 0xF5: // PUSH FA
+ data = (flags << 8) | rg.a;
+ goto push;
+
+// Flow control
+
+ case 0xFF:
+ if ( pc == idle_addr + 1 )
+ goto stop;
+ case 0xC7: case 0xCF: case 0xD7: case 0xDF: // RST
+ case 0xE7: case 0xEF: case 0xF7:
+ data = pc;
+ pc = (op & 0x38) + rst_base;
+ goto push;
+
+ case 0xCC: // CZ
+ pc += 2;
+ if ( flags & z_flag )
+ goto call;
+ goto loop;
+
+ case 0xD4: // CNC
+ pc += 2;
+ if ( !(flags & c_flag) )
+ goto call;
+ goto loop;
+
+ case 0xDC: // CC
+ pc += 2;
+ if ( flags & c_flag )
+ goto call;
+ goto loop;
+
+ case 0xD9: // RETI
+ //interrupts_enabled = 1;
+ goto ret;
+
+ case 0xC0: // RZ
+ if ( !(flags & z_flag) )
+ goto ret;
+ goto loop;
+
+ case 0xD0: // RNC
+ if ( !(flags & c_flag) )
+ goto ret;
+ goto loop;
+
+ case 0xD8: // RC
+ if ( flags & c_flag )
+ goto ret;
+ goto loop;
+
+ case 0x18: // JR
+ BRANCH( true )
+
+ case 0x30: // JR NC
+ BRANCH( !(flags & c_flag) )
+
+ case 0x38: // JR C
+ BRANCH( flags & c_flag )
+
+ case 0xE9: // JP_HL
+ pc = rp.hl;
+ goto loop;
+
+ case 0xC3: // JP (next-most-common)
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0xC2: // JP NZ
+ pc += 2;
+ if ( !(flags & z_flag) )
+ goto jp_taken;
+ goto loop;
+
+ case 0xCA: // JP Z (most common)
+ pc += 2;
+ if ( !(flags & z_flag) )
+ goto loop;
+ jp_taken:
+ pc -= 2;
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0xD2: // JP NC
+ pc += 2;
+ if ( !(flags & c_flag) )
+ goto jp_taken;
+ goto loop;
+
+ case 0xDA: // JP C
+ pc += 2;
+ if ( flags & c_flag )
+ goto jp_taken;
+ goto loop;
+
+// Flags
+
+ case 0x2F: // CPL
+ rg.a = ~rg.a;
+ flags |= n_flag | h_flag;
+ goto loop;
+
+ case 0x3F: // CCF
+ flags = (flags ^ c_flag) & ~(n_flag | h_flag);
+ goto loop;
+
+ case 0x37: // SCF
+ flags = (flags | c_flag) & ~(n_flag | h_flag);
+ goto loop;
+
+ case 0xF3: // DI
+ //interrupts_enabled = 0;
+ goto loop;
+
+ case 0xFB: // EI
+ //interrupts_enabled = 1;
+ goto loop;
+
+// Special
+
+ case 0xDD: case 0xD3: case 0xDB: case 0xE3: case 0xE4: // ?
+ case 0xEB: case 0xEC: case 0xF4: case 0xFD: case 0xFC:
+ case 0x10: // STOP
+ case 0x27: // DAA (I'll have to implement this eventually...)
+ case 0xBF:
+ case 0xED: // Z80 prefix
+ case 0x76: // HALT
+ s.remain++;
+ goto stop;
+ }
+
+ // If this fails then the case above is missing an opcode
+ assert( false );
+
+stop:
+ pc--;
+
+ // copy state back
+ STATIC_CAST(core_regs_t&,r) = rg;
+ r.pc = pc;
+ r.sp = sp;
+ r.flags = flags;
+
+ this->state = &state_;
+ memcpy( &this->state_, &s, sizeof this->state_ );
+
+ return s.remain > 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Gb_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Gb_Cpu.h
new file mode 100644
index 00000000..9d623e04
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gb_Cpu.h
@@ -0,0 +1,93 @@
+// Nintendo Game Boy CPU emulator
+// Treats every instruction as taking 4 cycles
+
+// Game_Music_Emu 0.5.5
+#ifndef GB_CPU_H
+#define GB_CPU_H
+
+#include "blargg_common.h"
+#include "blargg_endian.h"
+
+typedef unsigned gb_addr_t; // 16-bit CPU address
+
+class Gb_Cpu {
+ enum { clocks_per_instr = 4 };
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+ // Clear registers and map all pages to unmapped
+ void reset( void* unmapped = 0 );
+
+ // Map code memory (memory accessed via the program counter). Start and size
+ // must be multiple of page_size.
+ enum { page_size = 0x2000 };
+ void map_code( gb_addr_t start, unsigned size, void* code );
+
+ uint8_t* get_code( gb_addr_t );
+
+ // Push a byte on the stack
+ void push_byte( int );
+
+ // Game Boy Z80 registers. *Not* kept updated during a call to run().
+ struct core_regs_t {
+ #if BLARGG_BIG_ENDIAN
+ uint8_t b, c, d, e, h, l, flags, a;
+ #else
+ uint8_t c, b, e, d, l, h, a, flags;
+ #endif
+ };
+
+ struct registers_t : core_regs_t {
+ long pc; // more than 16 bits to allow overflow detection
+ BOOST::uint16_t sp;
+ };
+ registers_t r;
+
+ // Interrupt enable flag set by EI and cleared by DI
+ //bool interrupts_enabled; // unused
+
+ // Base address for RST vectors (normally 0)
+ gb_addr_t rst_base;
+
+ // If CPU executes opcode 0xFF at this address, it treats as illegal instruction
+ enum { idle_addr = 0xF00D };
+
+ // Run CPU for at least 'count' cycles and return false, or return true if
+ // illegal instruction is encountered.
+ bool run( blargg_long count );
+
+ // Number of clock cycles remaining for most recent run() call
+ blargg_long remain() const { return state->remain * clocks_per_instr; }
+
+ // Can read this many bytes past end of a page
+ enum { cpu_padding = 8 };
+
+public:
+ Gb_Cpu() : rst_base( 0 ) { state = &state_; }
+ enum { page_shift = 13 };
+ enum { page_count = 0x10000 >> page_shift };
+private:
+ // noncopyable
+ Gb_Cpu( const Gb_Cpu& );
+ Gb_Cpu& operator = ( const Gb_Cpu& );
+
+ struct state_t {
+ uint8_t* code_map [page_count + 1];
+ blargg_long remain;
+ };
+ state_t* state; // points to state_ or a local copy within run()
+ state_t state_;
+
+ void set_code_page( int, uint8_t* );
+};
+
+inline BOOST::uint8_t* Gb_Cpu::get_code( gb_addr_t addr )
+{
+ return state->code_map [addr >> page_shift] + addr
+ #if !BLARGG_NONPORTABLE
+ % (unsigned) page_size
+ #endif
+ ;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Gb_Oscs.cpp b/plugins/gme/game-music-emu-svn/gme/Gb_Oscs.cpp
new file mode 100644
index 00000000..735653fa
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gb_Oscs.cpp
@@ -0,0 +1,336 @@
+// Gb_Snd_Emu 0.1.5. http://www.slack.net/~ant/
+
+#include "Gb_Apu.h"
+
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// Gb_Osc
+
+void Gb_Osc::reset()
+{
+ delay = 0;
+ last_amp = 0;
+ length = 0;
+ output_select = 3;
+ output = outputs [output_select];
+}
+
+void Gb_Osc::clock_length()
+{
+ if ( (regs [4] & len_enabled_mask) && length )
+ length--;
+}
+
+// Gb_Env
+
+void Gb_Env::clock_envelope()
+{
+ if ( env_delay && !--env_delay )
+ {
+ env_delay = regs [2] & 7;
+ int v = volume - 1 + (regs [2] >> 2 & 2);
+ if ( (unsigned) v < 15 )
+ volume = v;
+ }
+}
+
+bool Gb_Env::write_register( int reg, int data )
+{
+ switch ( reg )
+ {
+ case 1:
+ length = 64 - (regs [1] & 0x3F);
+ break;
+
+ case 2:
+ if ( !(data >> 4) )
+ enabled = false;
+ break;
+
+ case 4:
+ if ( data & trigger )
+ {
+ env_delay = regs [2] & 7;
+ volume = regs [2] >> 4;
+ enabled = true;
+ if ( length == 0 )
+ length = 64;
+ return true;
+ }
+ }
+ return false;
+}
+
+// Gb_Square
+
+void Gb_Square::reset()
+{
+ phase = 0;
+ sweep_freq = 0;
+ sweep_delay = 0;
+ Gb_Env::reset();
+}
+
+void Gb_Square::clock_sweep()
+{
+ int sweep_period = (regs [0] & period_mask) >> 4;
+ if ( sweep_period && sweep_delay && !--sweep_delay )
+ {
+ sweep_delay = sweep_period;
+ regs [3] = sweep_freq & 0xFF;
+ regs [4] = (regs [4] & ~0x07) | (sweep_freq >> 8 & 0x07);
+
+ int offset = sweep_freq >> (regs [0] & shift_mask);
+ if ( regs [0] & 0x08 )
+ offset = -offset;
+ sweep_freq += offset;
+
+ if ( sweep_freq < 0 )
+ {
+ sweep_freq = 0;
+ }
+ else if ( sweep_freq >= 2048 )
+ {
+ sweep_delay = 0; // don't modify channel frequency any further
+ sweep_freq = 2048; // silence sound immediately
+ }
+ }
+}
+
+void Gb_Square::run( blip_time_t time, blip_time_t end_time, int playing )
+{
+ if ( sweep_freq == 2048 )
+ playing = false;
+
+ static unsigned char const table [4] = { 1, 2, 4, 6 };
+ int const duty = table [regs [1] >> 6];
+ int amp = volume & playing;
+ if ( phase >= duty )
+ amp = -amp;
+
+ int frequency = this->frequency();
+ if ( unsigned (frequency - 1) > 2040 ) // frequency < 1 || frequency > 2041
+ {
+ // really high frequency results in DC at half volume
+ amp = volume >> 1;
+ playing = false;
+ }
+
+ {
+ int delta = amp - last_amp;
+ if ( delta )
+ {
+ last_amp = amp;
+ synth->offset( time, delta, output );
+ }
+ }
+
+ time += delay;
+ if ( !playing )
+ time = end_time;
+
+ if ( time < end_time )
+ {
+ int const period = (2048 - frequency) * 4;
+ Blip_Buffer* const output = this->output;
+ int phase = this->phase;
+ int delta = amp * 2;
+ do
+ {
+ phase = (phase + 1) & 7;
+ if ( phase == 0 || phase == duty )
+ {
+ delta = -delta;
+ synth->offset_inline( time, delta, output );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+
+ this->phase = phase;
+ last_amp = delta >> 1;
+ }
+ delay = time - end_time;
+}
+
+// Gb_Noise
+
+void Gb_Noise::run( blip_time_t time, blip_time_t end_time, int playing )
+{
+ int amp = volume & playing;
+ int tap = 13 - (regs [3] & 8);
+ if ( bits >> tap & 2 )
+ amp = -amp;
+
+ {
+ int delta = amp - last_amp;
+ if ( delta )
+ {
+ last_amp = amp;
+ synth->offset( time, delta, output );
+ }
+ }
+
+ time += delay;
+ if ( !playing )
+ time = end_time;
+
+ if ( time < end_time )
+ {
+ static unsigned char const table [8] = { 8, 16, 32, 48, 64, 80, 96, 112 };
+ int period = table [regs [3] & 7] << (regs [3] >> 4);
+
+ // keep parallel resampled time to eliminate time conversion in the loop
+ Blip_Buffer* const output = this->output;
+ const blip_resampled_time_t resampled_period =
+ output->resampled_duration( period );
+ blip_resampled_time_t resampled_time = output->resampled_time( time );
+ unsigned bits = this->bits;
+ int delta = amp * 2;
+
+ do
+ {
+ unsigned changed = (bits >> tap) + 1;
+ time += period;
+ bits <<= 1;
+ if ( changed & 2 )
+ {
+ delta = -delta;
+ bits |= 1;
+ synth->offset_resampled( resampled_time, delta, output );
+ }
+ resampled_time += resampled_period;
+ }
+ while ( time < end_time );
+
+ this->bits = bits;
+ last_amp = delta >> 1;
+ }
+ delay = time - end_time;
+}
+
+// Gb_Wave
+
+inline void Gb_Wave::write_register( int reg, int data )
+{
+ switch ( reg )
+ {
+ case 0:
+ if ( !(data & 0x80) )
+ enabled = false;
+ break;
+
+ case 1:
+ length = 256 - regs [1];
+ break;
+
+ case 2:
+ volume = data >> 5 & 3;
+ break;
+
+ case 4:
+ if ( data & trigger & regs [0] )
+ {
+ wave_pos = 0;
+ enabled = true;
+ if ( length == 0 )
+ length = 256;
+ }
+ }
+}
+
+void Gb_Wave::run( blip_time_t time, blip_time_t end_time, int playing )
+{
+ int volume_shift = (volume - 1) & 7; // volume = 0 causes shift = 7
+ int frequency;
+ {
+ int amp = (wave [wave_pos] >> volume_shift & playing) * 2;
+
+ frequency = this->frequency();
+ if ( unsigned (frequency - 1) > 2044 ) // frequency < 1 || frequency > 2045
+ {
+ amp = 30 >> volume_shift & playing;
+ playing = false;
+ }
+
+ int delta = amp - last_amp;
+ if ( delta )
+ {
+ last_amp = amp;
+ synth->offset( time, delta, output );
+ }
+ }
+
+ time += delay;
+ if ( !playing )
+ time = end_time;
+
+ if ( time < end_time )
+ {
+ Blip_Buffer* const output = this->output;
+ int const period = (2048 - frequency) * 2;
+ int wave_pos = (this->wave_pos + 1) & (wave_size - 1);
+
+ do
+ {
+ int amp = (wave [wave_pos] >> volume_shift) * 2;
+ wave_pos = (wave_pos + 1) & (wave_size - 1);
+ int delta = amp - last_amp;
+ if ( delta )
+ {
+ last_amp = amp;
+ synth->offset_inline( time, delta, output );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+
+ this->wave_pos = (wave_pos - 1) & (wave_size - 1);
+ }
+ delay = time - end_time;
+}
+
+// Gb_Apu::write_osc
+
+void Gb_Apu::write_osc( int index, int reg, int data )
+{
+ reg -= index * 5;
+ Gb_Square* sq = &square2;
+ switch ( index )
+ {
+ case 0:
+ sq = &square1;
+ case 1:
+ if ( sq->write_register( reg, data ) && index == 0 )
+ {
+ square1.sweep_freq = square1.frequency();
+ if ( (regs [0] & sq->period_mask) && (regs [0] & sq->shift_mask) )
+ {
+ square1.sweep_delay = 1; // cause sweep to recalculate now
+ square1.clock_sweep();
+ }
+ }
+ break;
+
+ case 2:
+ wave.write_register( reg, data );
+ break;
+
+ case 3:
+ if ( noise.write_register( reg, data ) )
+ noise.bits = 0x7FFF;
+ }
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Gb_Oscs.h b/plugins/gme/game-music-emu-svn/gme/Gb_Oscs.h
new file mode 100644
index 00000000..d7f88ea1
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gb_Oscs.h
@@ -0,0 +1,83 @@
+// Private oscillators used by Gb_Apu
+
+// Gb_Snd_Emu 0.1.5
+#ifndef GB_OSCS_H
+#define GB_OSCS_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+struct Gb_Osc
+{
+ enum { trigger = 0x80 };
+ enum { len_enabled_mask = 0x40 };
+
+ Blip_Buffer* outputs [4]; // NULL, right, left, center
+ Blip_Buffer* output;
+ int output_select;
+ BOOST::uint8_t* regs; // osc's 5 registers
+
+ int delay;
+ int last_amp;
+ int volume;
+ int length;
+ int enabled;
+
+ void reset();
+ void clock_length();
+ int frequency() const { return (regs [4] & 7) * 0x100 + regs [3]; }
+};
+
+struct Gb_Env : Gb_Osc
+{
+ int env_delay;
+
+ void reset();
+ void clock_envelope();
+ bool write_register( int, int );
+};
+
+struct Gb_Square : Gb_Env
+{
+ enum { period_mask = 0x70 };
+ enum { shift_mask = 0x07 };
+
+ typedef Blip_Synth<blip_good_quality,1> Synth;
+ Synth const* synth;
+ int sweep_delay;
+ int sweep_freq;
+ int phase;
+
+ void reset();
+ void clock_sweep();
+ void run( blip_time_t, blip_time_t, int playing );
+};
+
+struct Gb_Noise : Gb_Env
+{
+ typedef Blip_Synth<blip_med_quality,1> Synth;
+ Synth const* synth;
+ unsigned bits;
+
+ void run( blip_time_t, blip_time_t, int playing );
+};
+
+struct Gb_Wave : Gb_Osc
+{
+ typedef Blip_Synth<blip_med_quality,1> Synth;
+ Synth const* synth;
+ int wave_pos;
+ enum { wave_size = 32 };
+ BOOST::uint8_t wave [wave_size];
+
+ void write_register( int, int );
+ void run( blip_time_t, blip_time_t, int playing );
+};
+
+inline void Gb_Env::reset()
+{
+ env_delay = 0;
+ Gb_Osc::reset();
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Gbs_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Gbs_Emu.cpp
new file mode 100644
index 00000000..c3a0153b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gbs_Emu.cpp
@@ -0,0 +1,289 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Gbs_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+Gbs_Emu::equalizer_t const Gbs_Emu::handheld_eq = { -47.0, 2000 };
+Gbs_Emu::equalizer_t const Gbs_Emu::headphones_eq = { 0.0, 300 };
+
+Gbs_Emu::Gbs_Emu()
+{
+ set_type( gme_gbs_type );
+
+ static const char* const names [Gb_Apu::osc_count] = {
+ "Square 1", "Square 2", "Wave", "Noise"
+ };
+ set_voice_names( names );
+
+ static int const types [Gb_Apu::osc_count] = {
+ wave_type | 1, wave_type | 2, wave_type | 0, mixed_type | 0
+ };
+ set_voice_types( types );
+
+ set_silence_lookahead( 6 );
+ set_max_initial_silence( 21 );
+ set_gain( 1.2 );
+
+ static equalizer_t const eq = { -1.0, 120 };
+ set_equalizer( eq );
+}
+
+Gbs_Emu::~Gbs_Emu() { }
+
+void Gbs_Emu::unload()
+{
+ rom.clear();
+ Music_Emu::unload();
+}
+
+// Track info
+
+static void copy_gbs_fields( Gbs_Emu::header_t const& h, track_info_t* out )
+{
+ GME_COPY_FIELD( h, out, game );
+ GME_COPY_FIELD( h, out, author );
+ GME_COPY_FIELD( h, out, copyright );
+}
+
+blargg_err_t Gbs_Emu::track_info_( track_info_t* out, int ) const
+{
+ copy_gbs_fields( header_, out );
+ return 0;
+}
+
+static blargg_err_t check_gbs_header( void const* header )
+{
+ if ( memcmp( header, "GBS", 3 ) )
+ return gme_wrong_file_type;
+ return 0;
+}
+
+struct Gbs_File : Gme_Info_
+{
+ Gbs_Emu::header_t h;
+
+ Gbs_File() { set_type( gme_gbs_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ blargg_err_t err = in.read( &h, Gbs_Emu::header_size );
+ if ( err )
+ return (err == in.eof_error ? gme_wrong_file_type : err);
+
+ set_track_count( h.track_count );
+ return check_gbs_header( &h );
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ copy_gbs_fields( h, out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_gbs_emu () { return BLARGG_NEW Gbs_Emu ; }
+static Music_Emu* new_gbs_file() { return BLARGG_NEW Gbs_File; }
+
+static gme_type_t_ const gme_gbs_type_ = { "Game Boy", 0, &new_gbs_emu, &new_gbs_file, "GBS", 1 };
+gme_type_t const gme_gbs_type = &gme_gbs_type_;
+
+// Setup
+
+blargg_err_t Gbs_Emu::load_( Data_Reader& in )
+{
+ assert( offsetof (header_t,copyright [32]) == header_size );
+ RETURN_ERR( rom.load( in, header_size, &header_, 0 ) );
+
+ set_track_count( header_.track_count );
+ RETURN_ERR( check_gbs_header( &header_ ) );
+
+ if ( header_.vers != 1 )
+ set_warning( "Unknown file version" );
+
+ if ( header_.timer_mode & 0x78 )
+ set_warning( "Invalid timer mode" );
+
+ unsigned load_addr = get_le16( header_.load_addr );
+ if ( (header_.load_addr [1] | header_.init_addr [1] | header_.play_addr [1]) > 0x7F ||
+ load_addr < 0x400 )
+ set_warning( "Invalid load/init/play address" );
+
+ set_voice_count( Gb_Apu::osc_count );
+
+ apu.volume( gain() );
+
+ return setup_buffer( 4194304 );
+}
+
+void Gbs_Emu::update_eq( blip_eq_t const& eq )
+{
+ apu.treble_eq( eq );
+}
+
+void Gbs_Emu::set_voice( int i, Blip_Buffer* c, Blip_Buffer* l, Blip_Buffer* r )
+{
+ apu.osc_output( i, c, l, r );
+}
+
+// Emulation
+
+// see gb_cpu_io.h for read/write functions
+
+void Gbs_Emu::set_bank( int n )
+{
+ blargg_long addr = rom.mask_addr( n * (blargg_long) bank_size );
+ if ( addr == 0 && rom.size() > bank_size )
+ {
+ // TODO: what is the correct behavior? Current Game & Watch Gallery
+ // rip requires that this have no effect or set to bank 1.
+ //debug_printf( "Selected ROM bank 0\n" );
+ return;
+ //n = 1;
+ }
+ cpu::map_code( bank_size, bank_size, rom.at_addr( addr ) );
+}
+
+void Gbs_Emu::update_timer()
+{
+ if ( header_.timer_mode & 0x04 )
+ {
+ static byte const rates [4] = { 10, 4, 6, 8 };
+ int shift = rates [ram [hi_page + 7] & 3] - (header_.timer_mode >> 7);
+ play_period = (256L - ram [hi_page + 6]) << shift;
+ }
+ else
+ {
+ play_period = 70224; // 59.73 Hz
+ }
+ if ( tempo() != 1.0 )
+ play_period = blip_time_t (play_period / tempo());
+}
+
+static BOOST::uint8_t const sound_data [Gb_Apu::register_count] = {
+ 0x80, 0xBF, 0x00, 0x00, 0xBF, // square 1
+ 0x00, 0x3F, 0x00, 0x00, 0xBF, // square 2
+ 0x7F, 0xFF, 0x9F, 0x00, 0xBF, // wave
+ 0x00, 0xFF, 0x00, 0x00, 0xBF, // noise
+ 0x77, 0xF3, 0xF1, // vin/volume, status, power mode
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, // unused
+ 0xAC, 0xDD, 0xDA, 0x48, 0x36, 0x02, 0xCF, 0x16, // waveform data
+ 0x2C, 0x04, 0xE5, 0x2C, 0xAC, 0xDD, 0xDA, 0x48
+};
+
+void Gbs_Emu::cpu_jsr( gb_addr_t addr )
+{
+ check( cpu::r.sp == get_le16( header_.stack_ptr ) );
+ cpu::r.pc = addr;
+ cpu_write( --cpu::r.sp, idle_addr >> 8 );
+ cpu_write( --cpu::r.sp, idle_addr&0xFF );
+}
+
+void Gbs_Emu::set_tempo_( double t )
+{
+ apu.set_tempo( t );
+ update_timer();
+}
+
+blargg_err_t Gbs_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+
+ memset( ram, 0, 0x4000 );
+ memset( ram + 0x4000, 0xFF, 0x1F80 );
+ memset( ram + 0x5F80, 0, sizeof ram - 0x5F80 );
+ ram [hi_page] = 0; // joypad reads back as 0
+
+ apu.reset();
+ for ( int i = 0; i < (int) sizeof sound_data; i++ )
+ apu.write_register( 0, i + apu.start_addr, sound_data [i] );
+
+ unsigned load_addr = get_le16( header_.load_addr );
+ rom.set_addr( load_addr );
+ cpu::rst_base = load_addr;
+
+ cpu::reset( rom.unmapped() );
+
+ cpu::map_code( ram_addr, 0x10000 - ram_addr, ram );
+ cpu::map_code( 0, bank_size, rom.at_addr( 0 ) );
+ set_bank( rom.size() > bank_size );
+
+ ram [hi_page + 6] = header_.timer_modulo;
+ ram [hi_page + 7] = header_.timer_mode;
+ update_timer();
+ next_play = play_period;
+
+ cpu::r.a = track;
+ cpu::r.pc = idle_addr;
+ cpu::r.sp = get_le16( header_.stack_ptr );
+ cpu_time = 0;
+ cpu_jsr( get_le16( header_.init_addr ) );
+
+ return 0;
+}
+
+blargg_err_t Gbs_Emu::run_clocks( blip_time_t& duration, int )
+{
+ cpu_time = 0;
+ while ( cpu_time < duration )
+ {
+ long count = duration - cpu_time;
+ cpu_time = duration;
+ bool result = cpu::run( count );
+ cpu_time -= cpu::remain();
+
+ if ( result )
+ {
+ if ( cpu::r.pc == idle_addr )
+ {
+ if ( next_play > duration )
+ {
+ cpu_time = duration;
+ break;
+ }
+
+ if ( cpu_time < next_play )
+ cpu_time = next_play;
+ next_play += play_period;
+ cpu_jsr( get_le16( header_.play_addr ) );
+ GME_FRAME_HOOK( this );
+ // TODO: handle timer rates different than 60 Hz
+ }
+ else if ( cpu::r.pc > 0xFFFF )
+ {
+ debug_printf( "PC wrapped around\n" );
+ cpu::r.pc &= 0xFFFF;
+ }
+ else
+ {
+ set_warning( "Emulation error (illegal/unsupported instruction)" );
+ debug_printf( "Bad opcode $%.2x at $%.4x\n",
+ (int) *cpu::get_code( cpu::r.pc ), (int) cpu::r.pc );
+ cpu::r.pc = (cpu::r.pc + 1) & 0xFFFF;
+ cpu_time += 6;
+ }
+ }
+ }
+
+ duration = cpu_time;
+ next_play -= cpu_time;
+ if ( next_play < 0 ) // could go negative if routine is taking too long to return
+ next_play = 0;
+ apu.end_frame( cpu_time );
+
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Gbs_Emu.h b/plugins/gme/game-music-emu-svn/gme/Gbs_Emu.h
new file mode 100644
index 00000000..f3318dc8
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gbs_Emu.h
@@ -0,0 +1,88 @@
+// Nintendo Game Boy GBS music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef GBS_EMU_H
+#define GBS_EMU_H
+
+#include "Classic_Emu.h"
+#include "Gb_Apu.h"
+#include "Gb_Cpu.h"
+
+class Gbs_Emu : private Gb_Cpu, public Classic_Emu {
+ typedef Gb_Cpu cpu;
+public:
+ // Equalizer profiles for Game Boy Color speaker and headphones
+ static equalizer_t const handheld_eq;
+ static equalizer_t const headphones_eq;
+
+ // GBS file header
+ enum { header_size = 112 };
+ struct header_t
+ {
+ char tag [3];
+ byte vers;
+ byte track_count;
+ byte first_track;
+ byte load_addr [2];
+ byte init_addr [2];
+ byte play_addr [2];
+ byte stack_ptr [2];
+ byte timer_modulo;
+ byte timer_mode;
+ char game [32];
+ char author [32];
+ char copyright [32];
+ };
+
+ // Header for currently loaded file
+ header_t const& header() const { return header_; }
+
+ static gme_type_t static_type() { return gme_gbs_type; }
+
+public:
+ // deprecated
+ Music_Emu::load;
+ blargg_err_t load( header_t const& h, Data_Reader& in ) // use Remaining_Reader
+ { return load_remaining_( &h, sizeof h, in ); }
+
+public:
+ Gbs_Emu();
+ ~Gbs_Emu();
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_( Data_Reader& );
+ blargg_err_t start_track_( int );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+ void unload();
+private:
+ // rom
+ enum { bank_size = 0x4000 };
+ Rom_Data<bank_size> rom;
+ void set_bank( int );
+
+ // timer
+ blip_time_t cpu_time;
+ blip_time_t play_period;
+ blip_time_t next_play;
+ void update_timer();
+
+ header_t header_;
+ void cpu_jsr( gb_addr_t );
+
+public: private: friend class Gb_Cpu;
+ blip_time_t clock() const { return cpu_time - cpu::remain(); }
+
+ enum { joypad_addr = 0xFF00 };
+ enum { ram_addr = 0xA000 };
+ enum { hi_page = 0xFF00 - ram_addr };
+ byte ram [0x4000 + 0x2000 + Gb_Cpu::cpu_padding];
+ Gb_Apu apu;
+
+ int cpu_read( gb_addr_t );
+ void cpu_write( gb_addr_t, int );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Gme_File.cpp b/plugins/gme/game-music-emu-svn/gme/Gme_File.cpp
new file mode 100644
index 00000000..17edc9f8
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gme_File.cpp
@@ -0,0 +1,216 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Gme_File.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+const char* const gme_wrong_file_type = "Wrong file type for this emulator";
+
+void Gme_File::clear_playlist()
+{
+ playlist.clear();
+ clear_playlist_();
+ track_count_ = raw_track_count_;
+}
+
+void Gme_File::unload()
+{
+ clear_playlist(); // *before* clearing track count
+ track_count_ = 0;
+ raw_track_count_ = 0;
+ file_data.clear();
+}
+
+Gme_File::Gme_File()
+{
+ type_ = 0;
+ user_data_ = 0;
+ user_cleanup_ = 0;
+ unload(); // clears fields
+ blargg_verify_byte_order(); // used by most emulator types, so save them the trouble
+}
+
+Gme_File::~Gme_File()
+{
+ if ( user_cleanup_ )
+ user_cleanup_( user_data_ );
+}
+
+blargg_err_t Gme_File::load_mem_( byte const* data, long size )
+{
+ require( data != file_data.begin() ); // load_mem_() or load_() must be overridden
+ Mem_File_Reader in( data, size );
+ return load_( in );
+}
+
+blargg_err_t Gme_File::load_( Data_Reader& in )
+{
+ RETURN_ERR( file_data.resize( in.remain() ) );
+ RETURN_ERR( in.read( file_data.begin(), file_data.size() ) );
+ return load_mem_( file_data.begin(), file_data.size() );
+}
+
+// public load functions call this at beginning
+void Gme_File::pre_load() { unload(); }
+
+void Gme_File::post_load_() { }
+
+// public load functions call this at end
+blargg_err_t Gme_File::post_load( blargg_err_t err )
+{
+ if ( !track_count() )
+ set_track_count( type()->track_count );
+ if ( !err )
+ post_load_();
+ else
+ unload();
+
+ return err;
+}
+
+// Public load functions
+
+blargg_err_t Gme_File::load_mem( void const* in, long size )
+{
+ pre_load();
+ return post_load( load_mem_( (byte const*) in, size ) );
+}
+
+blargg_err_t Gme_File::load( Data_Reader& in )
+{
+ pre_load();
+ return post_load( load_( in ) );
+}
+
+blargg_err_t Gme_File::load_file( const char* path )
+{
+ pre_load();
+ GME_FILE_READER in;
+ RETURN_ERR( in.open( path ) );
+ return post_load( load_( in ) );
+}
+
+blargg_err_t Gme_File::load_remaining_( void const* h, long s, Data_Reader& in )
+{
+ Remaining_Reader rem( h, s, &in );
+ return load( rem );
+}
+
+// Track info
+
+void Gme_File::copy_field_( char* out, const char* in, int in_size )
+{
+ if ( !in || !*in )
+ return;
+
+ // remove spaces/junk from beginning
+ while ( in_size && unsigned (*in - 1) <= ' ' - 1 )
+ {
+ in++;
+ in_size--;
+ }
+
+ // truncate
+ if ( in_size > max_field_ )
+ in_size = max_field_;
+
+ // find terminator
+ int len = 0;
+ while ( len < in_size && in [len] )
+ len++;
+
+ // remove spaces/junk from end
+ while ( len && unsigned (in [len - 1]) <= ' ' )
+ len--;
+
+ // copy
+ out [len] = 0;
+ memcpy( out, in, len );
+
+ // strip out stupid fields that should have been left blank
+ if ( !strcmp( out, "?" ) || !strcmp( out, "<?>" ) || !strcmp( out, "< ? >" ) )
+ out [0] = 0;
+}
+
+void Gme_File::copy_field_( char* out, const char* in )
+{
+ copy_field_( out, in, max_field_ );
+}
+
+blargg_err_t Gme_File::remap_track_( int* track_io ) const
+{
+ if ( (unsigned) *track_io >= (unsigned) track_count() )
+ return "Invalid track";
+
+ if ( (unsigned) *track_io < (unsigned) playlist.size() )
+ {
+ M3u_Playlist::entry_t const& e = playlist [*track_io];
+ *track_io = 0;
+ if ( e.track >= 0 )
+ {
+ *track_io = e.track;
+ if ( !(type_->flags_ & 0x02) )
+ *track_io -= e.decimal_track;
+ }
+ if ( *track_io >= raw_track_count_ )
+ return "Invalid track in m3u playlist";
+ }
+ else
+ {
+ check( !playlist.size() );
+ }
+ return 0;
+}
+
+blargg_err_t Gme_File::track_info( track_info_t* out, int track ) const
+{
+ out->track_count = track_count();
+ out->length = -1;
+ out->loop_length = -1;
+ out->intro_length = -1;
+ out->song [0] = 0;
+
+ out->game [0] = 0;
+ out->author [0] = 0;
+ out->copyright [0] = 0;
+ out->comment [0] = 0;
+ out->dumper [0] = 0;
+ out->system [0] = 0;
+
+ copy_field_( out->system, type()->system );
+
+ int remapped = track;
+ RETURN_ERR( remap_track_( &remapped ) );
+ RETURN_ERR( track_info_( out, remapped ) );
+
+ // override with m3u info
+ if ( playlist.size() )
+ {
+ M3u_Playlist::info_t const& i = playlist.info();
+ copy_field_( out->game , i.title );
+ copy_field_( out->author, i.engineer );
+ copy_field_( out->author, i.composer );
+ copy_field_( out->dumper, i.ripping );
+
+ M3u_Playlist::entry_t const& e = playlist [track];
+ copy_field_( out->song, e.name );
+ if ( e.length >= 0 ) out->length = e.length * 1000L;
+ if ( e.intro >= 0 ) out->intro_length = e.intro * 1000L;
+ if ( e.loop >= 0 ) out->loop_length = e.loop * 1000L;
+ }
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Gme_File.h b/plugins/gme/game-music-emu-svn/gme/Gme_File.h
new file mode 100644
index 00000000..a327ceb6
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gme_File.h
@@ -0,0 +1,177 @@
+// Common interface to game music file loading and information
+
+// Game_Music_Emu 0.5.5
+#ifndef GME_FILE_H
+#define GME_FILE_H
+
+#include "gme.h"
+#include "blargg_common.h"
+#include "Data_Reader.h"
+#include "M3u_Playlist.h"
+
+// Error returned if file is wrong type
+//extern const char gme_wrong_file_type []; // declared in gme.h
+
+struct gme_type_t_
+{
+ const char* system; /* name of system this music file type is generally for */
+ int track_count; /* non-zero for formats with a fixed number of tracks */
+ Music_Emu* (*new_emu)(); /* Create new emulator for this type (useful in C++ only) */
+ Music_Emu* (*new_info)(); /* Create new info reader for this type */
+
+ /* internal */
+ const char* extension_;
+ int flags_;
+};
+
+struct track_info_t
+{
+ long track_count;
+
+ /* times in milliseconds; -1 if unknown */
+ long length;
+ long intro_length;
+ long loop_length;
+
+ /* empty string if not available */
+ char system [256];
+ char game [256];
+ char song [256];
+ char author [256];
+ char copyright [256];
+ char comment [256];
+ char dumper [256];
+};
+enum { gme_max_field = 255 };
+
+struct Gme_File {
+public:
+// File loading
+
+ // Each loads game music data from a file and returns an error if
+ // file is wrong type or is seriously corrupt. They also set warning
+ // string for minor problems.
+
+ // Load from file on disk
+ blargg_err_t load_file( const char* path );
+
+ // Load from custom data source (see Data_Reader.h)
+ blargg_err_t load( Data_Reader& );
+
+ // Load from file already read into memory. Keeps pointer to data, so you
+ // must not free it until you're done with the file.
+ blargg_err_t load_mem( void const* data, long size );
+
+ // Load an m3u playlist. Must be done after loading main music file.
+ blargg_err_t load_m3u( const char* path );
+ blargg_err_t load_m3u( Data_Reader& in );
+
+ // Clears any loaded m3u playlist and any internal playlist that the music
+ // format supports (NSFE for example).
+ void clear_playlist();
+
+// Informational
+
+ // Type of emulator. For example if this returns gme_nsfe_type, this object
+ // is an NSFE emulator, and you can cast to an Nsfe_Emu* if necessary.
+ gme_type_t type() const;
+
+ // Most recent warning string, or NULL if none. Clears current warning after
+ // returning.
+ const char* warning();
+
+ // Number of tracks or 0 if no file has been loaded
+ int track_count() const;
+
+ // Get information for a track (length, name, author, etc.)
+ // See gme.h for definition of struct track_info_t.
+ blargg_err_t track_info( track_info_t* out, int track ) const;
+
+// User data/cleanup
+
+ // Set/get pointer to data you want to associate with this emulator.
+ // You can use this for whatever you want.
+ void set_user_data( void* p ) { user_data_ = p; }
+ void* user_data() const { return user_data_; }
+
+ // Register cleanup function to be called when deleting emulator, or NULL to
+ // clear it. Passes user_data to cleanup function.
+ void set_user_cleanup( gme_user_cleanup_t func ) { user_cleanup_ = func; }
+
+public:
+ // deprecated
+ int error_count() const; // use warning()
+public:
+ Gme_File();
+ virtual ~Gme_File();
+ BLARGG_DISABLE_NOTHROW
+ typedef BOOST::uint8_t byte;
+protected:
+ // Services
+ void set_track_count( int n ) { track_count_ = raw_track_count_ = n; }
+ void set_warning( const char* s ) { warning_ = s; }
+ void set_type( gme_type_t t ) { type_ = t; }
+ blargg_err_t load_remaining_( void const* header, long header_size, Data_Reader& remaining );
+
+ // Overridable
+ virtual void unload(); // called before loading file and if loading fails
+ virtual blargg_err_t load_( Data_Reader& ); // default loads then calls load_mem_()
+ virtual blargg_err_t load_mem_( byte const* data, long size ); // use data in memory
+ virtual blargg_err_t track_info_( track_info_t* out, int track ) const = 0;
+ virtual void pre_load();
+ virtual void post_load_();
+ virtual void clear_playlist_() { }
+
+public:
+ blargg_err_t remap_track_( int* track_io ) const; // need by Music_Emu
+private:
+ // noncopyable
+ Gme_File( const Gme_File& );
+ Gme_File& operator = ( const Gme_File& );
+
+ gme_type_t type_;
+ int track_count_;
+ int raw_track_count_;
+ const char* warning_;
+ void* user_data_;
+ gme_user_cleanup_t user_cleanup_;
+ M3u_Playlist playlist;
+ char playlist_warning [64];
+ blargg_vector<byte> file_data; // only if loaded into memory using default load
+
+ blargg_err_t load_m3u_( blargg_err_t );
+ blargg_err_t post_load( blargg_err_t err );
+public:
+ // track_info field copying
+ enum { max_field_ = 255 };
+ static void copy_field_( char* out, const char* in );
+ static void copy_field_( char* out, const char* in, int len );
+};
+
+Music_Emu* gme_new_( Music_Emu*, long sample_rate );
+
+#define GME_COPY_FIELD( in, out, name ) \
+ { Gme_File::copy_field_( out->name, in.name, sizeof in.name ); }
+
+#ifndef GME_FILE_READER
+ #ifdef HAVE_ZLIB_H
+ #define GME_FILE_READER Gzip_File_Reader
+ #else
+ #define GME_FILE_READER Std_File_Reader
+ #endif
+#elif defined (GME_FILE_READER_INCLUDE)
+ #include GME_FILE_READER_INCLUDE
+#endif
+
+inline gme_type_t Gme_File::type() const { return type_; }
+inline int Gme_File::error_count() const { return warning_ != 0; }
+inline int Gme_File::track_count() const { return track_count_; }
+
+inline const char* Gme_File::warning()
+{
+ const char* s = warning_;
+ warning_ = 0;
+ return s;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Gym_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Gym_Emu.cpp
new file mode 100644
index 00000000..c286dea9
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gym_Emu.cpp
@@ -0,0 +1,380 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Gym_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+double const min_tempo = 0.25;
+double const oversample_factor = 5 / 3.0;
+double const fm_gain = 3.0;
+
+const long base_clock = 53700300;
+const long clock_rate = base_clock / 15;
+
+Gym_Emu::Gym_Emu()
+{
+ data = 0;
+ pos = 0;
+ set_type( gme_gym_type );
+
+ static const char* const names [] = {
+ "FM 1", "FM 2", "FM 3", "FM 4", "FM 5", "FM 6", "PCM", "PSG"
+ };
+ set_voice_names( names );
+ set_silence_lookahead( 1 ); // tracks should already be trimmed
+}
+
+Gym_Emu::~Gym_Emu() { }
+
+// Track info
+
+static void get_gym_info( Gym_Emu::header_t const& h, long length, track_info_t* out )
+{
+ if ( !memcmp( h.tag, "GYMX", 4 ) )
+ {
+ length = length * 50 / 3; // 1000 / 60
+ long loop = get_le32( h.loop_start );
+ if ( loop )
+ {
+ out->intro_length = loop * 50 / 3;
+ out->loop_length = length - out->intro_length;
+ }
+ else
+ {
+ out->length = length;
+ out->intro_length = length; // make it clear that track is no longer than length
+ out->loop_length = 0;
+ }
+
+ // more stupidity where the field should have been left
+ if ( strcmp( h.song, "Unknown Song" ) )
+ GME_COPY_FIELD( h, out, song );
+
+ if ( strcmp( h.game, "Unknown Game" ) )
+ GME_COPY_FIELD( h, out, game );
+
+ if ( strcmp( h.copyright, "Unknown Publisher" ) )
+ GME_COPY_FIELD( h, out, copyright );
+
+ if ( strcmp( h.dumper, "Unknown Person" ) )
+ GME_COPY_FIELD( h, out, dumper );
+
+ if ( strcmp( h.comment, "Header added by YMAMP" ) )
+ GME_COPY_FIELD( h, out, comment );
+ }
+}
+
+blargg_err_t Gym_Emu::track_info_( track_info_t* out, int ) const
+{
+ get_gym_info( header_, track_length(), out );
+ return 0;
+}
+
+static long gym_track_length( byte const* p, byte const* end )
+{
+ long time = 0;
+ while ( p < end )
+ {
+ switch ( *p++ )
+ {
+ case 0:
+ time++;
+ break;
+
+ case 1:
+ case 2:
+ p += 2;
+ break;
+
+ case 3:
+ p += 1;
+ break;
+ }
+ }
+ return time;
+}
+
+long Gym_Emu::track_length() const { return gym_track_length( data, data_end ); }
+
+static blargg_err_t check_header( byte const* in, long size, int* data_offset = 0 )
+{
+ if ( size < 4 )
+ return gme_wrong_file_type;
+
+ if ( memcmp( in, "GYMX", 4 ) == 0 )
+ {
+ if ( size < Gym_Emu::header_size + 1 )
+ return gme_wrong_file_type;
+
+ if ( memcmp( ((Gym_Emu::header_t const*) in)->packed, "\0\0\0\0", 4 ) != 0 )
+ return "Packed GYM file not supported";
+
+ if ( data_offset )
+ *data_offset = Gym_Emu::header_size;
+ }
+ else if ( *in > 3 )
+ {
+ return gme_wrong_file_type;
+ }
+
+ return 0;
+}
+
+struct Gym_File : Gme_Info_
+{
+ byte const* file_begin;
+ byte const* file_end;
+ int data_offset;
+
+ Gym_File() { set_type( gme_gym_type ); }
+
+ blargg_err_t load_mem_( byte const* in, long size )
+ {
+ file_begin = in;
+ file_end = in + size;
+ data_offset = 0;
+ return check_header( in, size, &data_offset );
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ long length = gym_track_length( &file_begin [data_offset], file_end );
+ get_gym_info( *(Gym_Emu::header_t const*) file_begin, length, out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_gym_emu () { return BLARGG_NEW Gym_Emu ; }
+static Music_Emu* new_gym_file() { return BLARGG_NEW Gym_File; }
+
+static gme_type_t_ const gme_gym_type_ = { "Sega Genesis", 1, &new_gym_emu, &new_gym_file, "GYM", 0 };
+gme_type_t const gme_gym_type = &gme_gym_type_;
+
+// Setup
+
+blargg_err_t Gym_Emu::set_sample_rate_( long sample_rate )
+{
+ blip_eq_t eq( -32, 8000, sample_rate );
+ apu.treble_eq( eq );
+ dac_synth.treble_eq( eq );
+ apu.volume( 0.135 * fm_gain * gain() );
+ dac_synth.volume( 0.125 / 256 * fm_gain * gain() );
+ double factor = Dual_Resampler::setup( oversample_factor, 0.990, fm_gain * gain() );
+ fm_sample_rate = sample_rate * factor;
+
+ RETURN_ERR( blip_buf.set_sample_rate( sample_rate, int (1000 / 60.0 / min_tempo) ) );
+ blip_buf.clock_rate( clock_rate );
+
+ RETURN_ERR( fm.set_rate( fm_sample_rate, base_clock / 7.0 ) );
+ RETURN_ERR( Dual_Resampler::reset( long (1.0 / 60 / min_tempo * sample_rate) ) );
+
+ return 0;
+}
+
+void Gym_Emu::set_tempo_( double t )
+{
+ if ( t < min_tempo )
+ {
+ set_tempo( min_tempo );
+ return;
+ }
+
+ if ( blip_buf.sample_rate() )
+ {
+ clocks_per_frame = long (clock_rate / 60 / tempo());
+ Dual_Resampler::resize( long (sample_rate() / (60.0 * tempo())) );
+ }
+}
+
+void Gym_Emu::mute_voices_( int mask )
+{
+ Music_Emu::mute_voices_( mask );
+ fm.mute_voices( mask );
+ dac_muted = (mask & 0x40) != 0;
+ apu.output( (mask & 0x80) ? 0 : &blip_buf );
+}
+
+blargg_err_t Gym_Emu::load_mem_( byte const* in, long size )
+{
+ assert( offsetof (header_t,packed [4]) == header_size );
+ int offset = 0;
+ RETURN_ERR( check_header( in, size, &offset ) );
+ set_voice_count( 8 );
+
+ data = in + offset;
+ data_end = in + size;
+ loop_begin = 0;
+
+ if ( offset )
+ header_ = *(header_t const*) in;
+ else
+ memset( &header_, 0, sizeof header_ );
+
+ return 0;
+}
+
+// Emulation
+
+blargg_err_t Gym_Emu::start_track_( int track )
+{
+ RETURN_ERR( Music_Emu::start_track_( track ) );
+
+ pos = data;
+ loop_remain = get_le32( header_.loop_start );
+
+ prev_dac_count = 0;
+ dac_enabled = false;
+ dac_amp = -1;
+
+ fm.reset();
+ apu.reset();
+ blip_buf.clear();
+ Dual_Resampler::clear();
+ return 0;
+}
+
+void Gym_Emu::run_dac( int dac_count )
+{
+ // Guess beginning and end of sample and adjust rate and buffer position accordingly.
+
+ // count dac samples in next frame
+ int next_dac_count = 0;
+ const byte* p = this->pos;
+ int cmd;
+ while ( (cmd = *p++) != 0 )
+ {
+ int data = *p++;
+ if ( cmd <= 2 )
+ ++p;
+ if ( cmd == 1 && data == 0x2A )
+ next_dac_count++;
+ }
+
+ // detect beginning and end of sample
+ int rate_count = dac_count;
+ int start = 0;
+ if ( !prev_dac_count && next_dac_count && dac_count < next_dac_count )
+ {
+ rate_count = next_dac_count;
+ start = next_dac_count - dac_count;
+ }
+ else if ( prev_dac_count && !next_dac_count && dac_count < prev_dac_count )
+ {
+ rate_count = prev_dac_count;
+ }
+
+ // Evenly space samples within buffer section being used
+ blip_resampled_time_t period = blip_buf.resampled_duration( clocks_per_frame ) / rate_count;
+
+ blip_resampled_time_t time = blip_buf.resampled_time( 0 ) +
+ period * start + (period >> 1);
+
+ int dac_amp = this->dac_amp;
+ if ( dac_amp < 0 )
+ dac_amp = dac_buf [0];
+
+ for ( int i = 0; i < dac_count; i++ )
+ {
+ int delta = dac_buf [i] - dac_amp;
+ dac_amp += delta;
+ dac_synth.offset_resampled( time, delta, &blip_buf );
+ time += period;
+ }
+ this->dac_amp = dac_amp;
+}
+
+void Gym_Emu::parse_frame()
+{
+ int dac_count = 0;
+ const byte* pos = this->pos;
+
+ if ( loop_remain && !--loop_remain )
+ loop_begin = pos; // find loop on first time through sequence
+
+ int cmd;
+ while ( (cmd = *pos++) != 0 )
+ {
+ int data = *pos++;
+ if ( cmd == 1 )
+ {
+ int data2 = *pos++;
+ if ( data != 0x2A )
+ {
+ if ( data == 0x2B )
+ dac_enabled = (data2 & 0x80) != 0;
+
+ fm.write0( data, data2 );
+ }
+ else if ( dac_count < (int) sizeof dac_buf )
+ {
+ dac_buf [dac_count] = data2;
+ dac_count += dac_enabled;
+ }
+ }
+ else if ( cmd == 2 )
+ {
+ fm.write1( data, *pos++ );
+ }
+ else if ( cmd == 3 )
+ {
+ apu.write_data( 0, data );
+ }
+ else
+ {
+ // to do: many GYM streams are full of errors, and error count should
+ // reflect cases where music is really having problems
+ //log_error();
+ --pos; // put data back
+ }
+ }
+
+ // loop
+ if ( pos >= data_end )
+ {
+ check( pos == data_end );
+
+ if ( loop_begin )
+ pos = loop_begin;
+ else
+ set_track_ended();
+ }
+ this->pos = pos;
+
+ // dac
+ if ( dac_count && !dac_muted )
+ run_dac( dac_count );
+ prev_dac_count = dac_count;
+}
+
+int Gym_Emu::play_frame( blip_time_t blip_time, int sample_count, sample_t* buf )
+{
+ if ( !track_ended() )
+ parse_frame();
+
+ apu.end_frame( blip_time );
+
+ memset( buf, 0, sample_count * sizeof *buf );
+ fm.run( sample_count >> 1, buf );
+
+ return sample_count;
+}
+
+blargg_err_t Gym_Emu::play_( long count, sample_t* out )
+{
+ Dual_Resampler::dual_play( count, out, blip_buf );
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Gym_Emu.h b/plugins/gme/game-music-emu-svn/gme/Gym_Emu.h
new file mode 100644
index 00000000..f2e13238
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Gym_Emu.h
@@ -0,0 +1,82 @@
+// Sega Genesis/Mega Drive GYM music file emulator
+// Includes with PCM timing recovery to improve sample quality.
+
+// Game_Music_Emu 0.5.5
+#ifndef GYM_EMU_H
+#define GYM_EMU_H
+
+#include "Dual_Resampler.h"
+#include "Ym2612_Emu.h"
+#include "Music_Emu.h"
+#include "Sms_Apu.h"
+
+class Gym_Emu : public Music_Emu, private Dual_Resampler {
+public:
+ // GYM file header
+ enum { header_size = 428 };
+ struct header_t
+ {
+ char tag [4];
+ char song [32];
+ char game [32];
+ char copyright [32];
+ char emulator [32];
+ char dumper [32];
+ char comment [256];
+ byte loop_start [4]; // in 1/60 seconds, 0 if not looped
+ byte packed [4];
+ };
+
+ // Header for currently loaded file
+ header_t const& header() const { return header_; }
+
+ static gme_type_t static_type() { return gme_gym_type; }
+
+public:
+ // deprecated
+ Music_Emu::load;
+ blargg_err_t load( header_t const& h, Data_Reader& in ) // use Remaining_Reader
+ { return load_remaining_( &h, sizeof h, in ); }
+ enum { gym_rate = 60 };
+ long track_length() const; // use track_info()
+
+public:
+ Gym_Emu();
+ ~Gym_Emu();
+protected:
+ blargg_err_t load_mem_( byte const*, long );
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t set_sample_rate_( long sample_rate );
+ blargg_err_t start_track_( int );
+ blargg_err_t play_( long count, sample_t* );
+ void mute_voices_( int );
+ void set_tempo_( double );
+ int play_frame( blip_time_t blip_time, int sample_count, sample_t* buf );
+private:
+ // sequence data begin, loop begin, current position, end
+ const byte* data;
+ const byte* loop_begin;
+ const byte* pos;
+ const byte* data_end;
+ blargg_long loop_remain; // frames remaining until loop beginning has been located
+ header_t header_;
+ double fm_sample_rate;
+ blargg_long clocks_per_frame;
+ void parse_frame();
+
+ // dac (pcm)
+ int dac_amp;
+ int prev_dac_count;
+ bool dac_enabled;
+ bool dac_muted;
+ void run_dac( int );
+
+ // sound
+ Blip_Buffer blip_buf;
+ Ym2612_Emu fm;
+ Blip_Synth<blip_med_quality,1> dac_synth;
+ Sms_Apu apu;
+ byte dac_buf [1024];
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Hes_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Hes_Apu.cpp
new file mode 100644
index 00000000..63c2b707
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Hes_Apu.cpp
@@ -0,0 +1,315 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Hes_Apu.h"
+
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+bool const center_waves = true; // reduces asymmetry and clamping when starting notes
+
+Hes_Apu::Hes_Apu()
+{
+ Hes_Osc* osc = &oscs [osc_count];
+ do
+ {
+ osc--;
+ osc->outputs [0] = 0;
+ osc->outputs [1] = 0;
+ osc->chans [0] = 0;
+ osc->chans [1] = 0;
+ osc->chans [2] = 0;
+ }
+ while ( osc != oscs );
+
+ reset();
+}
+
+void Hes_Apu::reset()
+{
+ latch = 0;
+ balance = 0xFF;
+
+ Hes_Osc* osc = &oscs [osc_count];
+ do
+ {
+ osc--;
+ memset( osc, 0, offsetof (Hes_Osc,outputs) );
+ osc->noise_lfsr = 1;
+ osc->control = 0x40;
+ osc->balance = 0xFF;
+ }
+ while ( osc != oscs );
+}
+
+void Hes_Apu::osc_output( int index, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ require( (unsigned) index < osc_count );
+ oscs [index].chans [0] = center;
+ oscs [index].chans [1] = left;
+ oscs [index].chans [2] = right;
+
+ Hes_Osc* osc = &oscs [osc_count];
+ do
+ {
+ osc--;
+ balance_changed( *osc );
+ }
+ while ( osc != oscs );
+}
+
+void Hes_Osc::run_until( synth_t& synth_, blip_time_t end_time )
+{
+ Blip_Buffer* const osc_outputs_0 = outputs [0]; // cache often-used values
+ if ( osc_outputs_0 && control & 0x80 )
+ {
+ int dac = this->dac;
+
+ int const volume_0 = volume [0];
+ {
+ int delta = dac * volume_0 - last_amp [0];
+ if ( delta )
+ synth_.offset( last_time, delta, osc_outputs_0 );
+ osc_outputs_0->set_modified();
+ }
+
+ Blip_Buffer* const osc_outputs_1 = outputs [1];
+ int const volume_1 = volume [1];
+ if ( osc_outputs_1 )
+ {
+ int delta = dac * volume_1 - last_amp [1];
+ if ( delta )
+ synth_.offset( last_time, delta, osc_outputs_1 );
+ osc_outputs_1->set_modified();
+ }
+
+ blip_time_t time = last_time + delay;
+ if ( time < end_time )
+ {
+ if ( noise & 0x80 )
+ {
+ if ( volume_0 | volume_1 )
+ {
+ // noise
+ int const period = (32 - (noise & 0x1F)) * 64; // TODO: correct?
+ unsigned noise_lfsr = this->noise_lfsr;
+ do
+ {
+ int new_dac = 0x1F & -(noise_lfsr >> 1 & 1);
+ // Implemented using "Galios configuration"
+ // TODO: find correct LFSR algorithm
+ noise_lfsr = (noise_lfsr >> 1) ^ (0xE008 & -(noise_lfsr & 1));
+ //noise_lfsr = (noise_lfsr >> 1) ^ (0x6000 & -(noise_lfsr & 1));
+ int delta = new_dac - dac;
+ if ( delta )
+ {
+ dac = new_dac;
+ synth_.offset( time, delta * volume_0, osc_outputs_0 );
+ if ( osc_outputs_1 )
+ synth_.offset( time, delta * volume_1, osc_outputs_1 );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+
+ this->noise_lfsr = noise_lfsr;
+ assert( noise_lfsr );
+ }
+ }
+ else if ( !(control & 0x40) )
+ {
+ // wave
+ int phase = (this->phase + 1) & 0x1F; // pre-advance for optimal inner loop
+ int period = this->period * 2;
+ if ( period >= 14 && (volume_0 | volume_1) )
+ {
+ do
+ {
+ int new_dac = wave [phase];
+ phase = (phase + 1) & 0x1F;
+ int delta = new_dac - dac;
+ if ( delta )
+ {
+ dac = new_dac;
+ synth_.offset( time, delta * volume_0, osc_outputs_0 );
+ if ( osc_outputs_1 )
+ synth_.offset( time, delta * volume_1, osc_outputs_1 );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+ }
+ else
+ {
+ if ( !period )
+ {
+ // TODO: Gekisha Boy assumes that period = 0 silences wave
+ //period = 0x1000 * 2;
+ period = 1;
+ //if ( !(volume_0 | volume_1) )
+ // debug_printf( "Used period 0\n" );
+ }
+
+ // maintain phase when silent
+ blargg_long count = (end_time - time + period - 1) / period;
+ phase += count; // phase will be masked below
+ time += count * period;
+ }
+ this->phase = (phase - 1) & 0x1F; // undo pre-advance
+ }
+ }
+ time -= end_time;
+ if ( time < 0 )
+ time = 0;
+ delay = time;
+
+ this->dac = dac;
+ last_amp [0] = dac * volume_0;
+ last_amp [1] = dac * volume_1;
+ }
+ last_time = end_time;
+}
+
+void Hes_Apu::balance_changed( Hes_Osc& osc )
+{
+ static short const log_table [32] = { // ~1.5 db per step
+ #define ENTRY( factor ) short (factor * Hes_Osc::amp_range / 31.0 + 0.5)
+ ENTRY( 0.000000 ),ENTRY( 0.005524 ),ENTRY( 0.006570 ),ENTRY( 0.007813 ),
+ ENTRY( 0.009291 ),ENTRY( 0.011049 ),ENTRY( 0.013139 ),ENTRY( 0.015625 ),
+ ENTRY( 0.018581 ),ENTRY( 0.022097 ),ENTRY( 0.026278 ),ENTRY( 0.031250 ),
+ ENTRY( 0.037163 ),ENTRY( 0.044194 ),ENTRY( 0.052556 ),ENTRY( 0.062500 ),
+ ENTRY( 0.074325 ),ENTRY( 0.088388 ),ENTRY( 0.105112 ),ENTRY( 0.125000 ),
+ ENTRY( 0.148651 ),ENTRY( 0.176777 ),ENTRY( 0.210224 ),ENTRY( 0.250000 ),
+ ENTRY( 0.297302 ),ENTRY( 0.353553 ),ENTRY( 0.420448 ),ENTRY( 0.500000 ),
+ ENTRY( 0.594604 ),ENTRY( 0.707107 ),ENTRY( 0.840896 ),ENTRY( 1.000000 ),
+ #undef ENTRY
+ };
+
+ int vol = (osc.control & 0x1F) - 0x1E * 2;
+
+ int left = vol + (osc.balance >> 3 & 0x1E) + (balance >> 3 & 0x1E);
+ if ( left < 0 ) left = 0;
+
+ int right = vol + (osc.balance << 1 & 0x1E) + (balance << 1 & 0x1E);
+ if ( right < 0 ) right = 0;
+
+ left = log_table [left ];
+ right = log_table [right];
+
+ // optimizing for the common case of being centered also allows easy
+ // panning using Effects_Buffer
+ osc.outputs [0] = osc.chans [0]; // center
+ osc.outputs [1] = 0;
+ if ( left != right )
+ {
+ osc.outputs [0] = osc.chans [1]; // left
+ osc.outputs [1] = osc.chans [2]; // right
+ }
+
+ if ( center_waves )
+ {
+ osc.last_amp [0] += (left - osc.volume [0]) * 16;
+ osc.last_amp [1] += (right - osc.volume [1]) * 16;
+ }
+
+ osc.volume [0] = left;
+ osc.volume [1] = right;
+}
+
+void Hes_Apu::write_data( blip_time_t time, int addr, int data )
+{
+ if ( addr == 0x800 )
+ {
+ latch = data & 7;
+ }
+ else if ( addr == 0x801 )
+ {
+ if ( balance != data )
+ {
+ balance = data;
+
+ Hes_Osc* osc = &oscs [osc_count];
+ do
+ {
+ osc--;
+ osc->run_until( synth, time );
+ balance_changed( *oscs );
+ }
+ while ( osc != oscs );
+ }
+ }
+ else if ( latch < osc_count )
+ {
+ Hes_Osc& osc = oscs [latch];
+ osc.run_until( synth, time );
+ switch ( addr )
+ {
+ case 0x802:
+ osc.period = (osc.period & 0xF00) | data;
+ break;
+
+ case 0x803:
+ osc.period = (osc.period & 0x0FF) | ((data & 0x0F) << 8);
+ break;
+
+ case 0x804:
+ if ( osc.control & 0x40 & ~data )
+ osc.phase = 0;
+ osc.control = data;
+ balance_changed( osc );
+ break;
+
+ case 0x805:
+ osc.balance = data;
+ balance_changed( osc );
+ break;
+
+ case 0x806:
+ data &= 0x1F;
+ if ( !(osc.control & 0x40) )
+ {
+ osc.wave [osc.phase] = data;
+ osc.phase = (osc.phase + 1) & 0x1F;
+ }
+ else if ( osc.control & 0x80 )
+ {
+ osc.dac = data;
+ }
+ break;
+
+ case 0x807:
+ if ( &osc >= &oscs [4] )
+ osc.noise = data;
+ break;
+
+ case 0x809:
+ if ( !(data & 0x80) && (data & 0x03) != 0 )
+ debug_printf( "HES LFO not supported\n" );
+ }
+ }
+}
+
+void Hes_Apu::end_frame( blip_time_t end_time )
+{
+ Hes_Osc* osc = &oscs [osc_count];
+ do
+ {
+ osc--;
+ if ( end_time > osc->last_time )
+ osc->run_until( synth, end_time );
+ assert( osc->last_time >= end_time );
+ osc->last_time -= end_time;
+ }
+ while ( osc != oscs );
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Hes_Apu.h b/plugins/gme/game-music-emu-svn/gme/Hes_Apu.h
new file mode 100644
index 00000000..1e546053
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Hes_Apu.h
@@ -0,0 +1,66 @@
+// Turbo Grafx 16 (PC Engine) PSG sound chip emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef HES_APU_H
+#define HES_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+struct Hes_Osc
+{
+ unsigned char wave [32];
+ short volume [2];
+ int last_amp [2];
+ int delay;
+ int period;
+ unsigned char noise;
+ unsigned char phase;
+ unsigned char balance;
+ unsigned char dac;
+ blip_time_t last_time;
+
+ Blip_Buffer* outputs [2];
+ Blip_Buffer* chans [3];
+ unsigned noise_lfsr;
+ unsigned char control;
+
+ enum { amp_range = 0x8000 };
+ typedef Blip_Synth<blip_med_quality,1> synth_t;
+
+ void run_until( synth_t& synth, blip_time_t );
+};
+
+class Hes_Apu {
+public:
+ void treble_eq( blip_eq_t const& );
+ void volume( double );
+
+ enum { osc_count = 6 };
+ void osc_output( int index, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right );
+
+ void reset();
+
+ enum { start_addr = 0x0800 };
+ enum { end_addr = 0x0809 };
+ void write_data( blip_time_t, int addr, int data );
+
+ void end_frame( blip_time_t );
+
+public:
+ Hes_Apu();
+private:
+ Hes_Osc oscs [osc_count];
+ int latch;
+ int balance;
+ Hes_Osc::synth_t synth;
+
+ void balance_changed( Hes_Osc& );
+ void recalc_chans();
+};
+
+inline void Hes_Apu::volume( double v ) { synth.volume( 1.8 / osc_count / Hes_Osc::amp_range * v ); }
+
+inline void Hes_Apu::treble_eq( blip_eq_t const& eq ) { synth.treble_eq( eq ); }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Hes_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Hes_Cpu.cpp
new file mode 100644
index 00000000..8acdd94f
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Hes_Cpu.cpp
@@ -0,0 +1,1303 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Hes_Cpu.h"
+
+#include "blargg_endian.h"
+
+//#include "hes_cpu_log.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+// TODO: support T flag, including clearing it at appropriate times?
+
+// all zero-page should really use whatever is at page 1, but that would
+// reduce efficiency quite a bit
+int const ram_addr = 0x2000;
+
+#define FLUSH_TIME() (void) (s.time = s_time)
+#define CACHE_TIME() (void) (s_time = s.time)
+
+#include "hes_cpu_io.h"
+
+#include "blargg_source.h"
+
+#if BLARGG_NONPORTABLE
+ #define PAGE_OFFSET( addr ) (addr)
+#else
+ #define PAGE_OFFSET( addr ) ((addr) & (page_size - 1))
+#endif
+
+// status flags
+int const st_n = 0x80;
+int const st_v = 0x40;
+int const st_t = 0x20;
+int const st_b = 0x10;
+int const st_d = 0x08;
+int const st_i = 0x04;
+int const st_z = 0x02;
+int const st_c = 0x01;
+
+void Hes_Cpu::reset()
+{
+ check( state == &state_ );
+ state = &state_;
+
+ state_.time = 0;
+ state_.base = 0;
+ irq_time_ = future_hes_time;
+ end_time_ = future_hes_time;
+
+ r.status = st_i;
+ r.sp = 0;
+ r.pc = 0;
+ r.a = 0;
+ r.x = 0;
+ r.y = 0;
+
+ blargg_verify_byte_order();
+}
+
+void Hes_Cpu::set_mmr( int reg, int bank )
+{
+ assert( (unsigned) reg <= page_count ); // allow page past end to be set
+ assert( (unsigned) bank < 0x100 );
+ mmr [reg] = bank;
+ uint8_t const* code = CPU_SET_MMR( this, reg, bank );
+ state->code_map [reg] = code - PAGE_OFFSET( reg << page_shift );
+}
+
+#define TIME (s_time + s.base)
+
+#define READ( addr ) CPU_READ( this, (addr), TIME )
+#define WRITE( addr, data ) {CPU_WRITE( this, (addr), (data), TIME );}
+#define READ_LOW( addr ) (ram [int (addr)])
+#define WRITE_LOW( addr, data ) (void) (READ_LOW( addr ) = (data))
+#define READ_PROG( addr ) (s.code_map [(addr) >> page_shift] [PAGE_OFFSET( addr )])
+
+#define SET_SP( v ) (sp = ((v) + 1) | 0x100)
+#define GET_SP() ((sp - 1) & 0xFF)
+#define PUSH( v ) ((sp = (sp - 1) | 0x100), WRITE_LOW( sp, v ))
+
+// even on x86, using short and unsigned char was slower
+typedef int fint16;
+typedef unsigned fuint16;
+typedef unsigned fuint8;
+typedef blargg_long fint32;
+
+bool Hes_Cpu::run( hes_time_t end_time )
+{
+ bool illegal_encountered = false;
+ set_end_time( end_time );
+ state_t s = this->state_;
+ this->state = &s;
+ // even on x86, using s.time in place of s_time was slower
+ fint16 s_time = s.time;
+
+ // registers
+ fuint16 pc = r.pc;
+ fuint8 a = r.a;
+ fuint8 x = r.x;
+ fuint8 y = r.y;
+ fuint16 sp;
+ SET_SP( r.sp );
+
+ #define IS_NEG (nz & 0x8080)
+
+ #define CALC_STATUS( out ) do {\
+ out = status & (st_v | st_d | st_i);\
+ out |= ((nz >> 8) | nz) & st_n;\
+ out |= c >> 8 & st_c;\
+ if ( !(nz & 0xFF) ) out |= st_z;\
+ } while ( 0 )
+
+ #define SET_STATUS( in ) do {\
+ status = in & (st_v | st_d | st_i);\
+ nz = in << 8;\
+ c = nz;\
+ nz |= ~in & st_z;\
+ } while ( 0 )
+
+ fuint8 status;
+ fuint16 c; // carry set if (c & 0x100) != 0
+ fuint16 nz; // Z set if (nz & 0xFF) == 0, N set if (nz & 0x8080) != 0
+ {
+ fuint8 temp = r.status;
+ SET_STATUS( temp );
+ }
+
+ goto loop;
+branch_not_taken:
+ s_time -= 2;
+loop:
+
+ #ifndef NDEBUG
+ {
+ hes_time_t correct = end_time_;
+ if ( !(status & st_i) && correct > irq_time_ )
+ correct = irq_time_;
+ check( s.base == correct );
+ /*
+ static long count;
+ if ( count == 1844 ) Debugger();
+ if ( s.base != correct ) debug_printf( "%ld\n", count );
+ count++;
+ */
+ }
+ #endif
+
+ check( (unsigned) GET_SP() < 0x100 );
+ check( (unsigned) a < 0x100 );
+ check( (unsigned) x < 0x100 );
+
+ uint8_t const* instr = s.code_map [pc >> page_shift];
+ fuint8 opcode;
+
+ // TODO: eliminate this special case
+ #if BLARGG_NONPORTABLE
+ opcode = instr [pc];
+ pc++;
+ instr += pc;
+ #else
+ instr += PAGE_OFFSET( pc );
+ opcode = *instr++;
+ pc++;
+ #endif
+
+ // TODO: each reference lists slightly different timing values, ugh
+ static uint8_t const clock_table [256] =
+ {// 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 1,7,3, 4,6,4,6,7,3,2,2,2,7,5,7,6,// 0
+ 4,7,7, 4,6,4,6,7,2,5,2,2,7,5,7,6,// 1
+ 7,7,3, 4,4,4,6,7,4,2,2,2,5,5,7,6,// 2
+ 4,7,7, 2,4,4,6,7,2,5,2,2,5,5,7,6,// 3
+ 7,7,3, 4,8,4,6,7,3,2,2,2,4,5,7,6,// 4
+ 4,7,7, 5,2,4,6,7,2,5,3,2,2,5,7,6,// 5
+ 7,7,2, 2,4,4,6,7,4,2,2,2,7,5,7,6,// 6
+ 4,7,7,17,4,4,6,7,2,5,4,2,7,5,7,6,// 7
+ 4,7,2, 7,4,4,4,7,2,2,2,2,5,5,5,6,// 8
+ 4,7,7, 8,4,4,4,7,2,5,2,2,5,5,5,6,// 9
+ 2,7,2, 7,4,4,4,7,2,2,2,2,5,5,5,6,// A
+ 4,7,7, 8,4,4,4,7,2,5,2,2,5,5,5,6,// B
+ 2,7,2,17,4,4,6,7,2,2,2,2,5,5,7,6,// C
+ 4,7,7,17,2,4,6,7,2,5,3,2,2,5,7,6,// D
+ 2,7,2,17,4,4,6,7,2,2,2,2,5,5,7,6,// E
+ 4,7,7,17,2,4,6,7,2,5,4,2,2,5,7,6 // F
+ }; // 0x00 was 8
+
+ fuint16 data;
+ data = clock_table [opcode];
+ if ( (s_time += data) >= 0 )
+ goto possibly_out_of_time;
+almost_out_of_time:
+
+ data = *instr;
+
+ #ifdef HES_CPU_LOG_H
+ log_cpu( "new", pc - 1, opcode, instr [0], instr [1], instr [2],
+ instr [3], instr [4], instr [5] );
+ //log_opcode( opcode );
+ #endif
+
+ switch ( opcode )
+ {
+possibly_out_of_time:
+ if ( s_time < (int) data )
+ goto almost_out_of_time;
+ s_time -= data;
+ goto out_of_time;
+
+// Macros
+
+#define GET_MSB() (instr [1])
+#define ADD_PAGE( out ) (pc++, out = data + 0x100 * GET_MSB());
+#define GET_ADDR() GET_LE16( instr )
+
+// TODO: is the penalty really always added? the original 6502 was much better
+//#define PAGE_CROSS_PENALTY( lsb ) (void) (s_time += (lsb) >> 8)
+#define PAGE_CROSS_PENALTY( lsb )
+
+// Branch
+
+// TODO: more efficient way to handle negative branch that wraps PC around
+#define BRANCH( cond )\
+{\
+ fint16 offset = (BOOST::int8_t) data;\
+ pc++;\
+ if ( !(cond) ) goto branch_not_taken;\
+ pc = BOOST::uint16_t (pc + offset);\
+ goto loop;\
+}
+
+ case 0xF0: // BEQ
+ BRANCH( !((uint8_t) nz) );
+
+ case 0xD0: // BNE
+ BRANCH( (uint8_t) nz );
+
+ case 0x10: // BPL
+ BRANCH( !IS_NEG );
+
+ case 0x90: // BCC
+ BRANCH( !(c & 0x100) )
+
+ case 0x30: // BMI
+ BRANCH( IS_NEG )
+
+ case 0x50: // BVC
+ BRANCH( !(status & st_v) )
+
+ case 0x70: // BVS
+ BRANCH( status & st_v )
+
+ case 0xB0: // BCS
+ BRANCH( c & 0x100 )
+
+ case 0x80: // BRA
+ branch_taken:
+ BRANCH( true );
+
+ case 0xFF:
+ if ( pc == idle_addr + 1 )
+ goto idle_done;
+ case 0x0F: // BBRn
+ case 0x1F:
+ case 0x2F:
+ case 0x3F:
+ case 0x4F:
+ case 0x5F:
+ case 0x6F:
+ case 0x7F:
+ case 0x8F: // BBSn
+ case 0x9F:
+ case 0xAF:
+ case 0xBF:
+ case 0xCF:
+ case 0xDF:
+ case 0xEF: {
+ fuint16 t = 0x101 * READ_LOW( data );
+ t ^= 0xFF;
+ pc++;
+ data = GET_MSB();
+ BRANCH( t & (1 << (opcode >> 4)) )
+ }
+
+ case 0x4C: // JMP abs
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0x7C: // JMP (ind+X)
+ data += x;
+ case 0x6C:{// JMP (ind)
+ data += 0x100 * GET_MSB();
+ pc = GET_LE16( &READ_PROG( data ) );
+ goto loop;
+ }
+
+// Subroutine
+
+ case 0x44: // BSR
+ WRITE_LOW( 0x100 | (sp - 1), pc >> 8 );
+ sp = (sp - 2) | 0x100;
+ WRITE_LOW( sp, pc );
+ goto branch_taken;
+
+ case 0x20: { // JSR
+ fuint16 temp = pc + 1;
+ pc = GET_ADDR();
+ WRITE_LOW( 0x100 | (sp - 1), temp >> 8 );
+ sp = (sp - 2) | 0x100;
+ WRITE_LOW( sp, temp );
+ goto loop;
+ }
+
+ case 0x60: // RTS
+ pc = 0x100 * READ_LOW( 0x100 | (sp - 0xFF) );
+ pc += 1 + READ_LOW( sp );
+ sp = (sp - 0xFE) | 0x100;
+ goto loop;
+
+ case 0x00: // BRK
+ goto handle_brk;
+
+// Common
+
+ case 0xBD:{// LDA abs,X
+ PAGE_CROSS_PENALTY( data + x );
+ fuint16 addr = GET_ADDR() + x;
+ pc += 2;
+ CPU_READ_FAST( this, addr, TIME, nz );
+ a = nz;
+ goto loop;
+ }
+
+ case 0x9D:{// STA abs,X
+ fuint16 addr = GET_ADDR() + x;
+ pc += 2;
+ CPU_WRITE_FAST( this, addr, a, TIME );
+ goto loop;
+ }
+
+ case 0x95: // STA zp,x
+ data = uint8_t (data + x);
+ case 0x85: // STA zp
+ pc++;
+ WRITE_LOW( data, a );
+ goto loop;
+
+ case 0xAE:{// LDX abs
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ CPU_READ_FAST( this, addr, TIME, nz );
+ x = nz;
+ goto loop;
+ }
+
+ case 0xA5: // LDA zp
+ a = nz = READ_LOW( data );
+ pc++;
+ goto loop;
+
+// Load/store
+
+ {
+ fuint16 addr;
+ case 0x91: // STA (ind),Y
+ addr = 0x100 * READ_LOW( uint8_t (data + 1) );
+ addr += READ_LOW( data ) + y;
+ pc++;
+ goto sta_ptr;
+
+ case 0x81: // STA (ind,X)
+ data = uint8_t (data + x);
+ case 0x92: // STA (ind)
+ addr = 0x100 * READ_LOW( uint8_t (data + 1) );
+ addr += READ_LOW( data );
+ pc++;
+ goto sta_ptr;
+
+ case 0x99: // STA abs,Y
+ data += y;
+ case 0x8D: // STA abs
+ addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ sta_ptr:
+ CPU_WRITE_FAST( this, addr, a, TIME );
+ goto loop;
+ }
+
+ {
+ fuint16 addr;
+ case 0xA1: // LDA (ind,X)
+ data = uint8_t (data + x);
+ case 0xB2: // LDA (ind)
+ addr = 0x100 * READ_LOW( uint8_t (data + 1) );
+ addr += READ_LOW( data );
+ pc++;
+ goto a_nz_read_addr;
+
+ case 0xB1:// LDA (ind),Y
+ addr = READ_LOW( data ) + y;
+ PAGE_CROSS_PENALTY( addr );
+ addr += 0x100 * READ_LOW( (uint8_t) (data + 1) );
+ pc++;
+ goto a_nz_read_addr;
+
+ case 0xB9: // LDA abs,Y
+ data += y;
+ PAGE_CROSS_PENALTY( data );
+ case 0xAD: // LDA abs
+ addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ a_nz_read_addr:
+ CPU_READ_FAST( this, addr, TIME, nz );
+ a = nz;
+ goto loop;
+ }
+
+ case 0xBE:{// LDX abs,y
+ PAGE_CROSS_PENALTY( data + y );
+ fuint16 addr = GET_ADDR() + y;
+ pc += 2;
+ FLUSH_TIME();
+ x = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ case 0xB5: // LDA zp,x
+ a = nz = READ_LOW( uint8_t (data + x) );
+ pc++;
+ goto loop;
+
+ case 0xA9: // LDA #imm
+ pc++;
+ a = data;
+ nz = data;
+ goto loop;
+
+// Bit operations
+
+ case 0x3C: // BIT abs,x
+ data += x;
+ case 0x2C:{// BIT abs
+ fuint16 addr;
+ ADD_PAGE( addr );
+ FLUSH_TIME();
+ nz = READ( addr );
+ CACHE_TIME();
+ goto bit_common;
+ }
+ case 0x34: // BIT zp,x
+ data = uint8_t (data + x);
+ case 0x24: // BIT zp
+ data = READ_LOW( data );
+ case 0x89: // BIT imm
+ nz = data;
+ bit_common:
+ pc++;
+ status &= ~st_v;
+ status |= nz & st_v;
+ if ( nz & a )
+ goto loop; // Z should be clear, and nz must be non-zero if nz & a is
+ nz <<= 8; // set Z flag without affecting N flag
+ goto loop;
+
+ {
+ fuint16 addr;
+
+ case 0xB3: // TST abs,x
+ addr = GET_MSB() + x;
+ goto tst_abs;
+
+ case 0x93: // TST abs
+ addr = GET_MSB();
+ tst_abs:
+ addr += 0x100 * instr [2];
+ pc++;
+ FLUSH_TIME();
+ nz = READ( addr );
+ CACHE_TIME();
+ goto tst_common;
+ }
+
+ case 0xA3: // TST zp,x
+ nz = READ_LOW( uint8_t (GET_MSB() + x) );
+ goto tst_common;
+
+ case 0x83: // TST zp
+ nz = READ_LOW( GET_MSB() );
+ tst_common:
+ pc += 2;
+ status &= ~st_v;
+ status |= nz & st_v;
+ if ( nz & data )
+ goto loop; // Z should be clear, and nz must be non-zero if nz & data is
+ nz <<= 8; // set Z flag without affecting N flag
+ goto loop;
+
+ {
+ fuint16 addr;
+ case 0x0C: // TSB abs
+ case 0x1C: // TRB abs
+ addr = GET_ADDR();
+ pc++;
+ goto txb_addr;
+
+ // TODO: everyone lists different behaviors for the status flags, ugh
+ case 0x04: // TSB zp
+ case 0x14: // TRB zp
+ addr = data + ram_addr;
+ txb_addr:
+ FLUSH_TIME();
+ nz = a | READ( addr );
+ if ( opcode & 0x10 )
+ nz ^= a; // bits from a will already be set, so this clears them
+ status &= ~st_v;
+ status |= nz & st_v;
+ pc++;
+ WRITE( addr, nz );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ case 0x07: // RMBn
+ case 0x17:
+ case 0x27:
+ case 0x37:
+ case 0x47:
+ case 0x57:
+ case 0x67:
+ case 0x77:
+ pc++;
+ READ_LOW( data ) &= ~(1 << (opcode >> 4));
+ goto loop;
+
+ case 0x87: // SMBn
+ case 0x97:
+ case 0xA7:
+ case 0xB7:
+ case 0xC7:
+ case 0xD7:
+ case 0xE7:
+ case 0xF7:
+ pc++;
+ READ_LOW( data ) |= 1 << ((opcode >> 4) - 8);
+ goto loop;
+
+// Load/store
+
+ case 0x9E: // STZ abs,x
+ data += x;
+ case 0x9C: // STZ abs
+ ADD_PAGE( data );
+ pc++;
+ FLUSH_TIME();
+ WRITE( data, 0 );
+ CACHE_TIME();
+ goto loop;
+
+ case 0x74: // STZ zp,x
+ data = uint8_t (data + x);
+ case 0x64: // STZ zp
+ pc++;
+ WRITE_LOW( data, 0 );
+ goto loop;
+
+ case 0x94: // STY zp,x
+ data = uint8_t (data + x);
+ case 0x84: // STY zp
+ pc++;
+ WRITE_LOW( data, y );
+ goto loop;
+
+ case 0x96: // STX zp,y
+ data = uint8_t (data + y);
+ case 0x86: // STX zp
+ pc++;
+ WRITE_LOW( data, x );
+ goto loop;
+
+ case 0xB6: // LDX zp,y
+ data = uint8_t (data + y);
+ case 0xA6: // LDX zp
+ data = READ_LOW( data );
+ case 0xA2: // LDX #imm
+ pc++;
+ x = data;
+ nz = data;
+ goto loop;
+
+ case 0xB4: // LDY zp,x
+ data = uint8_t (data + x);
+ case 0xA4: // LDY zp
+ data = READ_LOW( data );
+ case 0xA0: // LDY #imm
+ pc++;
+ y = data;
+ nz = data;
+ goto loop;
+
+ case 0xBC: // LDY abs,X
+ data += x;
+ PAGE_CROSS_PENALTY( data );
+ case 0xAC:{// LDY abs
+ fuint16 addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ FLUSH_TIME();
+ y = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ {
+ fuint8 temp;
+ case 0x8C: // STY abs
+ temp = y;
+ goto store_abs;
+
+ case 0x8E: // STX abs
+ temp = x;
+ store_abs:
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ FLUSH_TIME();
+ WRITE( addr, temp );
+ CACHE_TIME();
+ goto loop;
+ }
+
+// Compare
+
+ case 0xEC:{// CPX abs
+ fuint16 addr = GET_ADDR();
+ pc++;
+ FLUSH_TIME();
+ data = READ( addr );
+ CACHE_TIME();
+ goto cpx_data;
+ }
+
+ case 0xE4: // CPX zp
+ data = READ_LOW( data );
+ case 0xE0: // CPX #imm
+ cpx_data:
+ nz = x - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ case 0xCC:{// CPY abs
+ fuint16 addr = GET_ADDR();
+ pc++;
+ FLUSH_TIME();
+ data = READ( addr );
+ CACHE_TIME();
+ goto cpy_data;
+ }
+
+ case 0xC4: // CPY zp
+ data = READ_LOW( data );
+ case 0xC0: // CPY #imm
+ cpy_data:
+ nz = y - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+// Logical
+
+#define ARITH_ADDR_MODES( op )\
+ case op - 0x04: /* (ind,x) */\
+ data = uint8_t (data + x);\
+ case op + 0x0D: /* (ind) */\
+ data = 0x100 * READ_LOW( uint8_t (data + 1) ) + READ_LOW( data );\
+ goto ptr##op;\
+ case op + 0x0C:{/* (ind),y */\
+ fuint16 temp = READ_LOW( data ) + y;\
+ PAGE_CROSS_PENALTY( temp );\
+ data = temp + 0x100 * READ_LOW( uint8_t (data + 1) );\
+ goto ptr##op;\
+ }\
+ case op + 0x10: /* zp,X */\
+ data = uint8_t (data + x);\
+ case op + 0x00: /* zp */\
+ data = READ_LOW( data );\
+ goto imm##op;\
+ case op + 0x14: /* abs,Y */\
+ data += y;\
+ goto ind##op;\
+ case op + 0x18: /* abs,X */\
+ data += x;\
+ ind##op:\
+ PAGE_CROSS_PENALTY( data );\
+ case op + 0x08: /* abs */\
+ ADD_PAGE( data );\
+ ptr##op:\
+ FLUSH_TIME();\
+ data = READ( data );\
+ CACHE_TIME();\
+ case op + 0x04: /* imm */\
+ imm##op:
+
+ ARITH_ADDR_MODES( 0xC5 ) // CMP
+ nz = a - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x25 ) // AND
+ nz = (a &= data);
+ pc++;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x45 ) // EOR
+ nz = (a ^= data);
+ pc++;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x05 ) // ORA
+ nz = (a |= data);
+ pc++;
+ goto loop;
+
+// Add/subtract
+
+ ARITH_ADDR_MODES( 0xE5 ) // SBC
+ data ^= 0xFF;
+ goto adc_imm;
+
+ ARITH_ADDR_MODES( 0x65 ) // ADC
+ adc_imm: {
+ if ( status & st_d )
+ debug_printf( "Decimal mode not supported\n" );
+ fint16 carry = c >> 8 & 1;
+ fint16 ov = (a ^ 0x80) + carry + (BOOST::int8_t) data; // sign-extend
+ status &= ~st_v;
+ status |= ov >> 2 & 0x40;
+ c = nz = a + data + carry;
+ pc++;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+// Shift/rotate
+
+ case 0x4A: // LSR A
+ c = 0;
+ case 0x6A: // ROR A
+ nz = c >> 1 & 0x80;
+ c = a << 8;
+ nz |= a >> 1;
+ a = nz;
+ goto loop;
+
+ case 0x0A: // ASL A
+ nz = a << 1;
+ c = nz;
+ a = (uint8_t) nz;
+ goto loop;
+
+ case 0x2A: { // ROL A
+ nz = a << 1;
+ fint16 temp = c >> 8 & 1;
+ c = nz;
+ nz |= temp;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+ case 0x5E: // LSR abs,X
+ data += x;
+ case 0x4E: // LSR abs
+ c = 0;
+ case 0x6E: // ROR abs
+ ror_abs: {
+ ADD_PAGE( data );
+ FLUSH_TIME();
+ int temp = READ( data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ goto rotate_common;
+ }
+
+ case 0x3E: // ROL abs,X
+ data += x;
+ goto rol_abs;
+
+ case 0x1E: // ASL abs,X
+ data += x;
+ case 0x0E: // ASL abs
+ c = 0;
+ case 0x2E: // ROL abs
+ rol_abs:
+ ADD_PAGE( data );
+ nz = c >> 8 & 1;
+ FLUSH_TIME();
+ nz |= (c = READ( data ) << 1);
+ rotate_common:
+ pc++;
+ WRITE( data, (uint8_t) nz );
+ CACHE_TIME();
+ goto loop;
+
+ case 0x7E: // ROR abs,X
+ data += x;
+ goto ror_abs;
+
+ case 0x76: // ROR zp,x
+ data = uint8_t (data + x);
+ goto ror_zp;
+
+ case 0x56: // LSR zp,x
+ data = uint8_t (data + x);
+ case 0x46: // LSR zp
+ c = 0;
+ case 0x66: // ROR zp
+ ror_zp: {
+ int temp = READ_LOW( data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ goto write_nz_zp;
+ }
+
+ case 0x36: // ROL zp,x
+ data = uint8_t (data + x);
+ goto rol_zp;
+
+ case 0x16: // ASL zp,x
+ data = uint8_t (data + x);
+ case 0x06: // ASL zp
+ c = 0;
+ case 0x26: // ROL zp
+ rol_zp:
+ nz = c >> 8 & 1;
+ nz |= (c = READ_LOW( data ) << 1);
+ goto write_nz_zp;
+
+// Increment/decrement
+
+#define INC_DEC_AXY( reg, n ) reg = uint8_t (nz = reg + n); goto loop;
+
+ case 0x1A: // INA
+ INC_DEC_AXY( a, +1 )
+
+ case 0xE8: // INX
+ INC_DEC_AXY( x, +1 )
+
+ case 0xC8: // INY
+ INC_DEC_AXY( y, +1 )
+
+ case 0x3A: // DEA
+ INC_DEC_AXY( a, -1 )
+
+ case 0xCA: // DEX
+ INC_DEC_AXY( x, -1 )
+
+ case 0x88: // DEY
+ INC_DEC_AXY( y, -1 )
+
+ case 0xF6: // INC zp,x
+ data = uint8_t (data + x);
+ case 0xE6: // INC zp
+ nz = 1;
+ goto add_nz_zp;
+
+ case 0xD6: // DEC zp,x
+ data = uint8_t (data + x);
+ case 0xC6: // DEC zp
+ nz = (unsigned) -1;
+ add_nz_zp:
+ nz += READ_LOW( data );
+ write_nz_zp:
+ pc++;
+ WRITE_LOW( data, nz );
+ goto loop;
+
+ case 0xFE: // INC abs,x
+ data = x + GET_ADDR();
+ goto inc_ptr;
+
+ case 0xEE: // INC abs
+ data = GET_ADDR();
+ inc_ptr:
+ nz = 1;
+ goto inc_common;
+
+ case 0xDE: // DEC abs,x
+ data = x + GET_ADDR();
+ goto dec_ptr;
+
+ case 0xCE: // DEC abs
+ data = GET_ADDR();
+ dec_ptr:
+ nz = (unsigned) -1;
+ inc_common:
+ FLUSH_TIME();
+ nz += READ( data );
+ pc += 2;
+ WRITE( data, (uint8_t) nz );
+ CACHE_TIME();
+ goto loop;
+
+// Transfer
+
+ case 0xA8: // TAY
+ y = a;
+ nz = a;
+ goto loop;
+
+ case 0x98: // TYA
+ a = y;
+ nz = y;
+ goto loop;
+
+ case 0xAA: // TAX
+ x = a;
+ nz = a;
+ goto loop;
+
+ case 0x8A: // TXA
+ a = x;
+ nz = x;
+ goto loop;
+
+ case 0x9A: // TXS
+ SET_SP( x ); // verified (no flag change)
+ goto loop;
+
+ case 0xBA: // TSX
+ x = nz = GET_SP();
+ goto loop;
+
+ #define SWAP_REGS( r1, r2 ) {\
+ fuint8 t = r1;\
+ r1 = r2;\
+ r2 = t;\
+ goto loop;\
+ }
+
+ case 0x02: // SXY
+ SWAP_REGS( x, y );
+
+ case 0x22: // SAX
+ SWAP_REGS( a, x );
+
+ case 0x42: // SAY
+ SWAP_REGS( a, y );
+
+ case 0x62: // CLA
+ a = 0;
+ goto loop;
+
+ case 0x82: // CLX
+ x = 0;
+ goto loop;
+
+ case 0xC2: // CLY
+ y = 0;
+ goto loop;
+
+// Stack
+
+ case 0x48: // PHA
+ PUSH( a );
+ goto loop;
+
+ case 0xDA: // PHX
+ PUSH( x );
+ goto loop;
+
+ case 0x5A: // PHY
+ PUSH( y );
+ goto loop;
+
+ case 0x40:{// RTI
+ fuint8 temp = READ_LOW( sp );
+ pc = READ_LOW( 0x100 | (sp - 0xFF) );
+ pc |= READ_LOW( 0x100 | (sp - 0xFE) ) * 0x100;
+ sp = (sp - 0xFD) | 0x100;
+ data = status;
+ SET_STATUS( temp );
+ this->r.status = status; // update externally-visible I flag
+ if ( (data ^ status) & st_i )
+ {
+ hes_time_t new_time = end_time_;
+ if ( !(status & st_i) && new_time > irq_time_ )
+ new_time = irq_time_;
+ blargg_long delta = s.base - new_time;
+ s.base = new_time;
+ s_time += delta;
+ }
+ goto loop;
+ }
+
+ #define POP() READ_LOW( sp ); sp = (sp - 0xFF) | 0x100
+
+ case 0x68: // PLA
+ a = nz = POP();
+ goto loop;
+
+ case 0xFA: // PLX
+ x = nz = POP();
+ goto loop;
+
+ case 0x7A: // PLY
+ y = nz = POP();
+ goto loop;
+
+ case 0x28:{// PLP
+ fuint8 temp = POP();
+ fuint8 changed = status ^ temp;
+ SET_STATUS( temp );
+ if ( !(changed & st_i) )
+ goto loop; // I flag didn't change
+ if ( status & st_i )
+ goto handle_sei;
+ goto handle_cli;
+ }
+ #undef POP
+
+ case 0x08: { // PHP
+ fuint8 temp;
+ CALC_STATUS( temp );
+ PUSH( temp | st_b );
+ goto loop;
+ }
+
+// Flags
+
+ case 0x38: // SEC
+ c = (unsigned) ~0;
+ goto loop;
+
+ case 0x18: // CLC
+ c = 0;
+ goto loop;
+
+ case 0xB8: // CLV
+ status &= ~st_v;
+ goto loop;
+
+ case 0xD8: // CLD
+ status &= ~st_d;
+ goto loop;
+
+ case 0xF8: // SED
+ status |= st_d;
+ goto loop;
+
+ case 0x58: // CLI
+ if ( !(status & st_i) )
+ goto loop;
+ status &= ~st_i;
+ handle_cli: {
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - irq_time_;
+ if ( delta <= 0 )
+ {
+ if ( TIME < irq_time_ )
+ goto loop;
+ goto delayed_cli;
+ }
+ s.base = irq_time_;
+ s_time += delta;
+ if ( s_time < 0 )
+ goto loop;
+
+ if ( delta >= s_time + 1 )
+ {
+ // delayed irq until after next instruction
+ s.base += s_time + 1;
+ s_time = -1;
+ irq_time_ = s.base; // TODO: remove, as only to satisfy debug check in loop
+ goto loop;
+ }
+ delayed_cli:
+ debug_printf( "Delayed CLI not supported\n" ); // TODO: implement
+ goto loop;
+ }
+
+ case 0x78: // SEI
+ if ( status & st_i )
+ goto loop;
+ status |= st_i;
+ handle_sei: {
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - end_time_;
+ s.base = end_time_;
+ s_time += delta;
+ if ( s_time < 0 )
+ goto loop;
+ debug_printf( "Delayed SEI not supported\n" ); // TODO: implement
+ goto loop;
+ }
+
+// Special
+
+ case 0x53:{// TAM
+ fuint8 const bits = data; // avoid using data across function call
+ pc++;
+ for ( int i = 0; i < 8; i++ )
+ if ( bits & (1 << i) )
+ set_mmr( i, a );
+ goto loop;
+ }
+
+ case 0x43:{// TMA
+ pc++;
+ byte const* in = mmr;
+ do
+ {
+ if ( data & 1 )
+ a = *in;
+ in++;
+ }
+ while ( (data >>= 1) != 0 );
+ goto loop;
+ }
+
+ case 0x03: // ST0
+ case 0x13: // ST1
+ case 0x23:{// ST2
+ fuint16 addr = opcode >> 4;
+ if ( addr )
+ addr++;
+ pc++;
+ FLUSH_TIME();
+ CPU_WRITE_VDP( this, addr, data, TIME );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ case 0xEA: // NOP
+ goto loop;
+
+ case 0x54: // CSL
+ debug_printf( "CSL not supported\n" );
+ illegal_encountered = true;
+ goto loop;
+
+ case 0xD4: // CSH
+ goto loop;
+
+ case 0xF4: { // SET
+ //fuint16 operand = GET_MSB();
+ debug_printf( "SET not handled\n" );
+ //switch ( data )
+ //{
+ //}
+ illegal_encountered = true;
+ goto loop;
+ }
+
+// Block transfer
+
+ {
+ fuint16 in_alt;
+ fint16 in_inc;
+ fuint16 out_alt;
+ fint16 out_inc;
+
+ case 0xE3: // TIA
+ in_alt = 0;
+ goto bxfer_alt;
+
+ case 0xF3: // TAI
+ in_alt = 1;
+ bxfer_alt:
+ in_inc = in_alt ^ 1;
+ out_alt = in_inc;
+ out_inc = in_alt;
+ goto bxfer;
+
+ case 0xD3: // TIN
+ in_inc = 1;
+ out_inc = 0;
+ goto bxfer_no_alt;
+
+ case 0xC3: // TDD
+ in_inc = -1;
+ out_inc = -1;
+ goto bxfer_no_alt;
+
+ case 0x73: // TII
+ in_inc = 1;
+ out_inc = 1;
+ bxfer_no_alt:
+ in_alt = 0;
+ out_alt = 0;
+ bxfer:
+ fuint16 in = GET_LE16( instr + 0 );
+ fuint16 out = GET_LE16( instr + 2 );
+ int count = GET_LE16( instr + 4 );
+ if ( !count )
+ count = 0x10000;
+ pc += 6;
+ WRITE_LOW( 0x100 | (sp - 1), y );
+ WRITE_LOW( 0x100 | (sp - 2), a );
+ WRITE_LOW( 0x100 | (sp - 3), x );
+ FLUSH_TIME();
+ do
+ {
+ // TODO: reads from $0800-$1400 in I/O page return 0 and don't access I/O
+ fuint8 t = READ( in );
+ in += in_inc;
+ in &= 0xFFFF;
+ s.time += 6;
+ if ( in_alt )
+ in_inc = -in_inc;
+ WRITE( out, t );
+ out += out_inc;
+ out &= 0xFFFF;
+ if ( out_alt )
+ out_inc = -out_inc;
+ }
+ while ( --count );
+ CACHE_TIME();
+ goto loop;
+ }
+
+// Illegal
+
+ default:
+ assert( (unsigned) opcode <= 0xFF );
+ debug_printf( "Illegal opcode $%02X at $%04X\n", (int) opcode, (int) pc - 1 );
+ illegal_encountered = true;
+ goto loop;
+ }
+ assert( false );
+
+ int result_;
+handle_brk:
+ pc++;
+ result_ = 6;
+
+interrupt:
+ {
+ s_time += 7;
+
+ WRITE_LOW( 0x100 | (sp - 1), pc >> 8 );
+ WRITE_LOW( 0x100 | (sp - 2), pc );
+ pc = GET_LE16( &READ_PROG( 0xFFF0 ) + result_ );
+
+ sp = (sp - 3) | 0x100;
+ fuint8 temp;
+ CALC_STATUS( temp );
+ if ( result_ == 6 )
+ temp |= st_b;
+ WRITE_LOW( sp, temp );
+
+ status &= ~st_d;
+ status |= st_i;
+ this->r.status = status; // update externally-visible I flag
+
+ blargg_long delta = s.base - end_time_;
+ s.base = end_time_;
+ s_time += delta;
+ goto loop;
+ }
+
+idle_done:
+ s_time = 0;
+out_of_time:
+ pc--;
+ FLUSH_TIME();
+ CPU_DONE( this, TIME, result_ );
+ CACHE_TIME();
+ if ( result_ > 0 )
+ goto interrupt;
+ if ( s_time < 0 )
+ goto loop;
+
+ s.time = s_time;
+
+ r.pc = pc;
+ r.sp = GET_SP();
+ r.a = a;
+ r.x = x;
+ r.y = y;
+
+ {
+ fuint8 temp;
+ CALC_STATUS( temp );
+ r.status = temp;
+ }
+
+ this->state_ = s;
+ this->state = &this->state_;
+
+ return illegal_encountered;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Hes_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Hes_Cpu.h
new file mode 100644
index 00000000..cf3af87d
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Hes_Cpu.h
@@ -0,0 +1,124 @@
+// PC Engine CPU emulator for use with HES music files
+
+// Game_Music_Emu 0.5.5
+#ifndef HES_CPU_H
+#define HES_CPU_H
+
+#include "blargg_common.h"
+
+typedef blargg_long hes_time_t; // clock cycle count
+typedef unsigned hes_addr_t; // 16-bit address
+enum { future_hes_time = INT_MAX / 2 + 1 };
+
+class Hes_Cpu {
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+ void reset();
+
+ enum { page_size = 0x2000 };
+ enum { page_shift = 13 };
+ enum { page_count = 8 };
+ void set_mmr( int reg, int bank );
+
+ uint8_t const* get_code( hes_addr_t );
+
+ uint8_t ram [page_size];
+
+ // not kept updated during a call to run()
+ struct registers_t {
+ BOOST::uint16_t pc;
+ uint8_t a;
+ uint8_t x;
+ uint8_t y;
+ uint8_t status;
+ uint8_t sp;
+ };
+ registers_t r;
+
+ // page mapping registers
+ uint8_t mmr [page_count + 1];
+
+ // Set end_time and run CPU from current time. Returns true if any illegal
+ // instructions were encountered.
+ bool run( hes_time_t end_time );
+
+ // Time of beginning of next instruction to be executed
+ hes_time_t time() const { return state->time + state->base; }
+ void set_time( hes_time_t t ) { state->time = t - state->base; }
+ void adjust_time( int delta ) { state->time += delta; }
+
+ hes_time_t irq_time() const { return irq_time_; }
+ void set_irq_time( hes_time_t );
+
+ hes_time_t end_time() const { return end_time_; }
+ void set_end_time( hes_time_t );
+
+ void end_frame( hes_time_t );
+
+ // Attempt to execute instruction here results in CPU advancing time to
+ // lesser of irq_time() and end_time() (or end_time() if IRQs are
+ // disabled)
+ enum { idle_addr = 0x1FFF };
+
+ // Can read this many bytes past end of a page
+ enum { cpu_padding = 8 };
+
+public:
+ Hes_Cpu() { state = &state_; }
+ enum { irq_inhibit = 0x04 };
+private:
+ // noncopyable
+ Hes_Cpu( const Hes_Cpu& );
+ Hes_Cpu& operator = ( const Hes_Cpu& );
+
+ struct state_t {
+ uint8_t const* code_map [page_count + 1];
+ hes_time_t base;
+ blargg_long time;
+ };
+ state_t* state; // points to state_ or a local copy within run()
+ state_t state_;
+ hes_time_t irq_time_;
+ hes_time_t end_time_;
+
+ void set_code_page( int, void const* );
+ inline int update_end_time( hes_time_t end, hes_time_t irq );
+};
+
+inline BOOST::uint8_t const* Hes_Cpu::get_code( hes_addr_t addr )
+{
+ return state->code_map [addr >> page_shift] + addr
+ #if !BLARGG_NONPORTABLE
+ % (unsigned) page_size
+ #endif
+ ;
+}
+
+inline int Hes_Cpu::update_end_time( hes_time_t t, hes_time_t irq )
+{
+ if ( irq < t && !(r.status & irq_inhibit) ) t = irq;
+ int delta = state->base - t;
+ state->base = t;
+ return delta;
+}
+
+inline void Hes_Cpu::set_irq_time( hes_time_t t )
+{
+ state->time += update_end_time( end_time_, (irq_time_ = t) );
+}
+
+inline void Hes_Cpu::set_end_time( hes_time_t t )
+{
+ state->time += update_end_time( (end_time_ = t), irq_time_ );
+}
+
+inline void Hes_Cpu::end_frame( hes_time_t t )
+{
+ assert( state == &state_ );
+ state_.base -= t;
+ if ( irq_time_ < future_hes_time ) irq_time_ -= t;
+ if ( end_time_ < future_hes_time ) end_time_ -= t;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Hes_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Hes_Emu.cpp
new file mode 100644
index 00000000..9a32b688
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Hes_Emu.cpp
@@ -0,0 +1,531 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Hes_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+int const timer_mask = 0x04;
+int const vdp_mask = 0x02;
+int const i_flag_mask = 0x04;
+int const unmapped = 0xFF;
+
+long const period_60hz = 262 * 455L; // scanlines * clocks per scanline
+
+Hes_Emu::Hes_Emu()
+{
+ timer.raw_load = 0;
+ set_type( gme_hes_type );
+
+ static const char* const names [Hes_Apu::osc_count] = {
+ "Wave 1", "Wave 2", "Wave 3", "Wave 4", "Multi 1", "Multi 2"
+ };
+ set_voice_names( names );
+
+ static int const types [Hes_Apu::osc_count] = {
+ wave_type | 0, wave_type | 1, wave_type | 2, wave_type | 3,
+ mixed_type | 0, mixed_type | 1
+ };
+ set_voice_types( types );
+ set_silence_lookahead( 6 );
+ set_gain( 1.11 );
+}
+
+Hes_Emu::~Hes_Emu() { }
+
+void Hes_Emu::unload()
+{
+ rom.clear();
+ Music_Emu::unload();
+}
+
+// Track info
+
+static byte const* copy_field( byte const* in, char* out )
+{
+ if ( in )
+ {
+ int len = 0x20;
+ if ( in [0x1F] && !in [0x2F] )
+ len = 0x30; // fields are sometimes 16 bytes longer (ugh)
+
+ // since text fields are where any data could be, detect non-text
+ // and fields with data after zero byte terminator
+
+ int i = 0;
+ for ( i = 0; i < len && in [i]; i++ )
+ if ( ((in [i] + 1) & 0xFF) < ' ' + 1 ) // also treat 0xFF as non-text
+ return 0; // non-ASCII found
+
+ for ( ; i < len; i++ )
+ if ( in [i] )
+ return 0; // data after terminator
+
+ Gme_File::copy_field_( out, (char const*) in, len );
+ in += len;
+ }
+ return in;
+}
+
+static void copy_hes_fields( byte const* in, track_info_t* out )
+{
+ if ( *in >= ' ' )
+ {
+ in = copy_field( in, out->game );
+ in = copy_field( in, out->author );
+ in = copy_field( in, out->copyright );
+ }
+}
+
+blargg_err_t Hes_Emu::track_info_( track_info_t* out, int ) const
+{
+ copy_hes_fields( rom.begin() + 0x20, out );
+ return 0;
+}
+
+static blargg_err_t check_hes_header( void const* header )
+{
+ if ( memcmp( header, "HESM", 4 ) )
+ return gme_wrong_file_type;
+ return 0;
+}
+
+struct Hes_File : Gme_Info_
+{
+ struct header_t {
+ char header [Hes_Emu::header_size];
+ char unused [0x20];
+ byte fields [0x30 * 3];
+ } h;
+
+ Hes_File() { set_type( gme_hes_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ assert( offsetof (header_t,fields) == Hes_Emu::header_size + 0x20 );
+ blargg_err_t err = in.read( &h, sizeof h );
+ if ( err )
+ return (err == in.eof_error ? gme_wrong_file_type : err);
+ return check_hes_header( &h );
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ copy_hes_fields( h.fields, out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_hes_emu () { return BLARGG_NEW Hes_Emu ; }
+static Music_Emu* new_hes_file() { return BLARGG_NEW Hes_File; }
+
+static gme_type_t_ const gme_hes_type_ = { "PC Engine", 256, &new_hes_emu, &new_hes_file, "HES", 1 };
+gme_type_t const gme_hes_type = &gme_hes_type_;
+
+
+// Setup
+
+blargg_err_t Hes_Emu::load_( Data_Reader& in )
+{
+ assert( offsetof (header_t,unused [4]) == header_size );
+ RETURN_ERR( rom.load( in, header_size, &header_, unmapped ) );
+
+ RETURN_ERR( check_hes_header( header_.tag ) );
+
+ if ( header_.vers != 0 )
+ set_warning( "Unknown file version" );
+
+ if ( memcmp( header_.data_tag, "DATA", 4 ) )
+ set_warning( "Data header missing" );
+
+ if ( memcmp( header_.unused, "\0\0\0\0", 4 ) )
+ set_warning( "Unknown header data" );
+
+ // File spec supports multiple blocks, but I haven't found any, and
+ // many files have bad sizes in the only block, so it's simpler to
+ // just try to load the damn data as best as possible.
+
+ long addr = get_le32( header_.addr );
+ long size = get_le32( header_.size );
+ long const rom_max = 0x100000;
+ if ( addr & ~(rom_max - 1) )
+ {
+ set_warning( "Invalid address" );
+ addr &= rom_max - 1;
+ }
+ if ( (unsigned long) (addr + size) > (unsigned long) rom_max )
+ set_warning( "Invalid size" );
+
+ if ( size != rom.file_size() )
+ {
+ if ( size <= rom.file_size() - 4 && !memcmp( rom.begin() + size, "DATA", 4 ) )
+ set_warning( "Multiple DATA not supported" );
+ else if ( size < rom.file_size() )
+ set_warning( "Extra file data" );
+ else
+ set_warning( "Missing file data" );
+ }
+
+ rom.set_addr( addr );
+
+ set_voice_count( apu.osc_count );
+
+ apu.volume( gain() );
+
+ return setup_buffer( 7159091 );
+}
+
+void Hes_Emu::update_eq( blip_eq_t const& eq )
+{
+ apu.treble_eq( eq );
+}
+
+void Hes_Emu::set_voice( int i, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ apu.osc_output( i, center, left, right );
+}
+
+// Emulation
+
+void Hes_Emu::recalc_timer_load()
+{
+ timer.load = timer.raw_load * timer_base + 1;
+}
+
+void Hes_Emu::set_tempo_( double t )
+{
+ play_period = hes_time_t (period_60hz / t);
+ timer_base = int (1024 / t);
+ recalc_timer_load();
+}
+
+blargg_err_t Hes_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+
+ memset( ram, 0, sizeof ram ); // some HES music relies on zero fill
+ memset( sgx, 0, sizeof sgx );
+
+ apu.reset();
+ cpu::reset();
+
+ for ( unsigned i = 0; i < sizeof header_.banks; i++ )
+ set_mmr( i, header_.banks [i] );
+ set_mmr( page_count, 0xFF ); // unmapped beyond end of address space
+
+ irq.disables = timer_mask | vdp_mask;
+ irq.timer = future_hes_time;
+ irq.vdp = future_hes_time;
+
+ timer.enabled = false;
+ timer.raw_load= 0x80;
+ timer.count = timer.load;
+ timer.fired = false;
+ timer.last_time = 0;
+
+ vdp.latch = 0;
+ vdp.control = 0;
+ vdp.next_vbl = 0;
+
+ ram [0x1FF] = (idle_addr - 1) >> 8;
+ ram [0x1FE] = (idle_addr - 1) & 0xFF;
+ r.sp = 0xFD;
+ r.pc = get_le16( header_.init_addr );
+ r.a = track;
+
+ recalc_timer_load();
+ last_frame_hook = 0;
+
+ return 0;
+}
+
+// Hardware
+
+void Hes_Emu::cpu_write_vdp( int addr, int data )
+{
+ switch ( addr )
+ {
+ case 0:
+ vdp.latch = data & 0x1F;
+ break;
+
+ case 2:
+ if ( vdp.latch == 5 )
+ {
+ if ( data & 0x04 )
+ set_warning( "Scanline interrupt unsupported" );
+ run_until( time() );
+ vdp.control = data;
+ irq_changed();
+ }
+ else
+ {
+ debug_printf( "VDP not supported: $%02X <- $%02X\n", vdp.latch, data );
+ }
+ break;
+
+ case 3:
+ debug_printf( "VDP MSB not supported: $%02X <- $%02X\n", vdp.latch, data );
+ break;
+ }
+}
+
+void Hes_Emu::cpu_write_( hes_addr_t addr, int data )
+{
+ if ( unsigned (addr - apu.start_addr) <= apu.end_addr - apu.start_addr )
+ {
+ GME_APU_HOOK( this, addr - apu.start_addr, data );
+ // avoid going way past end when a long block xfer is writing to I/O space
+ hes_time_t t = min( time(), end_time() + 8 );
+ apu.write_data( t, addr, data );
+ return;
+ }
+
+ hes_time_t time = this->time();
+ switch ( addr )
+ {
+ case 0x0000:
+ case 0x0002:
+ case 0x0003:
+ cpu_write_vdp( addr, data );
+ return;
+
+ case 0x0C00: {
+ run_until( time );
+ timer.raw_load = (data & 0x7F) + 1;
+ recalc_timer_load();
+ timer.count = timer.load;
+ break;
+ }
+
+ case 0x0C01:
+ data &= 1;
+ if ( timer.enabled == data )
+ return;
+ run_until( time );
+ timer.enabled = data;
+ if ( data )
+ timer.count = timer.load;
+ break;
+
+ case 0x1402:
+ run_until( time );
+ irq.disables = data;
+ if ( (data & 0xF8) && (data & 0xF8) != 0xF8 ) // flag questionable values
+ debug_printf( "Int mask: $%02X\n", data );
+ break;
+
+ case 0x1403:
+ run_until( time );
+ if ( timer.enabled )
+ timer.count = timer.load;
+ timer.fired = false;
+ break;
+
+#ifndef NDEBUG
+ case 0x1000: // I/O port
+ case 0x0402: // palette
+ case 0x0403:
+ case 0x0404:
+ case 0x0405:
+ return;
+
+ default:
+ debug_printf( "unmapped write $%04X <- $%02X\n", addr, data );
+ return;
+#endif
+ }
+
+ irq_changed();
+}
+
+int Hes_Emu::cpu_read_( hes_addr_t addr )
+{
+ hes_time_t time = this->time();
+ addr &= page_size - 1;
+ switch ( addr )
+ {
+ case 0x0000:
+ if ( irq.vdp > time )
+ return 0;
+ irq.vdp = future_hes_time;
+ run_until( time );
+ irq_changed();
+ return 0x20;
+
+ case 0x0002:
+ case 0x0003:
+ debug_printf( "VDP read not supported: %d\n", addr );
+ return 0;
+
+ case 0x0C01:
+ //return timer.enabled; // TODO: remove?
+ case 0x0C00:
+ run_until( time );
+ debug_printf( "Timer count read\n" );
+ return (unsigned) (timer.count - 1) / timer_base;
+
+ case 0x1402:
+ return irq.disables;
+
+ case 0x1403:
+ {
+ int status = 0;
+ if ( irq.timer <= time ) status |= timer_mask;
+ if ( irq.vdp <= time ) status |= vdp_mask;
+ return status;
+ }
+
+ #ifndef NDEBUG
+ case 0x1000: // I/O port
+ case 0x180C: // CD-ROM
+ case 0x180D:
+ break;
+
+ default:
+ debug_printf( "unmapped read $%04X\n", addr );
+ #endif
+ }
+
+ return unmapped;
+}
+
+// see hes_cpu_io.h for core read/write functions
+
+// Emulation
+
+void Hes_Emu::run_until( hes_time_t present )
+{
+ while ( vdp.next_vbl < present )
+ vdp.next_vbl += play_period;
+
+ hes_time_t elapsed = present - timer.last_time;
+ if ( elapsed > 0 )
+ {
+ if ( timer.enabled )
+ {
+ timer.count -= elapsed;
+ if ( timer.count <= 0 )
+ timer.count += timer.load;
+ }
+ timer.last_time = present;
+ }
+}
+
+void Hes_Emu::irq_changed()
+{
+ hes_time_t present = time();
+
+ if ( irq.timer > present )
+ {
+ irq.timer = future_hes_time;
+ if ( timer.enabled && !timer.fired )
+ irq.timer = present + timer.count;
+ }
+
+ if ( irq.vdp > present )
+ {
+ irq.vdp = future_hes_time;
+ if ( vdp.control & 0x08 )
+ irq.vdp = vdp.next_vbl;
+ }
+
+ hes_time_t time = future_hes_time;
+ if ( !(irq.disables & timer_mask) ) time = irq.timer;
+ if ( !(irq.disables & vdp_mask) ) time = min( time, irq.vdp );
+
+ set_irq_time( time );
+}
+
+int Hes_Emu::cpu_done()
+{
+ check( time() >= end_time() ||
+ (!(r.status & i_flag_mask) && time() >= irq_time()) );
+
+ if ( !(r.status & i_flag_mask) )
+ {
+ hes_time_t present = time();
+
+ if ( irq.timer <= present && !(irq.disables & timer_mask) )
+ {
+ timer.fired = true;
+ irq.timer = future_hes_time;
+ irq_changed(); // overkill, but not worth writing custom code
+ #if GME_FRAME_HOOK_DEFINED
+ {
+ unsigned const threshold = period_60hz / 30;
+ unsigned long elapsed = present - last_frame_hook;
+ if ( elapsed - period_60hz + threshold / 2 < threshold )
+ {
+ last_frame_hook = present;
+ GME_FRAME_HOOK( this );
+ }
+ }
+ #endif
+ return 0x0A;
+ }
+
+ if ( irq.vdp <= present && !(irq.disables & vdp_mask) )
+ {
+ // work around for bugs with music not acknowledging VDP
+ //run_until( present );
+ //irq.vdp = future_hes_time;
+ //irq_changed();
+ #if GME_FRAME_HOOK_DEFINED
+ last_frame_hook = present;
+ GME_FRAME_HOOK( this );
+ #endif
+ return 0x08;
+ }
+ }
+ return 0;
+}
+
+static void adjust_time( blargg_long& time, hes_time_t delta )
+{
+ if ( time < future_hes_time )
+ {
+ time -= delta;
+ if ( time < 0 )
+ time = 0;
+ }
+}
+
+blargg_err_t Hes_Emu::run_clocks( blip_time_t& duration_, int )
+{
+ blip_time_t const duration = duration_; // cache
+
+ if ( cpu::run( duration ) )
+ set_warning( "Emulation error (illegal instruction)" );
+
+ check( time() >= duration );
+ //check( time() - duration < 20 ); // Txx instruction could cause going way over
+
+ run_until( duration );
+
+ // end time frame
+ timer.last_time -= duration;
+ vdp.next_vbl -= duration;
+ #if GME_FRAME_HOOK_DEFINED
+ last_frame_hook -= duration;
+ #endif
+ cpu::end_frame( duration );
+ ::adjust_time( irq.timer, duration );
+ ::adjust_time( irq.vdp, duration );
+ apu.end_frame( duration );
+
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Hes_Emu.h b/plugins/gme/game-music-emu-svn/gme/Hes_Emu.h
new file mode 100644
index 00000000..d17983c5
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Hes_Emu.h
@@ -0,0 +1,94 @@
+// TurboGrafx-16/PC Engine HES music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef HES_EMU_H
+#define HES_EMU_H
+
+#include "Classic_Emu.h"
+#include "Hes_Apu.h"
+#include "Hes_Cpu.h"
+
+class Hes_Emu : private Hes_Cpu, public Classic_Emu {
+ typedef Hes_Cpu cpu;
+public:
+ // HES file header
+ enum { header_size = 0x20 };
+ struct header_t
+ {
+ byte tag [4];
+ byte vers;
+ byte first_track;
+ byte init_addr [2];
+ byte banks [8];
+ byte data_tag [4];
+ byte size [4];
+ byte addr [4];
+ byte unused [4];
+ };
+
+ // Header for currently loaded file
+ header_t const& header() const { return header_; }
+
+ static gme_type_t static_type() { return gme_hes_type; }
+
+public:
+ Hes_Emu();
+ ~Hes_Emu();
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_( Data_Reader& );
+ blargg_err_t start_track_( int );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+ void unload();
+public: private: friend class Hes_Cpu;
+ byte* write_pages [page_count + 1]; // 0 if unmapped or I/O space
+
+ int cpu_read_( hes_addr_t );
+ int cpu_read( hes_addr_t );
+ void cpu_write_( hes_addr_t, int data );
+ void cpu_write( hes_addr_t, int );
+ void cpu_write_vdp( int addr, int data );
+ byte const* cpu_set_mmr( int page, int bank );
+ int cpu_done();
+private:
+ Rom_Data<page_size> rom;
+ header_t header_;
+ hes_time_t play_period;
+ hes_time_t last_frame_hook;
+ int timer_base;
+
+ struct {
+ hes_time_t last_time;
+ blargg_long count;
+ blargg_long load;
+ int raw_load;
+ byte enabled;
+ byte fired;
+ } timer;
+
+ struct {
+ hes_time_t next_vbl;
+ byte latch;
+ byte control;
+ } vdp;
+
+ struct {
+ hes_time_t timer;
+ hes_time_t vdp;
+ byte disables;
+ } irq;
+
+ void recalc_timer_load();
+
+ // large items
+ Hes_Apu apu;
+ byte sgx [3 * page_size + cpu_padding];
+
+ void irq_changed();
+ void run_until( hes_time_t );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Kss_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Kss_Cpu.cpp
new file mode 100644
index 00000000..dac483c1
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Kss_Cpu.cpp
@@ -0,0 +1,1706 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+/*
+Last validated with zexall 2006.11.14 2:19 PM
+* Doesn't implement the R register or immediate interrupt after EI.
+* Address wrap-around isn't completely correct, but is prevented from crashing emulator.
+*/
+
+#include "Kss_Cpu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+//#include "z80_cpu_log.h"
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#define SYNC_TIME() (void) (s.time = s_time)
+#define RELOAD_TIME() (void) (s_time = s.time)
+
+// Callbacks to emulator
+
+#define CPU_OUT( cpu, addr, data, time )\
+ kss_cpu_out( this, time, addr, data )
+
+#define CPU_IN( cpu, addr, time )\
+ kss_cpu_in( this, time, addr )
+
+#define CPU_WRITE( cpu, addr, data, time )\
+ (SYNC_TIME(), kss_cpu_write( this, addr, data ))
+
+#include "blargg_source.h"
+
+// flags, named with hex value for clarity
+int const S80 = 0x80;
+int const Z40 = 0x40;
+int const F20 = 0x20;
+int const H10 = 0x10;
+int const F08 = 0x08;
+int const V04 = 0x04;
+int const P04 = 0x04;
+int const N02 = 0x02;
+int const C01 = 0x01;
+
+#define SZ28P( n ) szpc [n]
+#define SZ28PC( n ) szpc [n]
+#define SZ28C( n ) (szpc [n] & ~P04)
+#define SZ28( n ) SZ28C( n )
+
+#define SET_R( n ) (void) (r.r = n)
+#define GET_R() (r.r)
+
+Kss_Cpu::Kss_Cpu()
+{
+ state = &state_;
+
+ for ( int i = 0x100; --i >= 0; )
+ {
+ int even = 1;
+ for ( int p = i; p; p >>= 1 )
+ even ^= p;
+ int n = (i & (S80 | F20 | F08)) | ((even & 1) * P04);
+ szpc [i] = n;
+ szpc [i + 0x100] = n | C01;
+ }
+ szpc [0x000] |= Z40;
+ szpc [0x100] |= Z40;
+}
+
+inline void Kss_Cpu::set_page( int i, void* write, void const* read )
+{
+ blargg_long offset = KSS_CPU_PAGE_OFFSET( i * (blargg_long) page_size );
+ state->write [i] = (byte *) write - offset;
+ state->read [i] = (byte const*) read - offset;
+}
+
+void Kss_Cpu::reset( void* unmapped_write, void const* unmapped_read )
+{
+ check( state == &state_ );
+ state = &state_;
+ state_.time = 0;
+ state_.base = 0;
+ end_time_ = 0;
+
+ for ( int i = 0; i < page_count + 1; i++ )
+ set_page( i, unmapped_write, unmapped_read );
+
+ memset( &r, 0, sizeof r );
+}
+
+void Kss_Cpu::map_mem( unsigned addr, blargg_ulong size, void* write, void const* read )
+{
+ // address range must begin and end on page boundaries
+ require( addr % page_size == 0 );
+ require( size % page_size == 0 );
+
+ unsigned first_page = addr / page_size;
+ for ( unsigned i = size / page_size; i--; )
+ {
+ blargg_long offset = i * (blargg_long) page_size;
+ set_page( first_page + i, (byte*) write + offset, (byte const*) read + offset );
+ }
+}
+
+#define TIME (s_time + s.base)
+#define RW_MEM( addr, rw ) (s.rw [(addr) >> page_shift] [KSS_CPU_PAGE_OFFSET( addr )])
+#define READ_PROG( addr ) RW_MEM( addr, read )
+#define READ( addr ) READ_PROG( addr )
+//#define WRITE( addr, data ) (void) (RW_MEM( addr, write ) = data)
+#define WRITE( addr, data ) CPU_WRITE( this, addr, data, TIME )
+#define READ_WORD( addr ) GET_LE16( &READ( addr ) )
+#define WRITE_WORD( addr, data ) SET_LE16( &RW_MEM( addr, write ), data )
+#define IN( addr ) CPU_IN( this, addr, TIME )
+#define OUT( addr, data ) CPU_OUT( this, addr, data, TIME )
+
+#if BLARGG_BIG_ENDIAN
+ #define R8( n, offset ) ((r8_ - offset) [n])
+#elif BLARGG_LITTLE_ENDIAN
+ #define R8( n, offset ) ((r8_ - offset) [(n) ^ 1])
+#else
+ #error "Byte order of CPU must be known"
+#endif
+
+//#define R16( n, shift, offset ) (r16_ [((n) >> shift) - (offset >> shift)])
+
+// help compiler see that it can just adjust stack offset, saving an extra instruction
+#define R16( n, shift, offset )\
+ (*(uint16_t*) ((char*) r16_ - (offset >> (shift - 1)) + ((n) >> (shift - 1))))
+
+#define CASE5( a, b, c, d, e ) case 0x##a:case 0x##b:case 0x##c:case 0x##d:case 0x##e
+#define CASE6( a, b, c, d, e, f ) CASE5( a, b, c, d, e ): case 0x##f
+#define CASE7( a, b, c, d, e, f, g ) CASE6( a, b, c, d, e, f ): case 0x##g
+#define CASE8( a, b, c, d, e, f, g, h ) CASE7( a, b, c, d, e, f, g ): case 0x##h
+
+// high four bits are $ED time - 8, low four bits are $DD/$FD time - 8
+static byte const ed_dd_timing [0x100] = {
+//0 1 2 3 4 5 6 7 8 9 A B C D E F
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x06,0x0C,0x02,0x00,0x00,0x03,0x00,0x00,0x07,0x0C,0x02,0x00,0x00,0x03,0x00,
+0x00,0x00,0x00,0x00,0x0F,0x0F,0x0B,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,
+0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x10,
+0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0xA0,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0xA0,
+0x4B,0x4B,0x7B,0xCB,0x0B,0x6B,0x00,0x0B,0x40,0x40,0x70,0xC0,0x00,0x60,0x0B,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x00,
+0x80,0x80,0x80,0x80,0x00,0x00,0x0B,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0B,0x00,
+0xD0,0xD0,0xD0,0xD0,0x00,0x00,0x0B,0x00,0xD0,0xD0,0xD0,0xD0,0x00,0x00,0x0B,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x06,0x00,0x0F,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+
+// even on x86, using short and unsigned char was slower
+typedef int fint16;
+typedef unsigned fuint16;
+typedef unsigned fuint8;
+
+bool Kss_Cpu::run( cpu_time_t end_time )
+{
+ set_end_time( end_time );
+ state_t s = this->state_;
+ this->state = &s;
+ bool warning = false;
+
+ typedef BOOST::int8_t int8_t;
+
+ union {
+ regs_t rg;
+ pairs_t rp;
+ uint8_t r8_ [8]; // indexed
+ uint16_t r16_ [4];
+ };
+ rg = this->r.b;
+
+ cpu_time_t s_time = s.time;
+ fuint16 pc = r.pc;
+ fuint16 sp = r.sp;
+ fuint16 ix = r.ix; // TODO: keep in memory for direct access?
+ fuint16 iy = r.iy;
+ int flags = r.b.flags;
+
+ goto loop;
+jr_not_taken:
+ s_time -= 5;
+ goto loop;
+call_not_taken:
+ s_time -= 7;
+jp_not_taken:
+ pc += 2;
+loop:
+
+ check( (unsigned long) pc < 0x10000 );
+ check( (unsigned long) sp < 0x10000 );
+ check( (unsigned) flags < 0x100 );
+ check( (unsigned) ix < 0x10000 );
+ check( (unsigned) iy < 0x10000 );
+
+ uint8_t const* instr = s.read [pc >> page_shift];
+#define GET_ADDR() GET_LE16( instr )
+
+ fuint8 opcode;
+
+ // TODO: eliminate this special case
+ #if BLARGG_NONPORTABLE
+ opcode = instr [pc];
+ pc++;
+ instr += pc;
+ #else
+ instr += KSS_CPU_PAGE_OFFSET( pc );
+ opcode = *instr++;
+ pc++;
+ #endif
+
+ static byte const base_timing [0x100] = {
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 4,10, 7, 6, 4, 4, 7, 4, 4,11, 7, 6, 4, 4, 7, 4, // 0
+ 13,10, 7, 6, 4, 4, 7, 4,12,11, 7, 6, 4, 4, 7, 4, // 1
+ 12,10,16, 6, 4, 4, 7, 4,12,11,16, 6, 4, 4, 7, 4, // 2
+ 12,10,13, 6,11,11,10, 4,12,11,13, 6, 4, 4, 7, 4, // 3
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 4
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 5
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 6
+ 7, 7, 7, 7, 7, 7, 4, 7, 4, 4, 4, 4, 4, 4, 7, 4, // 7
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 8
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // 9
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // A
+ 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, // B
+ 11,10,10,10,17,11, 7,11,11,10,10, 8,17,17, 7,11, // C
+ 11,10,10,11,17,11, 7,11,11, 4,10,11,17, 8, 7,11, // D
+ 11,10,10,19,17,11, 7,11,11, 4,10, 4,17, 8, 7,11, // E
+ 11,10,10, 4,17,11, 7,11,11, 6,10, 4,17, 8, 7,11, // F
+ };
+
+ fuint16 data;
+ data = base_timing [opcode];
+ if ( (s_time += data) >= 0 )
+ goto possibly_out_of_time;
+almost_out_of_time:
+
+ data = READ_PROG( pc );
+
+ #ifdef Z80_CPU_LOG_H
+ //log_opcode( opcode, READ_PROG( pc ) );
+ z80_log_regs( rg.a, rp.bc, rp.de, rp.hl, sp, ix, iy );
+ z80_cpu_log( "new", pc - 1, opcode, READ_PROG( pc ),
+ READ_PROG( pc + 1 ), READ_PROG( pc + 2 ) );
+ #endif
+
+ switch ( opcode )
+ {
+possibly_out_of_time:
+ if ( s_time < (int) data )
+ goto almost_out_of_time;
+ s_time -= data;
+ goto out_of_time;
+
+// Common
+
+ case 0x00: // NOP
+ CASE7( 40, 49, 52, 5B, 64, 6D, 7F ): // LD B,B etc.
+ goto loop;
+
+ case 0x08:{// EX AF,AF'
+ int temp = r.alt.b.a;
+ r.alt.b.a = rg.a;
+ rg.a = temp;
+
+ temp = r.alt.b.flags;
+ r.alt.b.flags = flags;
+ flags = temp;
+ goto loop;
+ }
+
+ case 0xD3: // OUT (imm),A
+ pc++;
+ OUT( data + rg.a * 0x100, rg.a );
+ goto loop;
+
+ case 0x2E: // LD L,imm
+ pc++;
+ rg.l = data;
+ goto loop;
+
+ case 0x3E: // LD A,imm
+ pc++;
+ rg.a = data;
+ goto loop;
+
+ case 0x3A:{// LD A,(addr)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ rg.a = READ( addr );
+ goto loop;
+ }
+
+// Conditional
+
+#define ZERO (flags & Z40)
+#define CARRY (flags & C01)
+#define EVEN (flags & P04)
+#define MINUS (flags & S80)
+
+// JR
+// TODO: more efficient way to handle negative branch that wraps PC around
+#define JR( cond ) {\
+ int offset = (BOOST::int8_t) data;\
+ pc++;\
+ if ( !(cond) )\
+ goto jr_not_taken;\
+ pc = uint16_t (pc + offset);\
+ goto loop;\
+}
+
+ case 0x20: JR( !ZERO ) // JR NZ,disp
+ case 0x28: JR( ZERO ) // JR Z,disp
+ case 0x30: JR( !CARRY ) // JR NC,disp
+ case 0x38: JR( CARRY ) // JR C,disp
+ case 0x18: JR( true ) // JR disp
+
+ case 0x10:{// DJNZ disp
+ int temp = rg.b - 1;
+ rg.b = temp;
+ JR( temp )
+ }
+
+// JP
+#define JP( cond ) if ( !(cond) ) goto jp_not_taken; pc = GET_ADDR(); goto loop;
+
+ case 0xC2: JP( !ZERO ) // JP NZ,addr
+ case 0xCA: JP( ZERO ) // JP Z,addr
+ case 0xD2: JP( !CARRY ) // JP NC,addr
+ case 0xDA: JP( CARRY ) // JP C,addr
+ case 0xE2: JP( !EVEN ) // JP PO,addr
+ case 0xEA: JP( EVEN ) // JP PE,addr
+ case 0xF2: JP( !MINUS ) // JP P,addr
+ case 0xFA: JP( MINUS ) // JP M,addr
+
+ case 0xC3: // JP addr
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0xE9: // JP HL
+ pc = rp.hl;
+ goto loop;
+
+// RET
+#define RET( cond ) if ( cond ) goto ret_taken; s_time -= 6; goto loop;
+
+ case 0xC0: RET( !ZERO ) // RET NZ
+ case 0xC8: RET( ZERO ) // RET Z
+ case 0xD0: RET( !CARRY ) // RET NC
+ case 0xD8: RET( CARRY ) // RET C
+ case 0xE0: RET( !EVEN ) // RET PO
+ case 0xE8: RET( EVEN ) // RET PE
+ case 0xF0: RET( !MINUS ) // RET P
+ case 0xF8: RET( MINUS ) // RET M
+
+ case 0xC9: // RET
+ ret_taken:
+ pc = READ_WORD( sp );
+ sp = uint16_t (sp + 2);
+ goto loop;
+
+// CALL
+#define CALL( cond ) if ( cond ) goto call_taken; goto call_not_taken;
+
+ case 0xC4: CALL( !ZERO ) // CALL NZ,addr
+ case 0xCC: CALL( ZERO ) // CALL Z,addr
+ case 0xD4: CALL( !CARRY ) // CALL NC,addr
+ case 0xDC: CALL( CARRY ) // CALL C,addr
+ case 0xE4: CALL( !EVEN ) // CALL PO,addr
+ case 0xEC: CALL( EVEN ) // CALL PE,addr
+ case 0xF4: CALL( !MINUS ) // CALL P,addr
+ case 0xFC: CALL( MINUS ) // CALL M,addr
+
+ case 0xCD:{// CALL addr
+ call_taken:
+ fuint16 addr = pc + 2;
+ pc = GET_ADDR();
+ sp = uint16_t (sp - 2);
+ WRITE_WORD( sp, addr );
+ goto loop;
+ }
+
+ case 0xFF: // RST
+ if ( pc > idle_addr )
+ goto hit_idle_addr;
+ CASE7( C7, CF, D7, DF, E7, EF, F7 ):
+ data = pc;
+ pc = opcode & 0x38;
+ goto push_data;
+
+// PUSH/POP
+ case 0xF5: // PUSH AF
+ data = rg.a * 0x100u + flags;
+ goto push_data;
+
+ case 0xC5: // PUSH BC
+ case 0xD5: // PUSH DE
+ case 0xE5: // PUSH HL
+ data = R16( opcode, 4, 0xC5 );
+ push_data:
+ sp = uint16_t (sp - 2);
+ WRITE_WORD( sp, data );
+ goto loop;
+
+ case 0xF1: // POP AF
+ flags = READ( sp );
+ rg.a = READ( sp + 1 );
+ sp = uint16_t (sp + 2);
+ goto loop;
+
+ case 0xC1: // POP BC
+ case 0xD1: // POP DE
+ case 0xE1: // POP HL
+ R16( opcode, 4, 0xC1 ) = READ_WORD( sp );
+ sp = uint16_t (sp + 2);
+ goto loop;
+
+// ADC/ADD/SBC/SUB
+ case 0x96: // SUB (HL)
+ case 0x86: // ADD (HL)
+ flags &= ~C01;
+ case 0x9E: // SBC (HL)
+ case 0x8E: // ADC (HL)
+ data = READ( rp.hl );
+ goto adc_data;
+
+ case 0xD6: // SUB A,imm
+ case 0xC6: // ADD imm
+ flags &= ~C01;
+ case 0xDE: // SBC A,imm
+ case 0xCE: // ADC imm
+ pc++;
+ goto adc_data;
+
+ CASE7( 90, 91, 92, 93, 94, 95, 97 ): // SUB r
+ CASE7( 80, 81, 82, 83, 84, 85, 87 ): // ADD r
+ flags &= ~C01;
+ CASE7( 98, 99, 9A, 9B, 9C, 9D, 9F ): // SBC r
+ CASE7( 88, 89, 8A, 8B, 8C, 8D, 8F ): // ADC r
+ data = R8( opcode & 7, 0 );
+ adc_data: {
+ int result = data + (flags & C01);
+ data ^= rg.a;
+ flags = opcode >> 3 & N02; // bit 4 is set in subtract opcodes
+ if ( flags )
+ result = -result;
+ result += rg.a;
+ data ^= result;
+ flags |=(data & H10) |
+ ((data - -0x80) >> 6 & V04) |
+ SZ28C( result & 0x1FF );
+ rg.a = result;
+ goto loop;
+ }
+
+// CP
+ case 0xBE: // CP (HL)
+ data = READ( rp.hl );
+ goto cp_data;
+
+ case 0xFE: // CP imm
+ pc++;
+ goto cp_data;
+
+ CASE7( B8, B9, BA, BB, BC, BD, BF ): // CP r
+ data = R8( opcode, 0xB8 );
+ cp_data: {
+ int result = rg.a - data;
+ flags = N02 | (data & (F20 | F08)) | (result >> 8 & C01);
+ data ^= rg.a;
+ flags |=(((result ^ rg.a) & data) >> 5 & V04) |
+ (((data & H10) ^ result) & (S80 | H10));
+ if ( (uint8_t) result )
+ goto loop;
+ flags |= Z40;
+ goto loop;
+ }
+
+// ADD HL,rp
+
+ case 0x39: // ADD HL,SP
+ data = sp;
+ goto add_hl_data;
+
+ case 0x09: // ADD HL,BC
+ case 0x19: // ADD HL,DE
+ case 0x29: // ADD HL,HL
+ data = R16( opcode, 4, 0x09 );
+ add_hl_data: {
+ blargg_ulong sum = rp.hl + data;
+ data ^= rp.hl;
+ rp.hl = sum;
+ flags = (flags & (S80 | Z40 | V04)) |
+ (sum >> 16) |
+ (sum >> 8 & (F20 | F08)) |
+ ((data ^ sum) >> 8 & H10);
+ goto loop;
+ }
+
+ case 0x27:{// DAA
+ int a = rg.a;
+ if ( a > 0x99 )
+ flags |= C01;
+
+ int adjust = 0x60 & -(flags & C01);
+
+ if ( flags & H10 || (a & 0x0F) > 9 )
+ adjust |= 0x06;
+
+ if ( flags & N02 )
+ adjust = -adjust;
+ a += adjust;
+
+ flags = (flags & (C01 | N02)) |
+ ((rg.a ^ a) & H10) |
+ SZ28P( (uint8_t) a );
+ rg.a = a;
+ goto loop;
+ }
+ /*
+ case 0x27:{// DAA
+ // more optimized, but probably not worth the obscurity
+ int f = (rg.a + (0xFF - 0x99)) >> 8 | flags; // (a > 0x99 ? C01 : 0) | flags
+ int adjust = 0x60 & -(f & C01); // f & C01 ? 0x60 : 0
+
+ if ( (((rg.a + (0x0F - 9)) ^ rg.a) | f) & H10 ) // flags & H10 || (rg.a & 0x0F) > 9
+ adjust |= 0x06;
+
+ if ( f & N02 )
+ adjust = -adjust;
+ int a = rg.a + adjust;
+
+ flags = (f & (N02 | C01)) | ((rg.a ^ a) & H10) | SZ28P( (uint8_t) a );
+ rg.a = a;
+ goto loop;
+ }
+ */
+
+// INC/DEC
+ case 0x34: // INC (HL)
+ data = READ( rp.hl ) + 1;
+ WRITE( rp.hl, data );
+ goto inc_set_flags;
+
+ CASE7( 04, 0C, 14, 1C, 24, 2C, 3C ): // INC r
+ data = ++R8( opcode >> 3, 0 );
+ inc_set_flags:
+ flags = (flags & C01) |
+ (((data & 0x0F) - 1) & H10) |
+ SZ28( (uint8_t) data );
+ if ( data != 0x80 )
+ goto loop;
+ flags |= V04;
+ goto loop;
+
+ case 0x35: // DEC (HL)
+ data = READ( rp.hl ) - 1;
+ WRITE( rp.hl, data );
+ goto dec_set_flags;
+
+ CASE7( 05, 0D, 15, 1D, 25, 2D, 3D ): // DEC r
+ data = --R8( opcode >> 3, 0 );
+ dec_set_flags:
+ flags = (flags & C01) | N02 |
+ (((data & 0x0F) + 1) & H10) |
+ SZ28( (uint8_t) data );
+ if ( data != 0x7F )
+ goto loop;
+ flags |= V04;
+ goto loop;
+
+ case 0x03: // INC BC
+ case 0x13: // INC DE
+ case 0x23: // INC HL
+ R16( opcode, 4, 0x03 )++;
+ goto loop;
+
+ case 0x33: // INC SP
+ sp = uint16_t (sp + 1);
+ goto loop;
+
+ case 0x0B: // DEC BC
+ case 0x1B: // DEC DE
+ case 0x2B: // DEC HL
+ R16( opcode, 4, 0x0B )--;
+ goto loop;
+
+ case 0x3B: // DEC SP
+ sp = uint16_t (sp - 1);
+ goto loop;
+
+// AND
+ case 0xA6: // AND (HL)
+ data = READ( rp.hl );
+ goto and_data;
+
+ case 0xE6: // AND imm
+ pc++;
+ goto and_data;
+
+ CASE7( A0, A1, A2, A3, A4, A5, A7 ): // AND r
+ data = R8( opcode, 0xA0 );
+ and_data:
+ rg.a &= data;
+ flags = SZ28P( rg.a ) | H10;
+ goto loop;
+
+// OR
+ case 0xB6: // OR (HL)
+ data = READ( rp.hl );
+ goto or_data;
+
+ case 0xF6: // OR imm
+ pc++;
+ goto or_data;
+
+ CASE7( B0, B1, B2, B3, B4, B5, B7 ): // OR r
+ data = R8( opcode, 0xB0 );
+ or_data:
+ rg.a |= data;
+ flags = SZ28P( rg.a );
+ goto loop;
+
+// XOR
+ case 0xAE: // XOR (HL)
+ data = READ( rp.hl );
+ goto xor_data;
+
+ case 0xEE: // XOR imm
+ pc++;
+ goto xor_data;
+
+ CASE7( A8, A9, AA, AB, AC, AD, AF ): // XOR r
+ data = R8( opcode, 0xA8 );
+ xor_data:
+ rg.a ^= data;
+ flags = SZ28P( rg.a );
+ goto loop;
+
+// LD
+ CASE7( 70, 71, 72, 73, 74, 75, 77 ): // LD (HL),r
+ WRITE( rp.hl, R8( opcode, 0x70 ) );
+ goto loop;
+
+ CASE6( 41, 42, 43, 44, 45, 47 ): // LD B,r
+ CASE6( 48, 4A, 4B, 4C, 4D, 4F ): // LD C,r
+ CASE6( 50, 51, 53, 54, 55, 57 ): // LD D,r
+ CASE6( 58, 59, 5A, 5C, 5D, 5F ): // LD E,r
+ CASE6( 60, 61, 62, 63, 65, 67 ): // LD H,r
+ CASE6( 68, 69, 6A, 6B, 6C, 6F ): // LD L,r
+ CASE6( 78, 79, 7A, 7B, 7C, 7D ): // LD A,r
+ R8( opcode >> 3 & 7, 0 ) = R8( opcode & 7, 0 );
+ goto loop;
+
+ CASE5( 06, 0E, 16, 1E, 26 ): // LD r,imm
+ R8( opcode >> 3, 0 ) = data;
+ pc++;
+ goto loop;
+
+ case 0x36: // LD (HL),imm
+ pc++;
+ WRITE( rp.hl, data );
+ goto loop;
+
+ CASE7( 46, 4E, 56, 5E, 66, 6E, 7E ): // LD r,(HL)
+ R8( opcode >> 3, 8 ) = READ( rp.hl );
+ goto loop;
+
+ case 0x01: // LD rp,imm
+ case 0x11:
+ case 0x21:
+ R16( opcode, 4, 0x01 ) = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ case 0x31: // LD sp,imm
+ sp = GET_ADDR();
+ pc += 2;
+ goto loop;
+
+ case 0x2A:{// LD HL,(addr)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ rp.hl = READ_WORD( addr );
+ goto loop;
+ }
+
+ case 0x32:{// LD (addr),A
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE( addr, rg.a );
+ goto loop;
+ }
+
+ case 0x22:{// LD (addr),HL
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE_WORD( addr, rp.hl );
+ goto loop;
+ }
+
+ case 0x02: // LD (BC),A
+ case 0x12: // LD (DE),A
+ WRITE( R16( opcode, 4, 0x02 ), rg.a );
+ goto loop;
+
+ case 0x0A: // LD A,(BC)
+ case 0x1A: // LD A,(DE)
+ rg.a = READ( R16( opcode, 4, 0x0A ) );
+ goto loop;
+
+ case 0xF9: // LD SP,HL
+ sp = rp.hl;
+ goto loop;
+
+// Rotate
+
+ case 0x07:{// RLCA
+ fuint16 temp = rg.a;
+ temp = (temp << 1) | (temp >> 7);
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & (F20 | F08 | C01));
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x0F:{// RRCA
+ fuint16 temp = rg.a;
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & C01);
+ temp = (temp << 7) | (temp >> 1);
+ flags |= temp & (F20 | F08);
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x17:{// RLA
+ blargg_ulong temp = (rg.a << 1) | (flags & C01);
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & (F20 | F08)) |
+ (temp >> 8);
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x1F:{// RRA
+ fuint16 temp = (flags << 7) | (rg.a >> 1);
+ flags = (flags & (S80 | Z40 | P04)) |
+ (temp & (F20 | F08)) |
+ (rg.a & C01);
+ rg.a = temp;
+ goto loop;
+ }
+
+// Misc
+ case 0x2F:{// CPL
+ fuint16 temp = ~rg.a;
+ flags = (flags & (S80 | Z40 | P04 | C01)) |
+ (temp & (F20 | F08)) |
+ (H10 | N02);
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x3F:{// CCF
+ flags = ((flags & (S80 | Z40 | P04 | C01)) ^ C01) |
+ (flags << 4 & H10) |
+ (rg.a & (F20 | F08));
+ goto loop;
+ }
+
+ case 0x37: // SCF
+ flags = (flags & (S80 | Z40 | P04)) | C01 |
+ (rg.a & (F20 | F08));
+ goto loop;
+
+ case 0xDB: // IN A,(imm)
+ pc++;
+ rg.a = IN( data + rg.a * 0x100 );
+ goto loop;
+
+ case 0xE3:{// EX (SP),HL
+ fuint16 temp = READ_WORD( sp );
+ WRITE_WORD( sp, rp.hl );
+ rp.hl = temp;
+ goto loop;
+ }
+
+ case 0xEB:{// EX DE,HL
+ fuint16 temp = rp.hl;
+ rp.hl = rp.de;
+ rp.de = temp;
+ goto loop;
+ }
+
+ case 0xD9:{// EXX DE,HL
+ fuint16 temp = r.alt.w.bc;
+ r.alt.w.bc = rp.bc;
+ rp.bc = temp;
+
+ temp = r.alt.w.de;
+ r.alt.w.de = rp.de;
+ rp.de = temp;
+
+ temp = r.alt.w.hl;
+ r.alt.w.hl = rp.hl;
+ rp.hl = temp;
+ goto loop;
+ }
+
+ case 0xF3: // DI
+ r.iff1 = 0;
+ r.iff2 = 0;
+ goto loop;
+
+ case 0xFB: // EI
+ r.iff1 = 1;
+ r.iff2 = 1;
+ // TODO: delayed effect
+ goto loop;
+
+ case 0x76: // HALT
+ goto halt;
+
+//////////////////////////////////////// CB prefix
+ {
+ case 0xCB:
+ unsigned data2;
+ data2 = instr [1];
+ pc++;
+ switch ( data )
+ {
+
+ // Rotate left
+
+ #define RLC( read, write ) {\
+ fuint8 result = read;\
+ result = uint8_t (result << 1) | (result >> 7);\
+ flags = SZ28P( result ) | (result & C01);\
+ write;\
+ goto loop;\
+ }
+
+ case 0x06: // RLC (HL)
+ s_time += 7;
+ data = rp.hl;
+ rlc_data_addr:
+ RLC( READ( data ), WRITE( data, result ) )
+
+ CASE7( 00, 01, 02, 03, 04, 05, 07 ):{// RLC r
+ uint8_t& reg = R8( data, 0 );
+ RLC( reg, reg = result )
+ }
+
+ #define RL( read, write ) {\
+ fuint16 result = (read << 1) | (flags & C01);\
+ flags = SZ28PC( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x16: // RL (HL)
+ s_time += 7;
+ data = rp.hl;
+ rl_data_addr:
+ RL( READ( data ), WRITE( data, result ) )
+
+ CASE7( 10, 11, 12, 13, 14, 15, 17 ):{// RL r
+ uint8_t& reg = R8( data, 0x10 );
+ RL( reg, reg = result )
+ }
+
+ #define SLA( read, add, write ) {\
+ fuint16 result = (read << 1) | add;\
+ flags = SZ28PC( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x26: // SLA (HL)
+ s_time += 7;
+ data = rp.hl;
+ sla_data_addr:
+ SLA( READ( data ), 0, WRITE( data, result ) )
+
+ CASE7( 20, 21, 22, 23, 24, 25, 27 ):{// SLA r
+ uint8_t& reg = R8( data, 0x20 );
+ SLA( reg, 0, reg = result )
+ }
+
+ case 0x36: // SLL (HL)
+ s_time += 7;
+ data = rp.hl;
+ sll_data_addr:
+ SLA( READ( data ), 1, WRITE( data, result ) )
+
+ CASE7( 30, 31, 32, 33, 34, 35, 37 ):{// SLL r
+ uint8_t& reg = R8( data, 0x30 );
+ SLA( reg, 1, reg = result )
+ }
+
+ // Rotate right
+
+ #define RRC( read, write ) {\
+ fuint8 result = read;\
+ flags = result & C01;\
+ result = uint8_t (result << 7) | (result >> 1);\
+ flags |= SZ28P( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x0E: // RRC (HL)
+ s_time += 7;
+ data = rp.hl;
+ rrc_data_addr:
+ RRC( READ( data ), WRITE( data, result ) )
+
+ CASE7( 08, 09, 0A, 0B, 0C, 0D, 0F ):{// RRC r
+ uint8_t& reg = R8( data, 0x08 );
+ RRC( reg, reg = result )
+ }
+
+ #define RR( read, write ) {\
+ fuint8 result = read;\
+ fuint8 temp = result & C01;\
+ result = uint8_t (flags << 7) | (result >> 1);\
+ flags = SZ28P( result ) | temp;\
+ write;\
+ goto loop;\
+ }
+
+ case 0x1E: // RR (HL)
+ s_time += 7;
+ data = rp.hl;
+ rr_data_addr:
+ RR( READ( data ), WRITE( data, result ) )
+
+ CASE7( 18, 19, 1A, 1B, 1C, 1D, 1F ):{// RR r
+ uint8_t& reg = R8( data, 0x18 );
+ RR( reg, reg = result )
+ }
+
+ #define SRA( read, write ) {\
+ fuint8 result = read;\
+ flags = result & C01;\
+ result = (result & 0x80) | (result >> 1);\
+ flags |= SZ28P( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x2E: // SRA (HL)
+ data = rp.hl;
+ s_time += 7;
+ sra_data_addr:
+ SRA( READ( data ), WRITE( data, result ) )
+
+ CASE7( 28, 29, 2A, 2B, 2C, 2D, 2F ):{// SRA r
+ uint8_t& reg = R8( data, 0x28 );
+ SRA( reg, reg = result )
+ }
+
+ #define SRL( read, write ) {\
+ fuint8 result = read;\
+ flags = result & C01;\
+ result >>= 1;\
+ flags |= SZ28P( result );\
+ write;\
+ goto loop;\
+ }
+
+ case 0x3E: // SRL (HL)
+ s_time += 7;
+ data = rp.hl;
+ srl_data_addr:
+ SRL( READ( data ), WRITE( data, result ) )
+
+ CASE7( 38, 39, 3A, 3B, 3C, 3D, 3F ):{// SRL r
+ uint8_t& reg = R8( data, 0x38 );
+ SRL( reg, reg = result )
+ }
+
+ // BIT
+ {
+ unsigned temp;
+ CASE8( 46, 4E, 56, 5E, 66, 6E, 76, 7E ): // BIT b,(HL)
+ s_time += 4;
+ temp = READ( rp.hl );
+ flags &= C01;
+ goto bit_temp;
+ CASE7( 40, 41, 42, 43, 44, 45, 47 ): // BIT 0,r
+ CASE7( 48, 49, 4A, 4B, 4C, 4D, 4F ): // BIT 1,r
+ CASE7( 50, 51, 52, 53, 54, 55, 57 ): // BIT 2,r
+ CASE7( 58, 59, 5A, 5B, 5C, 5D, 5F ): // BIT 3,r
+ CASE7( 60, 61, 62, 63, 64, 65, 67 ): // BIT 4,r
+ CASE7( 68, 69, 6A, 6B, 6C, 6D, 6F ): // BIT 5,r
+ CASE7( 70, 71, 72, 73, 74, 75, 77 ): // BIT 6,r
+ CASE7( 78, 79, 7A, 7B, 7C, 7D, 7F ): // BIT 7,r
+ temp = R8( data & 7, 0 );
+ flags = (flags & C01) | (temp & (F20 | F08));
+ bit_temp:
+ int masked = temp & 1 << (data >> 3 & 7);
+ flags |=(masked & S80) | H10 |
+ ((masked - 1) >> 8 & (Z40 | P04));
+ goto loop;
+ }
+
+ // SET/RES
+ CASE8( 86, 8E, 96, 9E, A6, AE, B6, BE ): // RES b,(HL)
+ CASE8( C6, CE, D6, DE, E6, EE, F6, FE ):{// SET b,(HL)
+ s_time += 7;
+ int temp = READ( rp.hl );
+ int bit = 1 << (data >> 3 & 7);
+ temp |= bit; // SET
+ if ( !(data & 0x40) )
+ temp ^= bit; // RES
+ WRITE( rp.hl, temp );
+ goto loop;
+ }
+
+ CASE7( C0, C1, C2, C3, C4, C5, C7 ): // SET 0,r
+ CASE7( C8, C9, CA, CB, CC, CD, CF ): // SET 1,r
+ CASE7( D0, D1, D2, D3, D4, D5, D7 ): // SET 2,r
+ CASE7( D8, D9, DA, DB, DC, DD, DF ): // SET 3,r
+ CASE7( E0, E1, E2, E3, E4, E5, E7 ): // SET 4,r
+ CASE7( E8, E9, EA, EB, EC, ED, EF ): // SET 5,r
+ CASE7( F0, F1, F2, F3, F4, F5, F7 ): // SET 6,r
+ CASE7( F8, F9, FA, FB, FC, FD, FF ): // SET 7,r
+ R8( data & 7, 0 ) |= 1 << (data >> 3 & 7);
+ goto loop;
+
+ CASE7( 80, 81, 82, 83, 84, 85, 87 ): // RES 0,r
+ CASE7( 88, 89, 8A, 8B, 8C, 8D, 8F ): // RES 1,r
+ CASE7( 90, 91, 92, 93, 94, 95, 97 ): // RES 2,r
+ CASE7( 98, 99, 9A, 9B, 9C, 9D, 9F ): // RES 3,r
+ CASE7( A0, A1, A2, A3, A4, A5, A7 ): // RES 4,r
+ CASE7( A8, A9, AA, AB, AC, AD, AF ): // RES 5,r
+ CASE7( B0, B1, B2, B3, B4, B5, B7 ): // RES 6,r
+ CASE7( B8, B9, BA, BB, BC, BD, BF ): // RES 7,r
+ R8( data & 7, 0 ) &= ~(1 << (data >> 3 & 7));
+ goto loop;
+ }
+ assert( false );
+ }
+
+#undef GET_ADDR
+#define GET_ADDR() GET_LE16( instr + 1 )
+
+//////////////////////////////////////// ED prefix
+ {
+ case 0xED:
+ pc++;
+ s_time += ed_dd_timing [data] >> 4;
+ switch ( data )
+ {
+ {
+ blargg_ulong temp;
+ case 0x72: // SBC HL,SP
+ case 0x7A: // ADC HL,SP
+ temp = sp;
+ if ( 0 )
+ case 0x42: // SBC HL,BC
+ case 0x52: // SBC HL,DE
+ case 0x62: // SBC HL,HL
+ case 0x4A: // ADC HL,BC
+ case 0x5A: // ADC HL,DE
+ case 0x6A: // ADC HL,HL
+ temp = R16( data >> 3 & 6, 1, 0 );
+ blargg_ulong sum = temp + (flags & C01);
+ flags = ~data >> 2 & N02;
+ if ( flags )
+ sum = -sum;
+ sum += rp.hl;
+ temp ^= rp.hl;
+ temp ^= sum;
+ flags |=(sum >> 16 & C01) |
+ (temp >> 8 & H10) |
+ (sum >> 8 & (S80 | F20 | F08)) |
+ ((temp - -0x8000) >> 14 & V04);
+ rp.hl = sum;
+ if ( (uint16_t) sum )
+ goto loop;
+ flags |= Z40;
+ goto loop;
+ }
+
+ CASE8( 40, 48, 50, 58, 60, 68, 70, 78 ):{// IN r,(C)
+ int temp = IN( rp.bc );
+ R8( data >> 3, 8 ) = temp;
+ flags = (flags & C01) | SZ28P( temp );
+ goto loop;
+ }
+
+ case 0x71: // OUT (C),0
+ rg.flags = 0;
+ CASE7( 41, 49, 51, 59, 61, 69, 79 ): // OUT (C),r
+ OUT( rp.bc, R8( data >> 3, 8 ) );
+ goto loop;
+
+ {
+ unsigned temp;
+ case 0x73: // LD (ADDR),SP
+ temp = sp;
+ if ( 0 )
+ case 0x43: // LD (ADDR),BC
+ case 0x53: // LD (ADDR),DE
+ temp = R16( data, 4, 0x43 );
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE_WORD( addr, temp );
+ goto loop;
+ }
+
+ case 0x4B: // LD BC,(ADDR)
+ case 0x5B:{// LD DE,(ADDR)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ R16( data, 4, 0x4B ) = READ_WORD( addr );
+ goto loop;
+ }
+
+ case 0x7B:{// LD SP,(ADDR)
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ sp = READ_WORD( addr );
+ goto loop;
+ }
+
+ case 0x67:{// RRD
+ fuint8 temp = READ( rp.hl );
+ WRITE( rp.hl, (rg.a << 4) | (temp >> 4) );
+ temp = (rg.a & 0xF0) | (temp & 0x0F);
+ flags = (flags & C01) | SZ28P( temp );
+ rg.a = temp;
+ goto loop;
+ }
+
+ case 0x6F:{// RLD
+ fuint8 temp = READ( rp.hl );
+ WRITE( rp.hl, (temp << 4) | (rg.a & 0x0F) );
+ temp = (rg.a & 0xF0) | (temp >> 4);
+ flags = (flags & C01) | SZ28P( temp );
+ rg.a = temp;
+ goto loop;
+ }
+
+ CASE8( 44, 4C, 54, 5C, 64, 6C, 74, 7C ): // NEG
+ opcode = 0x10; // flag to do SBC instead of ADC
+ flags &= ~C01;
+ data = rg.a;
+ rg.a = 0;
+ goto adc_data;
+
+ {
+ int inc;
+ case 0xA9: // CPD
+ case 0xB9: // CPDR
+ inc = -1;
+ if ( 0 )
+ case 0xA1: // CPI
+ case 0xB1: // CPIR
+ inc = +1;
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+ int temp = READ( addr );
+
+ int result = rg.a - temp;
+ flags = (flags & C01) | N02 |
+ ((((temp ^ rg.a) & H10) ^ result) & (S80 | H10));
+
+ if ( !(uint8_t) result ) flags |= Z40;
+ result -= (flags & H10) >> 4;
+ flags |= result & F08;
+ flags |= result << 4 & F20;
+ if ( !--rp.bc )
+ goto loop;
+
+ flags |= V04;
+ if ( flags & Z40 || data < 0xB0 )
+ goto loop;
+
+ pc -= 2;
+ s_time += 5;
+ goto loop;
+ }
+
+ {
+ int inc;
+ case 0xA8: // LDD
+ case 0xB8: // LDDR
+ inc = -1;
+ if ( 0 )
+ case 0xA0: // LDI
+ case 0xB0: // LDIR
+ inc = +1;
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+ int temp = READ( addr );
+
+ addr = rp.de;
+ rp.de = addr + inc;
+ WRITE( addr, temp );
+
+ temp += rg.a;
+ flags = (flags & (S80 | Z40 | C01)) |
+ (temp & F08) | (temp << 4 & F20);
+ if ( !--rp.bc )
+ goto loop;
+
+ flags |= V04;
+ if ( data < 0xB0 )
+ goto loop;
+
+ pc -= 2;
+ s_time += 5;
+ goto loop;
+ }
+
+ {
+ int inc;
+ case 0xAB: // OUTD
+ case 0xBB: // OTDR
+ inc = -1;
+ if ( 0 )
+ case 0xA3: // OUTI
+ case 0xB3: // OTIR
+ inc = +1;
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+ int temp = READ( addr );
+
+ int b = --rg.b;
+ flags = (temp >> 6 & N02) | SZ28( b );
+ if ( b && data >= 0xB0 )
+ {
+ pc -= 2;
+ s_time += 5;
+ }
+
+ OUT( rp.bc, temp );
+ goto loop;
+ }
+
+ {
+ int inc;
+ case 0xAA: // IND
+ case 0xBA: // INDR
+ inc = -1;
+ if ( 0 )
+ case 0xA2: // INI
+ case 0xB2: // INIR
+ inc = +1;
+
+ fuint16 addr = rp.hl;
+ rp.hl = addr + inc;
+
+ int temp = IN( rp.bc );
+
+ int b = --rg.b;
+ flags = (temp >> 6 & N02) | SZ28( b );
+ if ( b && data >= 0xB0 )
+ {
+ pc -= 2;
+ s_time += 5;
+ }
+
+ WRITE( addr, temp );
+ goto loop;
+ }
+
+ case 0x47: // LD I,A
+ r.i = rg.a;
+ goto loop;
+
+ case 0x4F: // LD R,A
+ SET_R( rg.a );
+ debug_printf( "LD R,A not supported\n" );
+ warning = true;
+ goto loop;
+
+ case 0x57: // LD A,I
+ rg.a = r.i;
+ goto ld_ai_common;
+
+ case 0x5F: // LD A,R
+ rg.a = GET_R();
+ debug_printf( "LD A,R not supported\n" );
+ warning = true;
+ ld_ai_common:
+ flags = (flags & C01) | SZ28( rg.a ) | (r.iff2 << 2 & V04);
+ goto loop;
+
+ CASE8( 45, 4D, 55, 5D, 65, 6D, 75, 7D ): // RETI/RETN
+ r.iff1 = r.iff2;
+ goto ret_taken;
+
+ case 0x46: case 0x4E: case 0x66: case 0x6E: // IM 0
+ r.im = 0;
+ goto loop;
+
+ case 0x56: case 0x76: // IM 1
+ r.im = 1;
+ goto loop;
+
+ case 0x5E: case 0x7E: // IM 2
+ r.im = 2;
+ goto loop;
+
+ default:
+ debug_printf( "Opcode $ED $%02X not supported\n", data );
+ warning = true;
+ goto loop;
+ }
+ assert( false );
+ }
+
+//////////////////////////////////////// DD/FD prefix
+ {
+ fuint16 ixy;
+ case 0xDD:
+ ixy = ix;
+ goto ix_prefix;
+ case 0xFD:
+ ixy = iy;
+ ix_prefix:
+ pc++;
+ unsigned data2 = READ_PROG( pc );
+ s_time += ed_dd_timing [data] & 0x0F;
+ switch ( data )
+ {
+ // TODO: more efficient way of avoid negative address
+ // TODO: avoid using this as argument to READ() since it is evaluated twice
+ #define IXY_DISP( ixy, disp ) uint16_t ((ixy) + (disp))
+
+ #define SET_IXY( in ) if ( opcode == 0xDD ) ix = in; else iy = in;
+
+ // ADD/ADC/SUB/SBC
+
+ case 0x96: // SUB (IXY+disp)
+ case 0x86: // ADD (IXY+disp)
+ flags &= ~C01;
+ case 0x9E: // SBC (IXY+disp)
+ case 0x8E: // ADC (IXY+disp)
+ pc++;
+ opcode = data;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto adc_data;
+
+ case 0x94: // SUB HXY
+ case 0x84: // ADD HXY
+ flags &= ~C01;
+ case 0x9C: // SBC HXY
+ case 0x8C: // ADC HXY
+ opcode = data;
+ data = ixy >> 8;
+ goto adc_data;
+
+ case 0x95: // SUB LXY
+ case 0x85: // ADD LXY
+ flags &= ~C01;
+ case 0x9D: // SBC LXY
+ case 0x8D: // ADC LXY
+ opcode = data;
+ data = (uint8_t) ixy;
+ goto adc_data;
+
+ {
+ unsigned temp;
+ case 0x39: // ADD IXY,SP
+ temp = sp;
+ goto add_ixy_data;
+
+ case 0x29: // ADD IXY,HL
+ temp = ixy;
+ goto add_ixy_data;
+
+ case 0x09: // ADD IXY,BC
+ case 0x19: // ADD IXY,DE
+ temp = R16( data, 4, 0x09 );
+ add_ixy_data: {
+ blargg_ulong sum = ixy + temp;
+ temp ^= ixy;
+ ixy = (uint16_t) sum;
+ flags = (flags & (S80 | Z40 | V04)) |
+ (sum >> 16) |
+ (sum >> 8 & (F20 | F08)) |
+ ((temp ^ sum) >> 8 & H10);
+ goto set_ixy;
+ }
+ }
+
+ // AND
+ case 0xA6: // AND (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto and_data;
+
+ case 0xA4: // AND HXY
+ data = ixy >> 8;
+ goto and_data;
+
+ case 0xA5: // AND LXY
+ data = (uint8_t) ixy;
+ goto and_data;
+
+ // OR
+ case 0xB6: // OR (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto or_data;
+
+ case 0xB4: // OR HXY
+ data = ixy >> 8;
+ goto or_data;
+
+ case 0xB5: // OR LXY
+ data = (uint8_t) ixy;
+ goto or_data;
+
+ // XOR
+ case 0xAE: // XOR (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto xor_data;
+
+ case 0xAC: // XOR HXY
+ data = ixy >> 8;
+ goto xor_data;
+
+ case 0xAD: // XOR LXY
+ data = (uint8_t) ixy;
+ goto xor_data;
+
+ // CP
+ case 0xBE: // CP (IXY+disp)
+ pc++;
+ data = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto cp_data;
+
+ case 0xBC: // CP HXY
+ data = ixy >> 8;
+ goto cp_data;
+
+ case 0xBD: // CP LXY
+ data = (uint8_t) ixy;
+ goto cp_data;
+
+ // LD
+ CASE7( 70, 71, 72, 73, 74, 75, 77 ): // LD (IXY+disp),r
+ data = R8( data, 0x70 );
+ if ( 0 )
+ case 0x36: // LD (IXY+disp),imm
+ pc++, data = READ_PROG( pc );
+ pc++;
+ WRITE( IXY_DISP( ixy, (int8_t) data2 ), data );
+ goto loop;
+
+ CASE5( 44, 4C, 54, 5C, 7C ): // LD r,HXY
+ R8( data >> 3, 8 ) = ixy >> 8;
+ goto loop;
+
+ case 0x64: // LD HXY,HXY
+ case 0x6D: // LD LXY,LXY
+ goto loop;
+
+ CASE5( 45, 4D, 55, 5D, 7D ): // LD r,LXY
+ R8( data >> 3, 8 ) = ixy;
+ goto loop;
+
+ CASE7( 46, 4E, 56, 5E, 66, 6E, 7E ): // LD r,(IXY+disp)
+ pc++;
+ R8( data >> 3, 8 ) = READ( IXY_DISP( ixy, (int8_t) data2 ) );
+ goto loop;
+
+ case 0x26: // LD HXY,imm
+ pc++;
+ goto ld_hxy_data;
+
+ case 0x65: // LD HXY,LXY
+ data2 = (uint8_t) ixy;
+ goto ld_hxy_data;
+
+ CASE5( 60, 61, 62, 63, 67 ): // LD HXY,r
+ data2 = R8( data, 0x60 );
+ ld_hxy_data:
+ ixy = (uint8_t) ixy | (data2 << 8);
+ goto set_ixy;
+
+ case 0x2E: // LD LXY,imm
+ pc++;
+ goto ld_lxy_data;
+
+ case 0x6C: // LD LXY,HXY
+ data2 = ixy >> 8;
+ goto ld_lxy_data;
+
+ CASE5( 68, 69, 6A, 6B, 6F ): // LD LXY,r
+ data2 = R8( data, 0x68 );
+ ld_lxy_data:
+ ixy = (ixy & 0xFF00) | data2;
+ set_ixy:
+ if ( opcode == 0xDD )
+ {
+ ix = ixy;
+ goto loop;
+ }
+ iy = ixy;
+ goto loop;
+
+ case 0xF9: // LD SP,IXY
+ sp = ixy;
+ goto loop;
+
+ case 0x22:{// LD (ADDR),IXY
+ fuint16 addr = GET_ADDR();
+ pc += 2;
+ WRITE_WORD( addr, ixy );
+ goto loop;
+ }
+
+ case 0x21: // LD IXY,imm
+ ixy = GET_ADDR();
+ pc += 2;
+ goto set_ixy;
+
+ case 0x2A:{// LD IXY,(addr)
+ fuint16 addr = GET_ADDR();
+ ixy = READ_WORD( addr );
+ pc += 2;
+ goto set_ixy;
+ }
+
+ // DD/FD CB prefix
+ case 0xCB: {
+ data = IXY_DISP( ixy, (int8_t) data2 );
+ pc++;
+ data2 = READ_PROG( pc );
+ pc++;
+ switch ( data2 )
+ {
+ case 0x06: goto rlc_data_addr; // RLC (IXY)
+ case 0x16: goto rl_data_addr; // RL (IXY)
+ case 0x26: goto sla_data_addr; // SLA (IXY)
+ case 0x36: goto sll_data_addr; // SLL (IXY)
+ case 0x0E: goto rrc_data_addr; // RRC (IXY)
+ case 0x1E: goto rr_data_addr; // RR (IXY)
+ case 0x2E: goto sra_data_addr; // SRA (IXY)
+ case 0x3E: goto srl_data_addr; // SRL (IXY)
+
+ CASE8( 46, 4E, 56, 5E, 66, 6E, 76, 7E ):{// BIT b,(IXY+disp)
+ fuint8 temp = READ( data );
+ int masked = temp & 1 << (data2 >> 3 & 7);
+ flags = (flags & C01) | H10 |
+ (masked & S80) |
+ ((masked - 1) >> 8 & (Z40 | P04));
+ goto loop;
+ }
+
+ CASE8( 86, 8E, 96, 9E, A6, AE, B6, BE ): // RES b,(IXY+disp)
+ CASE8( C6, CE, D6, DE, E6, EE, F6, FE ):{// SET b,(IXY+disp)
+ int temp = READ( data );
+ int bit = 1 << (data2 >> 3 & 7);
+ temp |= bit; // SET
+ if ( !(data2 & 0x40) )
+ temp ^= bit; // RES
+ WRITE( data, temp );
+ goto loop;
+ }
+
+ default:
+ debug_printf( "Opcode $%02X $CB $%02X not supported\n", opcode, data2 );
+ warning = true;
+ goto loop;
+ }
+ assert( false );
+ }
+
+ // INC/DEC
+ case 0x23: // INC IXY
+ ixy = uint16_t (ixy + 1);
+ goto set_ixy;
+
+ case 0x2B: // DEC IXY
+ ixy = uint16_t (ixy - 1);
+ goto set_ixy;
+
+ case 0x34: // INC (IXY+disp)
+ ixy = IXY_DISP( ixy, (int8_t) data2 );
+ pc++;
+ data = READ( ixy ) + 1;
+ WRITE( ixy, data );
+ goto inc_set_flags;
+
+ case 0x35: // DEC (IXY+disp)
+ ixy = IXY_DISP( ixy, (int8_t) data2 );
+ pc++;
+ data = READ( ixy ) - 1;
+ WRITE( ixy, data );
+ goto dec_set_flags;
+
+ case 0x24: // INC HXY
+ ixy = uint16_t (ixy + 0x100);
+ data = ixy >> 8;
+ goto inc_xy_common;
+
+ case 0x2C: // INC LXY
+ data = uint8_t (ixy + 1);
+ ixy = (ixy & 0xFF00) | data;
+ inc_xy_common:
+ if ( opcode == 0xDD )
+ {
+ ix = ixy;
+ goto inc_set_flags;
+ }
+ iy = ixy;
+ goto inc_set_flags;
+
+ case 0x25: // DEC HXY
+ ixy = uint16_t (ixy - 0x100);
+ data = ixy >> 8;
+ goto dec_xy_common;
+
+ case 0x2D: // DEC LXY
+ data = uint8_t (ixy - 1);
+ ixy = (ixy & 0xFF00) | data;
+ dec_xy_common:
+ if ( opcode == 0xDD )
+ {
+ ix = ixy;
+ goto dec_set_flags;
+ }
+ iy = ixy;
+ goto dec_set_flags;
+
+ // PUSH/POP
+ case 0xE5: // PUSH IXY
+ data = ixy;
+ goto push_data;
+
+ case 0xE1:{// POP IXY
+ ixy = READ_WORD( sp );
+ sp = uint16_t (sp + 2);
+ goto set_ixy;
+ }
+
+ // Misc
+
+ case 0xE9: // JP (IXY)
+ pc = ixy;
+ goto loop;
+
+ case 0xE3:{// EX (SP),IXY
+ fuint16 temp = READ_WORD( sp );
+ WRITE_WORD( sp, ixy );
+ ixy = temp;
+ goto set_ixy;
+ }
+
+ default:
+ debug_printf( "Unnecessary DD/FD prefix encountered\n" );
+ warning = true;
+ pc--;
+ goto loop;
+ }
+ assert( false );
+ }
+
+ }
+ debug_printf( "Unhandled main opcode: $%02X\n", opcode );
+ assert( false );
+
+hit_idle_addr:
+ s_time -= 11;
+ goto out_of_time;
+halt:
+ s_time &= 3; // increment by multiple of 4
+out_of_time:
+ pc--;
+
+ s.time = s_time;
+ rg.flags = flags;
+ r.ix = ix;
+ r.iy = iy;
+ r.sp = sp;
+ r.pc = pc;
+ this->r.b = rg;
+ this->state_ = s;
+ this->state = &this->state_;
+
+ return warning;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Kss_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Kss_Cpu.h
new file mode 100644
index 00000000..28a2fc0f
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Kss_Cpu.h
@@ -0,0 +1,124 @@
+// Z80 CPU emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef KSS_CPU_H
+#define KSS_CPU_H
+
+#include "blargg_endian.h"
+
+typedef blargg_long cpu_time_t;
+
+// must be defined by caller
+void kss_cpu_out( class Kss_Cpu*, cpu_time_t, unsigned addr, int data );
+int kss_cpu_in( class Kss_Cpu*, cpu_time_t, unsigned addr );
+void kss_cpu_write( class Kss_Cpu*, unsigned addr, int data );
+
+class Kss_Cpu {
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+ // Clear registers and map all pages to unmapped
+ void reset( void* unmapped_write, void const* unmapped_read );
+
+ // Map memory. Start and size must be multiple of page_size.
+ enum { page_size = 0x2000 };
+ void map_mem( unsigned addr, blargg_ulong size, void* write, void const* read );
+
+ // Map address to page
+ uint8_t* write( unsigned addr );
+ uint8_t const* read( unsigned addr );
+
+ // Run until specified time is reached. Returns true if suspicious/unsupported
+ // instruction was encountered at any point during run.
+ bool run( cpu_time_t end_time );
+
+ // Time of beginning of next instruction
+ cpu_time_t time() const { return state->time + state->base; }
+
+ // Alter current time. Not supported during run() call.
+ void set_time( cpu_time_t t ) { state->time = t - state->base; }
+ void adjust_time( int delta ) { state->time += delta; }
+
+ typedef BOOST::uint16_t uint16_t;
+
+ #if BLARGG_BIG_ENDIAN
+ struct regs_t { uint8_t b, c, d, e, h, l, flags, a; };
+ #else
+ struct regs_t { uint8_t c, b, e, d, l, h, a, flags; };
+ #endif
+ BOOST_STATIC_ASSERT( sizeof (regs_t) == 8 );
+
+ struct pairs_t { uint16_t bc, de, hl, fa; };
+
+ // Registers are not updated until run() returns
+ struct registers_t {
+ uint16_t pc;
+ uint16_t sp;
+ uint16_t ix;
+ uint16_t iy;
+ union {
+ regs_t b; // b.b, b.c, b.d, b.e, b.h, b.l, b.flags, b.a
+ pairs_t w; // w.bc, w.de, w.hl. w.fa
+ };
+ union {
+ regs_t b;
+ pairs_t w;
+ } alt;
+ uint8_t iff1;
+ uint8_t iff2;
+ uint8_t r;
+ uint8_t i;
+ uint8_t im;
+ };
+ //registers_t r; (below for efficiency)
+
+ enum { idle_addr = 0xFFFF };
+
+ // can read this far past end of a page
+ enum { cpu_padding = 0x100 };
+
+public:
+ Kss_Cpu();
+ enum { page_shift = 13 };
+ enum { page_count = 0x10000 >> page_shift };
+private:
+ uint8_t szpc [0x200];
+ cpu_time_t end_time_;
+ struct state_t {
+ uint8_t const* read [page_count + 1];
+ uint8_t * write [page_count + 1];
+ cpu_time_t base;
+ cpu_time_t time;
+ };
+ state_t* state; // points to state_ or a local copy within run()
+ state_t state_;
+ void set_end_time( cpu_time_t t );
+ void set_page( int i, void* write, void const* read );
+public:
+ registers_t r;
+};
+
+#if BLARGG_NONPORTABLE
+ #define KSS_CPU_PAGE_OFFSET( addr ) (addr)
+#else
+ #define KSS_CPU_PAGE_OFFSET( addr ) ((addr) & (page_size - 1))
+#endif
+
+inline BOOST::uint8_t* Kss_Cpu::write( unsigned addr )
+{
+ return state->write [addr >> page_shift] + KSS_CPU_PAGE_OFFSET( addr );
+}
+
+inline BOOST::uint8_t const* Kss_Cpu::read( unsigned addr )
+{
+ return state->read [addr >> page_shift] + KSS_CPU_PAGE_OFFSET( addr );
+}
+
+inline void Kss_Cpu::set_end_time( cpu_time_t t )
+{
+ cpu_time_t delta = state->base - t;
+ state->base = t;
+ state->time += delta;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Kss_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Kss_Emu.cpp
new file mode 100644
index 00000000..3b84509c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Kss_Emu.cpp
@@ -0,0 +1,416 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Kss_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+long const clock_rate = 3579545;
+int const osc_count = Ay_Apu::osc_count + Scc_Apu::osc_count;
+
+Kss_Emu::Kss_Emu()
+{
+ sn = 0;
+ set_type( gme_kss_type );
+ set_silence_lookahead( 6 );
+ static const char* const names [osc_count] = {
+ "Square 1", "Square 2", "Square 3",
+ "Wave 1", "Wave 2", "Wave 3", "Wave 4", "Wave 5"
+ };
+ set_voice_names( names );
+
+ static int const types [osc_count] = {
+ wave_type | 0, wave_type | 1, wave_type | 2,
+ wave_type | 3, wave_type | 4, wave_type | 5, wave_type | 6, wave_type | 7
+ };
+ set_voice_types( types );
+
+ memset( unmapped_read, 0xFF, sizeof unmapped_read );
+}
+
+Kss_Emu::~Kss_Emu() { unload(); }
+
+void Kss_Emu::unload()
+{
+ delete sn;
+ sn = 0;
+ Classic_Emu::unload();
+}
+
+// Track info
+
+static void copy_kss_fields( Kss_Emu::header_t const& h, track_info_t* out )
+{
+ const char* system = "MSX";
+ if ( h.device_flags & 0x02 )
+ {
+ system = "Sega Master System";
+ if ( h.device_flags & 0x04 )
+ system = "Game Gear";
+ }
+ Gme_File::copy_field_( out->system, system );
+}
+
+blargg_err_t Kss_Emu::track_info_( track_info_t* out, int ) const
+{
+ copy_kss_fields( header_, out );
+ return 0;
+}
+
+static blargg_err_t check_kss_header( void const* header )
+{
+ if ( memcmp( header, "KSCC", 4 ) && memcmp( header, "KSSX", 4 ) )
+ return gme_wrong_file_type;
+ return 0;
+}
+
+struct Kss_File : Gme_Info_
+{
+ Kss_Emu::header_t header_;
+
+ Kss_File() { set_type( gme_kss_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ blargg_err_t err = in.read( &header_, Kss_Emu::header_size );
+ if ( err )
+ return (err == in.eof_error ? gme_wrong_file_type : err);
+ return check_kss_header( &header_ );
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ copy_kss_fields( header_, out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_kss_emu () { return BLARGG_NEW Kss_Emu ; }
+static Music_Emu* new_kss_file() { return BLARGG_NEW Kss_File; }
+
+static gme_type_t_ const gme_kss_type_ = { "MSX", 256, &new_kss_emu, &new_kss_file, "KSS", 0x03 };
+gme_type_t const gme_kss_type = &gme_kss_type_;
+
+
+// Setup
+
+void Kss_Emu::update_gain()
+{
+ double g = gain() * 1.4;
+ if ( scc_accessed )
+ g *= 1.5;
+ ay.volume( g );
+ scc.volume( g );
+ if ( sn )
+ sn->volume( g );
+}
+
+blargg_err_t Kss_Emu::load_( Data_Reader& in )
+{
+ memset( &header_, 0, sizeof header_ );
+ assert( offsetof (header_t,device_flags) == header_size - 1 );
+ assert( offsetof (ext_header_t,msx_audio_vol) == ext_header_size - 1 );
+ RETURN_ERR( rom.load( in, header_size, STATIC_CAST(header_t*,&header_), 0 ) );
+
+ RETURN_ERR( check_kss_header( header_.tag ) );
+
+ if ( header_.tag [3] == 'C' )
+ {
+ if ( header_.extra_header )
+ {
+ header_.extra_header = 0;
+ set_warning( "Unknown data in header" );
+ }
+ if ( header_.device_flags & ~0x0F )
+ {
+ header_.device_flags &= 0x0F;
+ set_warning( "Unknown data in header" );
+ }
+ }
+ else
+ {
+ ext_header_t& ext = header_;
+ memcpy( &ext, rom.begin(), min( (int) ext_header_size, (int) header_.extra_header ) );
+ if ( header_.extra_header > 0x10 )
+ set_warning( "Unknown data in header" );
+ }
+
+ if ( header_.device_flags & 0x09 )
+ set_warning( "FM sound not supported" );
+
+ scc_enabled = 0xC000;
+ if ( header_.device_flags & 0x04 )
+ scc_enabled = 0;
+
+ if ( header_.device_flags & 0x02 && !sn )
+ CHECK_ALLOC( sn = BLARGG_NEW( Sms_Apu ) );
+
+ set_voice_count( osc_count );
+
+ return setup_buffer( ::clock_rate );
+}
+
+void Kss_Emu::update_eq( blip_eq_t const& eq )
+{
+ ay.treble_eq( eq );
+ scc.treble_eq( eq );
+ if ( sn )
+ sn->treble_eq( eq );
+}
+
+void Kss_Emu::set_voice( int i, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ int i2 = i - ay.osc_count;
+ if ( i2 >= 0 )
+ scc.osc_output( i2, center );
+ else
+ ay.osc_output( i, center );
+ if ( sn && i < sn->osc_count )
+ sn->osc_output( i, center, left, right );
+}
+
+// Emulation
+
+void Kss_Emu::set_tempo_( double t )
+{
+ blip_time_t period =
+ (header_.device_flags & 0x40 ? ::clock_rate / 50 : ::clock_rate / 60);
+ play_period = blip_time_t (period / t);
+}
+
+blargg_err_t Kss_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+
+ memset( ram, 0xC9, 0x4000 );
+ memset( ram + 0x4000, 0, sizeof ram - 0x4000 );
+
+ // copy driver code to lo RAM
+ static byte const bios [] = {
+ 0xD3, 0xA0, 0xF5, 0x7B, 0xD3, 0xA1, 0xF1, 0xC9, // $0001: WRTPSG
+ 0xD3, 0xA0, 0xDB, 0xA2, 0xC9 // $0009: RDPSG
+ };
+ static byte const vectors [] = {
+ 0xC3, 0x01, 0x00, // $0093: WRTPSG vector
+ 0xC3, 0x09, 0x00, // $0096: RDPSG vector
+ };
+ memcpy( ram + 0x01, bios, sizeof bios );
+ memcpy( ram + 0x93, vectors, sizeof vectors );
+
+ // copy non-banked data into RAM
+ unsigned load_addr = get_le16( header_.load_addr );
+ long orig_load_size = get_le16( header_.load_size );
+ long load_size = min( orig_load_size, rom.file_size() );
+ load_size = min( load_size, long (mem_size - load_addr) );
+ if ( load_size != orig_load_size )
+ set_warning( "Excessive data size" );
+ memcpy( ram + load_addr, rom.begin() + header_.extra_header, load_size );
+
+ rom.set_addr( -load_size - header_.extra_header );
+
+ // check available bank data
+ blargg_long const bank_size = this->bank_size();
+ int max_banks = (rom.file_size() - load_size + bank_size - 1) / bank_size;
+ bank_count = header_.bank_mode & 0x7F;
+ if ( bank_count > max_banks )
+ {
+ bank_count = max_banks;
+ set_warning( "Bank data missing" );
+ }
+ //debug_printf( "load_size : $%X\n", load_size );
+ //debug_printf( "bank_size : $%X\n", bank_size );
+ //debug_printf( "bank_count: %d (%d claimed)\n", bank_count, header_.bank_mode & 0x7F );
+
+ ram [idle_addr] = 0xFF;
+ cpu::reset( unmapped_write, unmapped_read );
+ cpu::map_mem( 0, mem_size, ram, ram );
+
+ ay.reset();
+ scc.reset();
+ if ( sn )
+ sn->reset();
+ r.sp = 0xF380;
+ ram [--r.sp] = idle_addr >> 8;
+ ram [--r.sp] = idle_addr & 0xFF;
+ r.b.a = track;
+ r.pc = get_le16( header_.init_addr );
+ next_play = play_period;
+ scc_accessed = false;
+ gain_updated = false;
+ update_gain();
+ ay_latch = 0;
+
+ return 0;
+}
+
+void Kss_Emu::set_bank( int logical, int physical )
+{
+ unsigned const bank_size = this->bank_size();
+
+ unsigned addr = 0x8000;
+ if ( logical && bank_size == 8 * 1024 )
+ addr = 0xA000;
+
+ physical -= header_.first_bank;
+ if ( (unsigned) physical >= (unsigned) bank_count )
+ {
+ byte* data = ram + addr;
+ cpu::map_mem( addr, bank_size, data, data );
+ }
+ else
+ {
+ long phys = physical * (blargg_long) bank_size;
+ for ( unsigned offset = 0; offset < bank_size; offset += page_size )
+ cpu::map_mem( addr + offset, page_size,
+ unmapped_write, rom.at_addr( phys + offset ) );
+ }
+}
+
+void Kss_Emu::cpu_write( unsigned addr, int data )
+{
+ data &= 0xFF;
+ switch ( addr )
+ {
+ case 0x9000:
+ set_bank( 0, data );
+ return;
+
+ case 0xB000:
+ set_bank( 1, data );
+ return;
+ }
+
+ int scc_addr = (addr & 0xDFFF) ^ 0x9800;
+ if ( scc_addr < scc.reg_count )
+ {
+ scc_accessed = true;
+ scc.write( time(), scc_addr, data );
+ return;
+ }
+
+ debug_printf( "LD ($%04X),$%02X\n", addr, data );
+}
+
+void kss_cpu_write( Kss_Cpu* cpu, unsigned addr, int data )
+{
+ *cpu->write( addr ) = data;
+ if ( (addr & STATIC_CAST(Kss_Emu&,*cpu).scc_enabled) == 0x8000 )
+ STATIC_CAST(Kss_Emu&,*cpu).cpu_write( addr, data );
+}
+
+void kss_cpu_out( Kss_Cpu* cpu, cpu_time_t time, unsigned addr, int data )
+{
+ data &= 0xFF;
+ Kss_Emu& emu = STATIC_CAST(Kss_Emu&,*cpu);
+ switch ( addr & 0xFF )
+ {
+ case 0xA0:
+ emu.ay_latch = data & 0x0F;
+ return;
+
+ case 0xA1:
+ GME_APU_HOOK( &emu, emu.ay_latch, data );
+ emu.ay.write( time, emu.ay_latch, data );
+ return;
+
+ case 0x06:
+ if ( emu.sn && (emu.header_.device_flags & 0x04) )
+ {
+ emu.sn->write_ggstereo( time, data );
+ return;
+ }
+ break;
+
+ case 0x7E:
+ case 0x7F:
+ if ( emu.sn )
+ {
+ GME_APU_HOOK( &emu, 16, data );
+ emu.sn->write_data( time, data );
+ return;
+ }
+ break;
+
+ case 0xFE:
+ emu.set_bank( 0, data );
+ return;
+
+ #ifndef NDEBUG
+ case 0xF1: // FM data
+ if ( data )
+ break; // trap non-zero data
+ case 0xF0: // FM addr
+ case 0xA8: // PPI
+ return;
+ #endif
+ }
+
+ debug_printf( "OUT $%04X,$%02X\n", addr, data );
+}
+
+int kss_cpu_in( Kss_Cpu*, cpu_time_t, unsigned addr )
+{
+ //Kss_Emu& emu = STATIC_CAST(Kss_Emu&,*cpu);
+ //switch ( addr & 0xFF )
+ //{
+ //}
+
+ debug_printf( "IN $%04X\n", addr );
+ return 0;
+}
+
+// Emulation
+
+blargg_err_t Kss_Emu::run_clocks( blip_time_t& duration, int )
+{
+ while ( time() < duration )
+ {
+ blip_time_t end = min( duration, next_play );
+ cpu::run( min( duration, next_play ) );
+ if ( r.pc == idle_addr )
+ set_time( end );
+
+ if ( time() >= next_play )
+ {
+ next_play += play_period;
+ if ( r.pc == idle_addr )
+ {
+ if ( !gain_updated )
+ {
+ gain_updated = true;
+ if ( scc_accessed )
+ update_gain();
+ }
+
+ ram [--r.sp] = idle_addr >> 8;
+ ram [--r.sp] = idle_addr & 0xFF;
+ r.pc = get_le16( header_.play_addr );
+ GME_FRAME_HOOK( this );
+ }
+ }
+ }
+
+ duration = time();
+ next_play -= duration;
+ check( next_play >= 0 );
+ adjust_time( -duration );
+ ay.end_frame( duration );
+ scc.end_frame( duration );
+ if ( sn )
+ sn->end_frame( duration );
+
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Kss_Emu.h b/plugins/gme/game-music-emu-svn/gme/Kss_Emu.h
new file mode 100644
index 00000000..1d6ae475
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Kss_Emu.h
@@ -0,0 +1,96 @@
+// MSX computer KSS music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef KSS_EMU_H
+#define KSS_EMU_H
+
+#include "Classic_Emu.h"
+#include "Kss_Scc_Apu.h"
+#include "Kss_Cpu.h"
+#include "Sms_Apu.h"
+#include "Ay_Apu.h"
+
+class Kss_Emu : private Kss_Cpu, public Classic_Emu {
+ typedef Kss_Cpu cpu;
+public:
+ // KSS file header
+ enum { header_size = 0x10 };
+ struct header_t
+ {
+ byte tag [4];
+ byte load_addr [2];
+ byte load_size [2];
+ byte init_addr [2];
+ byte play_addr [2];
+ byte first_bank;
+ byte bank_mode;
+ byte extra_header;
+ byte device_flags;
+ };
+
+ enum { ext_header_size = 0x10 };
+ struct ext_header_t
+ {
+ byte data_size [4];
+ byte unused [4];
+ byte first_track [2];
+ byte last_tack [2];
+ byte psg_vol;
+ byte scc_vol;
+ byte msx_music_vol;
+ byte msx_audio_vol;
+ };
+
+ struct composite_header_t : header_t, ext_header_t { };
+
+ // Header for currently loaded file
+ composite_header_t const& header() const { return header_; }
+
+ static gme_type_t static_type() { return gme_kss_type; }
+public:
+ Kss_Emu();
+ ~Kss_Emu();
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_( Data_Reader& );
+ blargg_err_t start_track_( int );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+ void unload();
+private:
+ Rom_Data<page_size> rom;
+ composite_header_t header_;
+
+ bool scc_accessed;
+ bool gain_updated;
+ void update_gain();
+
+ unsigned scc_enabled; // 0 or 0xC000
+ byte const* bank_data;
+ int bank_count;
+ void set_bank( int logical, int physical );
+ blargg_long bank_size() const { return (16 * 1024L) >> (header_.bank_mode >> 7 & 1); }
+
+ blip_time_t play_period;
+ blip_time_t next_play;
+ int ay_latch;
+
+ friend void kss_cpu_out( class Kss_Cpu*, cpu_time_t, unsigned addr, int data );
+ friend int kss_cpu_in( class Kss_Cpu*, cpu_time_t, unsigned addr );
+ void cpu_write( unsigned addr, int data );
+ friend void kss_cpu_write( class Kss_Cpu*, unsigned addr, int data );
+
+ // large items
+ enum { mem_size = 0x10000 };
+ byte ram [mem_size + cpu_padding];
+
+ Ay_Apu ay;
+ Scc_Apu scc;
+ Sms_Apu* sn;
+ byte unmapped_read [0x100];
+ byte unmapped_write [page_size];
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.cpp
new file mode 100644
index 00000000..cfccce64
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.cpp
@@ -0,0 +1,97 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Kss_Scc_Apu.h"
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// Tones above this frequency are treated as disabled tone at half volume.
+// Power of two is more efficient (avoids division).
+unsigned const inaudible_freq = 16384;
+
+int const wave_size = 0x20;
+
+void Scc_Apu::run_until( blip_time_t end_time )
+{
+ for ( int index = 0; index < osc_count; index++ )
+ {
+ osc_t& osc = oscs [index];
+
+ Blip_Buffer* const output = osc.output;
+ if ( !output )
+ continue;
+ output->set_modified();
+
+ blip_time_t period = (regs [0x80 + index * 2 + 1] & 0x0F) * 0x100 +
+ regs [0x80 + index * 2] + 1;
+ int volume = 0;
+ if ( regs [0x8F] & (1 << index) )
+ {
+ blip_time_t inaudible_period = (blargg_ulong) (output->clock_rate() +
+ inaudible_freq * 32) / (inaudible_freq * 16);
+ if ( period > inaudible_period )
+ volume = (regs [0x8A + index] & 0x0F) * (amp_range / 256 / 15);
+ }
+
+ BOOST::int8_t const* wave = (BOOST::int8_t*) regs + index * wave_size;
+ if ( index == osc_count - 1 )
+ wave -= wave_size; // last two oscs share wave
+ {
+ int amp = wave [osc.phase] * volume;
+ int delta = amp - osc.last_amp;
+ if ( delta )
+ {
+ osc.last_amp = amp;
+ synth.offset( last_time, delta, output );
+ }
+ }
+
+ blip_time_t time = last_time + osc.delay;
+ if ( time < end_time )
+ {
+ if ( !volume )
+ {
+ // maintain phase
+ blargg_long count = (end_time - time + period - 1) / period;
+ osc.phase = (osc.phase + count) & (wave_size - 1);
+ time += count * period;
+ }
+ else
+ {
+
+ int phase = osc.phase;
+ int last_wave = wave [phase];
+ phase = (phase + 1) & (wave_size - 1); // pre-advance for optimal inner loop
+
+ do
+ {
+ int amp = wave [phase];
+ phase = (phase + 1) & (wave_size - 1);
+ int delta = amp - last_wave;
+ if ( delta )
+ {
+ last_wave = amp;
+ synth.offset( time, delta * volume, output );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+
+ osc.phase = phase = (phase - 1) & (wave_size - 1); // undo pre-advance
+ osc.last_amp = wave [phase] * volume;
+ }
+ }
+ osc.delay = time - end_time;
+ }
+ last_time = end_time;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.h b/plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.h
new file mode 100644
index 00000000..5c65461c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Kss_Scc_Apu.h
@@ -0,0 +1,106 @@
+// Konami SCC sound chip emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef KSS_SCC_APU_H
+#define KSS_SCC_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+#include <string.h>
+
+class Scc_Apu {
+public:
+ // Set buffer to generate all sound into, or disable sound if NULL
+ void output( Blip_Buffer* );
+
+ // Reset sound chip
+ void reset();
+
+ // Write to register at specified time
+ enum { reg_count = 0x90 };
+ void write( blip_time_t time, int reg, int data );
+
+ // Run sound to specified time, end current time frame, then start a new
+ // time frame at time 0. Time frames have no effect on emulation and each
+ // can be whatever length is convenient.
+ void end_frame( blip_time_t length );
+
+// Additional features
+
+ // Set sound output of specific oscillator to buffer, where index is
+ // 0 to 4. If buffer is NULL, the specified oscillator is muted.
+ enum { osc_count = 5 };
+ void osc_output( int index, Blip_Buffer* );
+
+ // Set overall volume (default is 1.0)
+ void volume( double );
+
+ // Set treble equalization (see documentation)
+ void treble_eq( blip_eq_t const& );
+
+public:
+ Scc_Apu();
+private:
+ enum { amp_range = 0x8000 };
+ struct osc_t
+ {
+ int delay;
+ int phase;
+ int last_amp;
+ Blip_Buffer* output;
+ };
+ osc_t oscs [osc_count];
+ blip_time_t last_time;
+ unsigned char regs [reg_count];
+ Blip_Synth<blip_med_quality,1> synth;
+
+ void run_until( blip_time_t );
+};
+
+inline void Scc_Apu::volume( double v ) { synth.volume( 0.43 / osc_count / amp_range * v ); }
+
+inline void Scc_Apu::treble_eq( blip_eq_t const& eq ) { synth.treble_eq( eq ); }
+
+inline void Scc_Apu::osc_output( int index, Blip_Buffer* b )
+{
+ assert( (unsigned) index < osc_count );
+ oscs [index].output = b;
+}
+
+inline void Scc_Apu::write( blip_time_t time, int addr, int data )
+{
+ assert( (unsigned) addr < reg_count );
+ run_until( time );
+ regs [addr] = data;
+}
+
+inline void Scc_Apu::end_frame( blip_time_t end_time )
+{
+ if ( end_time > last_time )
+ run_until( end_time );
+ last_time -= end_time;
+ assert( last_time >= 0 );
+}
+
+inline void Scc_Apu::output( Blip_Buffer* buf )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ oscs [i].output = buf;
+}
+
+inline Scc_Apu::Scc_Apu()
+{
+ output( 0 );
+}
+
+inline void Scc_Apu::reset()
+{
+ last_time = 0;
+
+ for ( int i = 0; i < osc_count; i++ )
+ memset( &oscs [i], 0, offsetof (osc_t,output) );
+
+ memset( regs, 0, sizeof regs );
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/M3u_Playlist.cpp b/plugins/gme/game-music-emu-svn/gme/M3u_Playlist.cpp
new file mode 100644
index 00000000..6be6190e
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/M3u_Playlist.cpp
@@ -0,0 +1,426 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "M3u_Playlist.h"
+#include "Music_Emu.h"
+
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// gme functions defined here to avoid linking in m3u code unless it's used
+
+blargg_err_t Gme_File::load_m3u_( blargg_err_t err )
+{
+ require( raw_track_count_ ); // file must be loaded first
+
+ if ( !err )
+ {
+ if ( playlist.size() )
+ track_count_ = playlist.size();
+
+ int line = playlist.first_error();
+ if ( line )
+ {
+ // avoid using bloated printf()
+ char* out = &playlist_warning [sizeof playlist_warning];
+ *--out = 0;
+ do {
+ *--out = line % 10 + '0';
+ } while ( (line /= 10) > 0 );
+
+ static const char str [] = "Problem in m3u at line ";
+ out -= sizeof str - 1;
+ memcpy( out, str, sizeof str - 1 );
+ set_warning( out );
+ }
+ }
+ return err;
+}
+
+blargg_err_t Gme_File::load_m3u( const char* path ) { return load_m3u_( playlist.load( path ) ); }
+
+blargg_err_t Gme_File::load_m3u( Data_Reader& in ) { return load_m3u_( playlist.load( in ) ); }
+
+BLARGG_EXPORT gme_err_t gme_load_m3u( Music_Emu* me, const char* path ) { return me->load_m3u( path ); }
+
+BLARGG_EXPORT gme_err_t gme_load_m3u_data( Music_Emu* me, const void* data, long size )
+{
+ Mem_File_Reader in( data, size );
+ return me->load_m3u( in );
+}
+
+
+
+static char* skip_white( char* in )
+{
+ while ( *in == ' ' )
+ in++;
+ return in;
+}
+
+inline unsigned from_dec( unsigned n ) { return n - '0'; }
+
+static char* parse_filename( char* in, M3u_Playlist::entry_t& entry )
+{
+ entry.file = in;
+ entry.type = "";
+ char* out = in;
+ while ( 1 )
+ {
+ int c = *in;
+ if ( !c ) break;
+ in++;
+
+ if ( c == ',' ) // commas in filename
+ {
+ char* p = skip_white( in );
+ if ( *p == '$' || from_dec( *p ) <= 9 )
+ {
+ in = p;
+ break;
+ }
+ }
+
+ if ( c == ':' && in [0] == ':' && in [1] && in [2] != ',' ) // ::type suffix
+ {
+ entry.type = ++in;
+ while ( (c = *in) != 0 && c != ',' )
+ in++;
+ if ( c == ',' )
+ {
+ *in++ = 0; // terminate type
+ in = skip_white( in );
+ }
+ break;
+ }
+
+ if ( c == '\\' ) // \ prefix for special characters
+ {
+ c = *in;
+ if ( !c ) break;
+ in++;
+ }
+ *out++ = (char) c;
+ }
+ *out = 0; // terminate string
+ return in;
+}
+
+static char* next_field( char* in, int* result )
+{
+ while ( 1 )
+ {
+ in = skip_white( in );
+
+ if ( !*in )
+ break;
+
+ if ( *in == ',' )
+ {
+ in++;
+ break;
+ }
+
+ *result = 1;
+ in++;
+ }
+ return skip_white( in );
+}
+
+static char* parse_int_( char* in, int* out )
+{
+ int n = 0;
+ while ( 1 )
+ {
+ unsigned d = from_dec( *in );
+ if ( d > 9 )
+ break;
+ in++;
+ n = n * 10 + d;
+ *out = n;
+ }
+ return in;
+}
+
+static char* parse_int( char* in, int* out, int* result )
+{
+ return next_field( parse_int_( in, out ), result );
+}
+
+// Returns 16 or greater if not hex
+inline int from_hex_char( int h )
+{
+ h -= 0x30;
+ if ( (unsigned) h > 9 )
+ h = ((h - 0x11) & 0xDF) + 10;
+ return h;
+}
+
+static char* parse_track( char* in, M3u_Playlist::entry_t& entry, int* result )
+{
+ if ( *in == '$' )
+ {
+ in++;
+ int n = 0;
+ while ( 1 )
+ {
+ int h = from_hex_char( *in );
+ if ( h > 15 )
+ break;
+ in++;
+ n = n * 16 + h;
+ entry.track = n;
+ }
+ }
+ else
+ {
+ in = parse_int_( in, &entry.track );
+ if ( entry.track >= 0 )
+ entry.decimal_track = 1;
+ }
+ return next_field( in, result );
+}
+
+static char* parse_time_( char* in, int* out )
+{
+ *out = -1;
+ int n = -1;
+ in = parse_int_( in, &n );
+ if ( n >= 0 )
+ {
+ *out = n;
+ if ( *in == ':' )
+ {
+ n = -1;
+ in = parse_int_( in + 1, &n );
+ if ( n >= 0 )
+ *out = *out * 60 + n;
+ }
+ }
+ return in;
+}
+
+static char* parse_time( char* in, int* out, int* result )
+{
+ return next_field( parse_time_( in, out ), result );
+}
+
+static char* parse_name( char* in )
+{
+ char* out = in;
+ while ( 1 )
+ {
+ int c = *in;
+ if ( !c ) break;
+ in++;
+
+ if ( c == ',' ) // commas in string
+ {
+ char* p = skip_white( in );
+ if ( *p == ',' || *p == '-' || from_dec( *p ) <= 9 )
+ {
+ in = p;
+ break;
+ }
+ }
+
+ if ( c == '\\' ) // \ prefix for special characters
+ {
+ c = *in;
+ if ( !c ) break;
+ in++;
+ }
+ *out++ = (char) c;
+ }
+ *out = 0; // terminate string
+ return in;
+}
+
+static int parse_line( char* in, M3u_Playlist::entry_t& entry )
+{
+ int result = 0;
+
+ // file
+ entry.file = in;
+ entry.type = "";
+ in = parse_filename( in, entry );
+
+ // track
+ entry.track = -1;
+ entry.decimal_track = 0;
+ in = parse_track( in, entry, &result );
+
+ // name
+ entry.name = in;
+ in = parse_name( in );
+
+ // time
+ entry.length = -1;
+ in = parse_time( in, &entry.length, &result );
+
+ // loop
+ entry.intro = -1;
+ entry.loop = -1;
+ if ( *in == '-' )
+ {
+ entry.loop = entry.length;
+ in++;
+ }
+ else
+ {
+ in = parse_time_( in, &entry.loop );
+ if ( entry.loop >= 0 )
+ {
+ entry.intro = 0;
+ if ( *in == '-' ) // trailing '-' means that intro length was specified
+ {
+ in++;
+ entry.intro = entry.loop;
+ entry.loop = entry.length - entry.intro;
+ }
+ }
+ }
+ in = next_field( in, &result );
+
+ // fade
+ entry.fade = -1;
+ in = parse_time( in, &entry.fade, &result );
+
+ // repeat
+ entry.repeat = -1;
+ in = parse_int( in, &entry.repeat, &result );
+
+ return result;
+}
+
+static void parse_comment( char* in, M3u_Playlist::info_t& info, bool first )
+{
+ in = skip_white( in + 1 );
+ const char* field = in;
+ while ( *in && *in != ':' )
+ in++;
+
+ if ( *in == ':' )
+ {
+ const char* text = skip_white( in + 1 );
+ if ( *text )
+ {
+ *in = 0;
+ if ( !strcmp( "Composer", field ) ) info.composer = text;
+ else if ( !strcmp( "Engineer", field ) ) info.engineer = text;
+ else if ( !strcmp( "Ripping" , field ) ) info.ripping = text;
+ else if ( !strcmp( "Tagging" , field ) ) info.tagging = text;
+ else
+ text = 0;
+ if ( text )
+ return;
+ *in = ':';
+ }
+ }
+
+ if ( first )
+ info.title = field;
+}
+
+blargg_err_t M3u_Playlist::parse_()
+{
+ info_.title = "";
+ info_.composer = "";
+ info_.engineer = "";
+ info_.ripping = "";
+ info_.tagging = "";
+
+ int const CR = 13;
+ int const LF = 10;
+
+ data.end() [-1] = LF; // terminate input
+
+ first_error_ = 0;
+ bool first_comment = true;
+ int line = 0;
+ int count = 0;
+ char* in = data.begin();
+ while ( in < data.end() )
+ {
+ // find end of line and terminate it
+ line++;
+ char* begin = in;
+ while ( *in != CR && *in != LF )
+ {
+ if ( !*in )
+ return "Not an m3u playlist";
+ in++;
+ }
+ if ( in [0] == CR && in [1] == LF ) // treat CR,LF as a single line
+ *in++ = 0;
+ *in++ = 0;
+
+ // parse line
+ if ( *begin == '#' )
+ {
+ parse_comment( begin, info_, first_comment );
+ first_comment = false;
+ }
+ else if ( *begin )
+ {
+ if ( (int) entries.size() <= count )
+ RETURN_ERR( entries.resize( count * 2 + 64 ) );
+
+ if ( !parse_line( begin, entries [count] ) )
+ count++;
+ else if ( !first_error_ )
+ first_error_ = line;
+ first_comment = false;
+ }
+ }
+ if ( count <= 0 )
+ return "Not an m3u playlist";
+
+ if ( !(info_.composer [0] | info_.engineer [0] | info_.ripping [0] | info_.tagging [0]) )
+ info_.title = "";
+
+ return entries.resize( count );
+}
+
+blargg_err_t M3u_Playlist::parse()
+{
+ blargg_err_t err = parse_();
+ if ( err )
+ {
+ entries.clear();
+ data.clear();
+ }
+ return err;
+}
+
+blargg_err_t M3u_Playlist::load( Data_Reader& in )
+{
+ RETURN_ERR( data.resize( in.remain() + 1 ) );
+ RETURN_ERR( in.read( data.begin(), data.size() - 1 ) );
+ return parse();
+}
+
+blargg_err_t M3u_Playlist::load( const char* path )
+{
+ GME_FILE_READER in;
+ RETURN_ERR( in.open( path ) );
+ return load( in );
+}
+
+blargg_err_t M3u_Playlist::load( void const* in, long size )
+{
+ RETURN_ERR( data.resize( size + 1 ) );
+ memcpy( data.begin(), in, size );
+ return parse();
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/M3u_Playlist.h b/plugins/gme/game-music-emu-svn/gme/M3u_Playlist.h
new file mode 100644
index 00000000..266a0653
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/M3u_Playlist.h
@@ -0,0 +1,67 @@
+// M3U playlist file parser, with support for subtrack information
+
+// Game_Music_Emu 0.5.5
+#ifndef M3U_PLAYLIST_H
+#define M3U_PLAYLIST_H
+
+#include "blargg_common.h"
+#include "Data_Reader.h"
+
+class M3u_Playlist {
+public:
+ // Load playlist data
+ blargg_err_t load( const char* path );
+ blargg_err_t load( Data_Reader& in );
+ blargg_err_t load( void const* data, long size );
+
+ // Line number of first parse error, 0 if no error. Any lines with parse
+ // errors are ignored.
+ int first_error() const { return first_error_; }
+
+ struct info_t
+ {
+ const char* title;
+ const char* composer;
+ const char* engineer;
+ const char* ripping;
+ const char* tagging;
+ };
+ info_t const& info() const { return info_; }
+
+ struct entry_t
+ {
+ const char* file; // filename without stupid ::TYPE suffix
+ const char* type; // if filename has ::TYPE suffix, this will be "TYPE". "" if none.
+ const char* name;
+ bool decimal_track; // true if track was specified in hex
+ // integers are -1 if not present
+ int track; // 1-based
+ int length; // seconds
+ int intro;
+ int loop;
+ int fade;
+ int repeat; // count
+ };
+ entry_t const& operator [] ( int i ) const { return entries [i]; }
+ int size() const { return entries.size(); }
+
+ void clear();
+
+private:
+ blargg_vector<entry_t> entries;
+ blargg_vector<char> data;
+ int first_error_;
+ info_t info_;
+
+ blargg_err_t parse();
+ blargg_err_t parse_();
+};
+
+inline void M3u_Playlist::clear()
+{
+ first_error_ = 0;
+ entries.clear();
+ data.clear();
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Multi_Buffer.cpp b/plugins/gme/game-music-emu-svn/gme/Multi_Buffer.cpp
new file mode 100644
index 00000000..57f93b31
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Multi_Buffer.cpp
@@ -0,0 +1,232 @@
+// Blip_Buffer 0.4.1. http://www.slack.net/~ant/
+
+#include "Multi_Buffer.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+Multi_Buffer::Multi_Buffer( int spf ) : samples_per_frame_( spf )
+{
+ length_ = 0;
+ sample_rate_ = 0;
+ channels_changed_count_ = 1;
+}
+
+blargg_err_t Multi_Buffer::set_channel_count( int ) { return 0; }
+
+// Silent_Buffer
+
+Silent_Buffer::Silent_Buffer() : Multi_Buffer( 1 ) // 0 channels would probably confuse
+{
+ // TODO: better to use empty Blip_Buffer so caller never has to check for NULL?
+ chan.left = 0;
+ chan.center = 0;
+ chan.right = 0;
+}
+
+// Mono_Buffer
+
+Mono_Buffer::Mono_Buffer() : Multi_Buffer( 1 )
+{
+ chan.center = &buf;
+ chan.left = &buf;
+ chan.right = &buf;
+}
+
+Mono_Buffer::~Mono_Buffer() { }
+
+blargg_err_t Mono_Buffer::set_sample_rate( long rate, int msec )
+{
+ RETURN_ERR( buf.set_sample_rate( rate, msec ) );
+ return Multi_Buffer::set_sample_rate( buf.sample_rate(), buf.length() );
+}
+
+// Stereo_Buffer
+
+Stereo_Buffer::Stereo_Buffer() : Multi_Buffer( 2 )
+{
+ chan.center = &bufs [0];
+ chan.left = &bufs [1];
+ chan.right = &bufs [2];
+}
+
+Stereo_Buffer::~Stereo_Buffer() { }
+
+blargg_err_t Stereo_Buffer::set_sample_rate( long rate, int msec )
+{
+ for ( int i = 0; i < buf_count; i++ )
+ RETURN_ERR( bufs [i].set_sample_rate( rate, msec ) );
+ return Multi_Buffer::set_sample_rate( bufs [0].sample_rate(), bufs [0].length() );
+}
+
+void Stereo_Buffer::clock_rate( long rate )
+{
+ for ( int i = 0; i < buf_count; i++ )
+ bufs [i].clock_rate( rate );
+}
+
+void Stereo_Buffer::bass_freq( int bass )
+{
+ for ( unsigned i = 0; i < buf_count; i++ )
+ bufs [i].bass_freq( bass );
+}
+
+void Stereo_Buffer::clear()
+{
+ stereo_added = 0;
+ was_stereo = false;
+ for ( int i = 0; i < buf_count; i++ )
+ bufs [i].clear();
+}
+
+void Stereo_Buffer::end_frame( blip_time_t clock_count )
+{
+ stereo_added = 0;
+ for ( unsigned i = 0; i < buf_count; i++ )
+ {
+ stereo_added |= bufs [i].clear_modified() << i;
+ bufs [i].end_frame( clock_count );
+ }
+}
+
+long Stereo_Buffer::read_samples( blip_sample_t* out, long count )
+{
+ require( !(count & 1) ); // count must be even
+ count = (unsigned) count / 2;
+
+ long avail = bufs [0].samples_avail();
+ if ( count > avail )
+ count = avail;
+ if ( count )
+ {
+ int bufs_used = stereo_added | was_stereo;
+ //debug_printf( "%X\n", bufs_used );
+ if ( bufs_used <= 1 )
+ {
+ mix_mono( out, count );
+ bufs [0].remove_samples( count );
+ bufs [1].remove_silence( count );
+ bufs [2].remove_silence( count );
+ }
+ else if ( bufs_used & 1 )
+ {
+ mix_stereo( out, count );
+ bufs [0].remove_samples( count );
+ bufs [1].remove_samples( count );
+ bufs [2].remove_samples( count );
+ }
+ else
+ {
+ mix_stereo_no_center( out, count );
+ bufs [0].remove_silence( count );
+ bufs [1].remove_samples( count );
+ bufs [2].remove_samples( count );
+ }
+
+ // to do: this might miss opportunities for optimization
+ if ( !bufs [0].samples_avail() )
+ {
+ was_stereo = stereo_added;
+ stereo_added = 0;
+ }
+ }
+
+ return count * 2;
+}
+
+void Stereo_Buffer::mix_stereo( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [1] );
+ BLIP_READER_BEGIN( left, bufs [1] );
+ BLIP_READER_BEGIN( right, bufs [2] );
+ BLIP_READER_BEGIN( center, bufs [0] );
+
+ for ( ; count; --count )
+ {
+ int c = BLIP_READER_READ( center );
+ blargg_long l = c + BLIP_READER_READ( left );
+ blargg_long r = c + BLIP_READER_READ( right );
+ if ( (BOOST::int16_t) l != l )
+ l = 0x7FFF - (l >> 24);
+
+ BLIP_READER_NEXT( center, bass );
+ if ( (BOOST::int16_t) r != r )
+ r = 0x7FFF - (r >> 24);
+
+ BLIP_READER_NEXT( left, bass );
+ BLIP_READER_NEXT( right, bass );
+
+ out [0] = l;
+ out [1] = r;
+ out += 2;
+ }
+
+ BLIP_READER_END( center, bufs [0] );
+ BLIP_READER_END( right, bufs [2] );
+ BLIP_READER_END( left, bufs [1] );
+}
+
+void Stereo_Buffer::mix_stereo_no_center( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [1] );
+ BLIP_READER_BEGIN( left, bufs [1] );
+ BLIP_READER_BEGIN( right, bufs [2] );
+
+ for ( ; count; --count )
+ {
+ blargg_long l = BLIP_READER_READ( left );
+ if ( (BOOST::int16_t) l != l )
+ l = 0x7FFF - (l >> 24);
+
+ blargg_long r = BLIP_READER_READ( right );
+ if ( (BOOST::int16_t) r != r )
+ r = 0x7FFF - (r >> 24);
+
+ BLIP_READER_NEXT( left, bass );
+ BLIP_READER_NEXT( right, bass );
+
+ out [0] = l;
+ out [1] = r;
+ out += 2;
+ }
+
+ BLIP_READER_END( right, bufs [2] );
+ BLIP_READER_END( left, bufs [1] );
+}
+
+void Stereo_Buffer::mix_mono( blip_sample_t* out_, blargg_long count )
+{
+ blip_sample_t* BLIP_RESTRICT out = out_;
+ int const bass = BLIP_READER_BASS( bufs [0] );
+ BLIP_READER_BEGIN( center, bufs [0] );
+
+ for ( ; count; --count )
+ {
+ blargg_long s = BLIP_READER_READ( center );
+ if ( (BOOST::int16_t) s != s )
+ s = 0x7FFF - (s >> 24);
+
+ BLIP_READER_NEXT( center, bass );
+ out [0] = s;
+ out [1] = s;
+ out += 2;
+ }
+
+ BLIP_READER_END( center, bufs [0] );
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Multi_Buffer.h b/plugins/gme/game-music-emu-svn/gme/Multi_Buffer.h
new file mode 100644
index 00000000..82c8b3ab
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Multi_Buffer.h
@@ -0,0 +1,158 @@
+// Multi-channel sound buffer interface, and basic mono and stereo buffers
+
+// Blip_Buffer 0.4.1
+#ifndef MULTI_BUFFER_H
+#define MULTI_BUFFER_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+// Interface to one or more Blip_Buffers mapped to one or more channels
+// consisting of left, center, and right buffers.
+class Multi_Buffer {
+public:
+ Multi_Buffer( int samples_per_frame );
+ virtual ~Multi_Buffer() { }
+
+ // Set the number of channels available
+ virtual blargg_err_t set_channel_count( int );
+
+ // Get indexed channel, from 0 to channel count - 1
+ struct channel_t {
+ Blip_Buffer* center;
+ Blip_Buffer* left;
+ Blip_Buffer* right;
+ };
+ enum { type_index_mask = 0xFF };
+ enum { wave_type = 0x100, noise_type = 0x200, mixed_type = wave_type | noise_type };
+ virtual channel_t channel( int index, int type ) = 0;
+
+ // See Blip_Buffer.h
+ virtual blargg_err_t set_sample_rate( long rate, int msec = blip_default_length ) = 0;
+ virtual void clock_rate( long ) = 0;
+ virtual void bass_freq( int ) = 0;
+ virtual void clear() = 0;
+ long sample_rate() const;
+
+ // Length of buffer, in milliseconds
+ int length() const;
+
+ // See Blip_Buffer.h
+ virtual void end_frame( blip_time_t ) = 0;
+
+ // Number of samples per output frame (1 = mono, 2 = stereo)
+ int samples_per_frame() const;
+
+ // Count of changes to channel configuration. Incremented whenever
+ // a change is made to any of the Blip_Buffers for any channel.
+ unsigned channels_changed_count() { return channels_changed_count_; }
+
+ // See Blip_Buffer.h
+ virtual long read_samples( blip_sample_t*, long ) = 0;
+ virtual long samples_avail() const = 0;
+
+public:
+ BLARGG_DISABLE_NOTHROW
+protected:
+ void channels_changed() { channels_changed_count_++; }
+private:
+ // noncopyable
+ Multi_Buffer( const Multi_Buffer& );
+ Multi_Buffer& operator = ( const Multi_Buffer& );
+
+ unsigned channels_changed_count_;
+ long sample_rate_;
+ int length_;
+ int const samples_per_frame_;
+};
+
+// Uses a single buffer and outputs mono samples.
+class Mono_Buffer : public Multi_Buffer {
+ Blip_Buffer buf;
+ channel_t chan;
+public:
+ // Buffer used for all channels
+ Blip_Buffer* center() { return &buf; }
+
+public:
+ Mono_Buffer();
+ ~Mono_Buffer();
+ blargg_err_t set_sample_rate( long rate, int msec = blip_default_length );
+ void clock_rate( long rate ) { buf.clock_rate( rate ); }
+ void bass_freq( int freq ) { buf.bass_freq( freq ); }
+ void clear() { buf.clear(); }
+ long samples_avail() const { return buf.samples_avail(); }
+ long read_samples( blip_sample_t* p, long s ) { return buf.read_samples( p, s ); }
+ channel_t channel( int, int ) { return chan; }
+ void end_frame( blip_time_t t ) { buf.end_frame( t ); }
+};
+
+// Uses three buffers (one for center) and outputs stereo sample pairs.
+class Stereo_Buffer : public Multi_Buffer {
+public:
+
+ // Buffers used for all channels
+ Blip_Buffer* center() { return &bufs [0]; }
+ Blip_Buffer* left() { return &bufs [1]; }
+ Blip_Buffer* right() { return &bufs [2]; }
+
+public:
+ Stereo_Buffer();
+ ~Stereo_Buffer();
+ blargg_err_t set_sample_rate( long, int msec = blip_default_length );
+ void clock_rate( long );
+ void bass_freq( int );
+ void clear();
+ channel_t channel( int, int ) { return chan; }
+ void end_frame( blip_time_t );
+
+ long samples_avail() const { return bufs [0].samples_avail() * 2; }
+ long read_samples( blip_sample_t*, long );
+
+private:
+ enum { buf_count = 3 };
+ Blip_Buffer bufs [buf_count];
+ channel_t chan;
+ int stereo_added;
+ int was_stereo;
+
+ void mix_stereo_no_center( blip_sample_t*, blargg_long );
+ void mix_stereo( blip_sample_t*, blargg_long );
+ void mix_mono( blip_sample_t*, blargg_long );
+};
+
+// Silent_Buffer generates no samples, useful where no sound is wanted
+class Silent_Buffer : public Multi_Buffer {
+ channel_t chan;
+public:
+ Silent_Buffer();
+ blargg_err_t set_sample_rate( long rate, int msec = blip_default_length );
+ void clock_rate( long ) { }
+ void bass_freq( int ) { }
+ void clear() { }
+ channel_t channel( int, int ) { return chan; }
+ void end_frame( blip_time_t ) { }
+ long samples_avail() const { return 0; }
+ long read_samples( blip_sample_t*, long ) { return 0; }
+};
+
+
+inline blargg_err_t Multi_Buffer::set_sample_rate( long rate, int msec )
+{
+ sample_rate_ = rate;
+ length_ = msec;
+ return 0;
+}
+
+inline blargg_err_t Silent_Buffer::set_sample_rate( long rate, int msec )
+{
+ return Multi_Buffer::set_sample_rate( rate, msec );
+}
+
+inline int Multi_Buffer::samples_per_frame() const { return samples_per_frame_; }
+
+inline long Multi_Buffer::sample_rate() const { return sample_rate_; }
+
+inline int Multi_Buffer::length() const { return length_; }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Music_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Music_Emu.cpp
new file mode 100644
index 00000000..e2373181
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Music_Emu.cpp
@@ -0,0 +1,411 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Music_Emu.h"
+
+#include "Multi_Buffer.h"
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+int const stereo = 2; // number of channels for stereo
+int const silence_max = 6; // seconds
+int const silence_threshold = 0x10;
+long const fade_block_size = 512;
+int const fade_shift = 8; // fade ends with gain at 1.0 / (1 << fade_shift)
+
+Music_Emu::equalizer_t const Music_Emu::tv_eq = { -8.0, 180 };
+
+void Music_Emu::clear_track_vars()
+{
+ current_track_ = -1;
+ out_time = 0;
+ emu_time = 0;
+ emu_track_ended_ = true;
+ track_ended_ = true;
+ fade_start = INT_MAX / 2 + 1;
+ fade_step = 1;
+ silence_time = 0;
+ silence_count = 0;
+ buf_remain = 0;
+ warning(); // clear warning
+}
+
+void Music_Emu::unload()
+{
+ voice_count_ = 0;
+ clear_track_vars();
+ Gme_File::unload();
+}
+
+Music_Emu::Music_Emu()
+{
+ effects_buffer = 0;
+
+ sample_rate_ = 0;
+ mute_mask_ = 0;
+ tempo_ = 1.0;
+ gain_ = 1.0;
+
+ // defaults
+ max_initial_silence = 2;
+ silence_lookahead = 3;
+ ignore_silence_ = false;
+ equalizer_.treble = -1.0;
+ equalizer_.bass = 60;
+
+ static const char* const names [] = {
+ "Voice 1", "Voice 2", "Voice 3", "Voice 4",
+ "Voice 5", "Voice 6", "Voice 7", "Voice 8"
+ };
+ set_voice_names( names );
+ Music_Emu::unload(); // non-virtual
+}
+
+Music_Emu::~Music_Emu() { delete effects_buffer; }
+
+blargg_err_t Music_Emu::set_sample_rate( long rate )
+{
+ require( !sample_rate() ); // sample rate can't be changed once set
+ RETURN_ERR( set_sample_rate_( rate ) );
+ RETURN_ERR( buf.resize( buf_size ) );
+ sample_rate_ = rate;
+ return 0;
+}
+
+void Music_Emu::pre_load()
+{
+ require( sample_rate() ); // set_sample_rate() must be called before loading a file
+ Gme_File::pre_load();
+}
+
+void Music_Emu::set_equalizer( equalizer_t const& eq )
+{
+ equalizer_ = eq;
+ set_equalizer_( eq );
+}
+
+void Music_Emu::mute_voice( int index, bool mute )
+{
+ require( (unsigned) index < (unsigned) voice_count() );
+ int bit = 1 << index;
+ int mask = mute_mask_ | bit;
+ if ( !mute )
+ mask ^= bit;
+ mute_voices( mask );
+}
+
+void Music_Emu::mute_voices( int mask )
+{
+ require( sample_rate() ); // sample rate must be set first
+ mute_mask_ = mask;
+ mute_voices_( mask );
+}
+
+void Music_Emu::set_tempo( double t )
+{
+ require( sample_rate() ); // sample rate must be set first
+ double const min = 0.02;
+ double const max = 4.00;
+ if ( t < min ) t = min;
+ if ( t > max ) t = max;
+ tempo_ = t;
+ set_tempo_( t );
+}
+
+void Music_Emu::post_load_()
+{
+ set_tempo( tempo_ );
+ remute_voices();
+}
+
+blargg_err_t Music_Emu::start_track( int track )
+{
+ clear_track_vars();
+
+ int remapped = track;
+ RETURN_ERR( remap_track_( &remapped ) );
+ current_track_ = track;
+ RETURN_ERR( start_track_( remapped ) );
+
+ emu_track_ended_ = false;
+ track_ended_ = false;
+
+ if ( !ignore_silence_ )
+ {
+ // play until non-silence or end of track
+ for ( long end = max_initial_silence * stereo * sample_rate(); emu_time < end; )
+ {
+ fill_buf();
+ if ( buf_remain | (int) emu_track_ended_ )
+ break;
+ }
+
+ emu_time = buf_remain;
+ out_time = 0;
+ silence_time = 0;
+ silence_count = 0;
+ }
+ return track_ended() ? warning() : 0;
+}
+
+void Music_Emu::end_track_if_error( blargg_err_t err )
+{
+ if ( err )
+ {
+ emu_track_ended_ = true;
+ set_warning( err );
+ }
+}
+
+// Tell/Seek
+
+blargg_long Music_Emu::msec_to_samples( blargg_long msec ) const
+{
+ blargg_long sec = msec / 1000;
+ msec -= sec * 1000;
+ return (sec * sample_rate() + msec * sample_rate() / 1000) * stereo;
+}
+
+long Music_Emu::tell() const
+{
+ blargg_long rate = sample_rate() * stereo;
+ blargg_long sec = out_time / rate;
+ return sec * 1000 + (out_time - sec * rate) * 1000 / rate;
+}
+
+blargg_err_t Music_Emu::seek( long msec )
+{
+ blargg_long time = msec_to_samples( msec );
+ if ( time < out_time )
+ RETURN_ERR( start_track( current_track_ ) );
+ return skip( time - out_time );
+}
+
+blargg_err_t Music_Emu::skip( long count )
+{
+ require( current_track() >= 0 ); // start_track() must have been called already
+ out_time += count;
+
+ // remove from silence and buf first
+ {
+ long n = min( count, silence_count );
+ silence_count -= n;
+ count -= n;
+
+ n = min( count, buf_remain );
+ buf_remain -= n;
+ count -= n;
+ }
+
+ if ( count && !emu_track_ended_ )
+ {
+ emu_time += count;
+ end_track_if_error( skip_( count ) );
+ }
+
+ if ( !(silence_count | buf_remain) ) // caught up to emulator, so update track ended
+ track_ended_ |= emu_track_ended_;
+
+ return 0;
+}
+
+blargg_err_t Music_Emu::skip_( long count )
+{
+ // for long skip, mute sound
+ const long threshold = 30000;
+ if ( count > threshold )
+ {
+ int saved_mute = mute_mask_;
+ mute_voices( ~0 );
+
+ while ( count > threshold / 2 && !emu_track_ended_ )
+ {
+ RETURN_ERR( play_( buf_size, buf.begin() ) );
+ count -= buf_size;
+ }
+
+ mute_voices( saved_mute );
+ }
+
+ while ( count && !emu_track_ended_ )
+ {
+ long n = buf_size;
+ if ( n > count )
+ n = count;
+ count -= n;
+ RETURN_ERR( play_( n, buf.begin() ) );
+ }
+ return 0;
+}
+
+// Fading
+
+void Music_Emu::set_fade( long start_msec, long length_msec )
+{
+ fade_step = sample_rate() * length_msec / (fade_block_size * fade_shift * 1000 / stereo);
+ fade_start = msec_to_samples( start_msec );
+}
+
+// unit / pow( 2.0, (double) x / step )
+static int int_log( blargg_long x, int step, int unit )
+{
+ int shift = x / step;
+ int fraction = (x - shift * step) * unit / step;
+ return ((unit - fraction) + (fraction >> 1)) >> shift;
+}
+
+void Music_Emu::handle_fade( long out_count, sample_t* out )
+{
+ for ( int i = 0; i < out_count; i += fade_block_size )
+ {
+ int const shift = 14;
+ int const unit = 1 << shift;
+ int gain = int_log( (out_time + i - fade_start) / fade_block_size,
+ fade_step, unit );
+ if ( gain < (unit >> fade_shift) )
+ track_ended_ = emu_track_ended_ = true;
+
+ sample_t* io = &out [i];
+ for ( int count = min( fade_block_size, out_count - i ); count; --count )
+ {
+ *io = sample_t ((*io * gain) >> shift);
+ ++io;
+ }
+ }
+}
+
+// Silence detection
+
+void Music_Emu::emu_play( long count, sample_t* out )
+{
+ check( current_track_ >= 0 );
+ emu_time += count;
+ if ( current_track_ >= 0 && !emu_track_ended_ )
+ end_track_if_error( play_( count, out ) );
+ else
+ memset( out, 0, count * sizeof *out );
+}
+
+// number of consecutive silent samples at end
+static long count_silence( Music_Emu::sample_t* begin, long size )
+{
+ Music_Emu::sample_t first = *begin;
+ *begin = silence_threshold; // sentinel
+ Music_Emu::sample_t* p = begin + size;
+ while ( (unsigned) (*--p + silence_threshold / 2) <= (unsigned) silence_threshold ) { }
+ *begin = first;
+ return size - (p - begin);
+}
+
+// fill internal buffer and check it for silence
+void Music_Emu::fill_buf()
+{
+ assert( !buf_remain );
+ if ( !emu_track_ended_ )
+ {
+ emu_play( buf_size, buf.begin() );
+ long silence = count_silence( buf.begin(), buf_size );
+ if ( silence < buf_size )
+ {
+ silence_time = emu_time - silence;
+ buf_remain = buf_size;
+ return;
+ }
+ }
+ silence_count += buf_size;
+}
+
+blargg_err_t Music_Emu::play( long out_count, sample_t* out )
+{
+ if ( track_ended_ )
+ {
+ memset( out, 0, out_count * sizeof *out );
+ }
+ else
+ {
+ require( current_track() >= 0 );
+ require( out_count % stereo == 0 );
+
+ assert( emu_time >= out_time );
+
+ // prints nifty graph of how far ahead we are when searching for silence
+ //debug_printf( "%*s \n", int ((emu_time - out_time) * 7 / sample_rate()), "*" );
+
+ long pos = 0;
+ if ( silence_count )
+ {
+ // during a run of silence, run emulator at >=2x speed so it gets ahead
+ long ahead_time = silence_lookahead * (out_time + out_count - silence_time) + silence_time;
+ while ( emu_time < ahead_time && !(buf_remain | emu_track_ended_) )
+ fill_buf();
+
+ // fill with silence
+ pos = min( silence_count, out_count );
+ memset( out, 0, pos * sizeof *out );
+ silence_count -= pos;
+
+ if ( emu_time - silence_time > silence_max * stereo * sample_rate() )
+ {
+ track_ended_ = emu_track_ended_ = true;
+ silence_count = 0;
+ buf_remain = 0;
+ }
+ }
+
+ if ( buf_remain )
+ {
+ // empty silence buf
+ long n = min( buf_remain, out_count - pos );
+ memcpy( &out [pos], buf.begin() + (buf_size - buf_remain), n * sizeof *out );
+ buf_remain -= n;
+ pos += n;
+ }
+
+ // generate remaining samples normally
+ long remain = out_count - pos;
+ if ( remain )
+ {
+ emu_play( remain, out + pos );
+ track_ended_ |= emu_track_ended_;
+
+ if ( !ignore_silence_ || out_time > fade_start )
+ {
+ // check end for a new run of silence
+ long silence = count_silence( out + pos, remain );
+ if ( silence < remain )
+ silence_time = emu_time - silence;
+
+ if ( emu_time - silence_time >= buf_size )
+ fill_buf(); // cause silence detection on next play()
+ }
+ }
+
+ if ( out_time > fade_start )
+ handle_fade( out_count, out );
+ }
+ out_time += out_count;
+ return 0;
+}
+
+// Gme_Info_
+
+blargg_err_t Gme_Info_::set_sample_rate_( long ) { return 0; }
+void Gme_Info_::pre_load() { Gme_File::pre_load(); } // skip Music_Emu
+void Gme_Info_::post_load_() { Gme_File::post_load_(); } // skip Music_Emu
+void Gme_Info_::set_equalizer_( equalizer_t const& ){ check( false ); }
+void Gme_Info_::enable_accuracy_( bool ) { check( false ); }
+void Gme_Info_::mute_voices_( int ) { check( false ); }
+void Gme_Info_::set_tempo_( double ) { }
+blargg_err_t Gme_Info_::start_track_( int ) { return "Use full emulator for playback"; }
+blargg_err_t Gme_Info_::play_( long, sample_t* ) { return "Use full emulator for playback"; }
diff --git a/plugins/gme/game-music-emu-svn/gme/Music_Emu.h b/plugins/gme/game-music-emu-svn/gme/Music_Emu.h
new file mode 100644
index 00000000..c9bed00f
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Music_Emu.h
@@ -0,0 +1,218 @@
+// Common interface to game music file emulators
+
+// Game_Music_Emu 0.5.5
+#ifndef MUSIC_EMU_H
+#define MUSIC_EMU_H
+
+#include "Gme_File.h"
+class Multi_Buffer;
+
+struct Music_Emu : public Gme_File {
+public:
+// Basic functionality (see Gme_File.h for file loading/track info functions)
+
+ // Set output sample rate. Must be called only once before loading file.
+ blargg_err_t set_sample_rate( long sample_rate );
+
+ // Start a track, where 0 is the first track. Also clears warning string.
+ blargg_err_t start_track( int );
+
+ // Generate 'count' samples info 'buf'. Output is in stereo. Any emulation
+ // errors set warning string, and major errors also end track.
+ typedef short sample_t;
+ blargg_err_t play( long count, sample_t* buf );
+
+// Informational
+
+ // Sample rate sound is generated at
+ long sample_rate() const;
+
+ // Index of current track or -1 if one hasn't been started
+ int current_track() const;
+
+ // Number of voices used by currently loaded file
+ int voice_count() const;
+
+ // Names of voices
+ const char** voice_names() const;
+
+// Track status/control
+
+ // Number of milliseconds (1000 msec = 1 second) played since beginning of track
+ long tell() const;
+
+ // Seek to new time in track. Seeking backwards or far forward can take a while.
+ blargg_err_t seek( long msec );
+
+ // Skip n samples
+ blargg_err_t skip( long n );
+
+ // True if a track has reached its end
+ bool track_ended() const;
+
+ // Set start time and length of track fade out. Once fade ends track_ended() returns
+ // true. Fade time can be changed while track is playing.
+ void set_fade( long start_msec, long length_msec = 8000 );
+
+ // Disable automatic end-of-track detection and skipping of silence at beginning
+ void ignore_silence( bool disable = true );
+
+ // Info for current track
+ Gme_File::track_info;
+ blargg_err_t track_info( track_info_t* out ) const;
+
+// Sound customization
+
+ // Adjust song tempo, where 1.0 = normal, 0.5 = half speed, 2.0 = double speed.
+ // Track length as returned by track_info() assumes a tempo of 1.0.
+ void set_tempo( double );
+
+ // Mute/unmute voice i, where voice 0 is first voice
+ void mute_voice( int index, bool mute = true );
+
+ // Set muting state of all voices at once using a bit mask, where -1 mutes them all,
+ // 0 unmutes them all, 0x01 mutes just the first voice, etc.
+ void mute_voices( int mask );
+
+ // Change overall output amplitude, where 1.0 results in minimal clamping.
+ // Must be called before set_sample_rate().
+ void set_gain( double );
+
+ // Request use of custom multichannel buffer. Only supported by "classic" emulators;
+ // on others this has no effect. Should be called only once *before* set_sample_rate().
+ virtual void set_buffer( Multi_Buffer* ) { }
+
+ // Enables/disables accurate emulation options, if any are supported. Might change
+ // equalizer settings.
+ void enable_accuracy( bool enable = true );
+
+// Sound equalization (treble/bass)
+
+ // Frequency equalizer parameters (see gme.txt)
+ // See gme.h for definition of struct gme_equalizer_t.
+ typedef gme_equalizer_t equalizer_t;
+
+ // Current frequency equalizater parameters
+ equalizer_t const& equalizer() const;
+
+ // Set frequency equalizer parameters
+ void set_equalizer( equalizer_t const& );
+
+ // Equalizer settings for TV speaker
+ static equalizer_t const tv_eq;
+
+public:
+ Music_Emu();
+ ~Music_Emu();
+protected:
+ void set_max_initial_silence( int n ) { max_initial_silence = n; }
+ void set_silence_lookahead( int n ) { silence_lookahead = n; }
+ void set_voice_count( int n ) { voice_count_ = n; }
+ void set_voice_names( const char* const* names );
+ void set_track_ended() { emu_track_ended_ = true; }
+ double gain() const { return gain_; }
+ double tempo() const { return tempo_; }
+ void remute_voices();
+
+ virtual blargg_err_t set_sample_rate_( long sample_rate ) = 0;
+ virtual void set_equalizer_( equalizer_t const& ) { }
+ virtual void enable_accuracy_( bool enable ) { }
+ virtual void mute_voices_( int mask ) = 0;
+ virtual void set_tempo_( double ) = 0;
+ virtual blargg_err_t start_track_( int ) = 0; // tempo is set before this
+ virtual blargg_err_t play_( long count, sample_t* out ) = 0;
+ virtual blargg_err_t skip_( long count );
+protected:
+ virtual void unload();
+ virtual void pre_load();
+ virtual void post_load_();
+private:
+ // general
+ equalizer_t equalizer_;
+ int max_initial_silence;
+ const char** voice_names_;
+ int voice_count_;
+ int mute_mask_;
+ double tempo_;
+ double gain_;
+
+ long sample_rate_;
+ blargg_long msec_to_samples( blargg_long msec ) const;
+
+ // track-specific
+ int current_track_;
+ blargg_long out_time; // number of samples played since start of track
+ blargg_long emu_time; // number of samples emulator has generated since start of track
+ bool emu_track_ended_; // emulator has reached end of track
+ volatile bool track_ended_;
+ void clear_track_vars();
+ void end_track_if_error( blargg_err_t );
+
+ // fading
+ blargg_long fade_start;
+ int fade_step;
+ void handle_fade( long count, sample_t* out );
+
+ // silence detection
+ int silence_lookahead; // speed to run emulator when looking ahead for silence
+ bool ignore_silence_;
+ long silence_time; // number of samples where most recent silence began
+ long silence_count; // number of samples of silence to play before using buf
+ long buf_remain; // number of samples left in silence buffer
+ enum { buf_size = 2048 };
+ blargg_vector<sample_t> buf;
+ void fill_buf();
+ void emu_play( long count, sample_t* out );
+
+ Multi_Buffer* effects_buffer;
+ friend Music_Emu* gme_new_emu( gme_type_t, int );
+ friend void gme_set_stereo_depth( Music_Emu*, double );
+};
+
+// base class for info-only derivations
+struct Gme_Info_ : Music_Emu
+{
+ virtual blargg_err_t set_sample_rate_( long sample_rate );
+ virtual void set_equalizer_( equalizer_t const& );
+ virtual void enable_accuracy_( bool );
+ virtual void mute_voices_( int mask );
+ virtual void set_tempo_( double );
+ virtual blargg_err_t start_track_( int );
+ virtual blargg_err_t play_( long count, sample_t* out );
+ virtual void pre_load();
+ virtual void post_load_();
+};
+
+inline blargg_err_t Music_Emu::track_info( track_info_t* out ) const
+{
+ return track_info( out, current_track_ );
+}
+
+inline long Music_Emu::sample_rate() const { return sample_rate_; }
+inline const char** Music_Emu::voice_names() const { return voice_names_; }
+inline int Music_Emu::voice_count() const { return voice_count_; }
+inline int Music_Emu::current_track() const { return current_track_; }
+inline bool Music_Emu::track_ended() const { return track_ended_; }
+inline const Music_Emu::equalizer_t& Music_Emu::equalizer() const { return equalizer_; }
+
+inline void Music_Emu::enable_accuracy( bool b ) { enable_accuracy_( b ); }
+inline void Music_Emu::set_tempo_( double t ) { tempo_ = t; }
+inline void Music_Emu::remute_voices() { mute_voices( mute_mask_ ); }
+inline void Music_Emu::ignore_silence( bool b ) { ignore_silence_ = b; }
+inline blargg_err_t Music_Emu::start_track_( int ) { return 0; }
+
+inline void Music_Emu::set_voice_names( const char* const* names )
+{
+ // Intentional removal of const, so users don't have to remember obscure const in middle
+ voice_names_ = const_cast<const char**> (names);
+}
+
+inline void Music_Emu::mute_voices_( int ) { }
+
+inline void Music_Emu::set_gain( double g )
+{
+ assert( !sample_rate() ); // you must set gain before setting sample rate
+ gain_ = g;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Nes_Apu.cpp
new file mode 100644
index 00000000..68edb446
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Apu.cpp
@@ -0,0 +1,391 @@
+// Nes_Snd_Emu 0.1.8. http://www.slack.net/~ant/
+
+#include "Nes_Apu.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+int const amp_range = 15;
+
+Nes_Apu::Nes_Apu() :
+ square1( &square_synth ),
+ square2( &square_synth )
+{
+ tempo_ = 1.0;
+ dmc.apu = this;
+ dmc.prg_reader = NULL;
+ irq_notifier_ = NULL;
+
+ oscs [0] = &square1;
+ oscs [1] = &square2;
+ oscs [2] = &triangle;
+ oscs [3] = &noise;
+ oscs [4] = &dmc;
+
+ output( NULL );
+ volume( 1.0 );
+ reset( false );
+}
+
+void Nes_Apu::treble_eq( const blip_eq_t& eq )
+{
+ square_synth.treble_eq( eq );
+ triangle.synth.treble_eq( eq );
+ noise.synth.treble_eq( eq );
+ dmc.synth.treble_eq( eq );
+}
+
+void Nes_Apu::enable_nonlinear( double v )
+{
+ dmc.nonlinear = true;
+ square_synth.volume( 1.3 * 0.25751258 / 0.742467605 * 0.25 / amp_range * v );
+
+ const double tnd = 0.48 / 202 * nonlinear_tnd_gain();
+ triangle.synth.volume( 3.0 * tnd );
+ noise.synth.volume( 2.0 * tnd );
+ dmc.synth.volume( tnd );
+
+ square1 .last_amp = 0;
+ square2 .last_amp = 0;
+ triangle.last_amp = 0;
+ noise .last_amp = 0;
+ dmc .last_amp = 0;
+}
+
+void Nes_Apu::volume( double v )
+{
+ dmc.nonlinear = false;
+ square_synth.volume( 0.1128 / amp_range * v );
+ triangle.synth.volume( 0.12765 / amp_range * v );
+ noise.synth.volume( 0.0741 / amp_range * v );
+ dmc.synth.volume( 0.42545 / 127 * v );
+}
+
+void Nes_Apu::output( Blip_Buffer* buffer )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, buffer );
+}
+
+void Nes_Apu::set_tempo( double t )
+{
+ tempo_ = t;
+ frame_period = (dmc.pal_mode ? 8314 : 7458);
+ if ( t != 1.0 )
+ frame_period = (int) (frame_period / t) & ~1; // must be even
+}
+
+void Nes_Apu::reset( bool pal_mode, int initial_dmc_dac )
+{
+ dmc.pal_mode = pal_mode;
+ set_tempo( tempo_ );
+
+ square1.reset();
+ square2.reset();
+ triangle.reset();
+ noise.reset();
+ dmc.reset();
+
+ last_time = 0;
+ last_dmc_time = 0;
+ osc_enables = 0;
+ irq_flag = false;
+ earliest_irq_ = no_irq;
+ frame_delay = 1;
+ write_register( 0, 0x4017, 0x00 );
+ write_register( 0, 0x4015, 0x00 );
+
+ for ( nes_addr_t addr = start_addr; addr <= 0x4013; addr++ )
+ write_register( 0, addr, (addr & 3) ? 0x00 : 0x10 );
+
+ dmc.dac = initial_dmc_dac;
+ if ( !dmc.nonlinear )
+ triangle.last_amp = 15;
+ if ( !dmc.nonlinear ) // TODO: remove?
+ dmc.last_amp = initial_dmc_dac; // prevent output transition
+}
+
+void Nes_Apu::irq_changed()
+{
+ nes_time_t new_irq = dmc.next_irq;
+ if ( dmc.irq_flag | irq_flag ) {
+ new_irq = 0;
+ }
+ else if ( new_irq > next_irq ) {
+ new_irq = next_irq;
+ }
+
+ if ( new_irq != earliest_irq_ ) {
+ earliest_irq_ = new_irq;
+ if ( irq_notifier_ )
+ irq_notifier_( irq_data );
+ }
+}
+
+// frames
+
+void Nes_Apu::run_until( nes_time_t end_time )
+{
+ require( end_time >= last_dmc_time );
+ if ( end_time > next_dmc_read_time() )
+ {
+ nes_time_t start = last_dmc_time;
+ last_dmc_time = end_time;
+ dmc.run( start, end_time );
+ }
+}
+
+void Nes_Apu::run_until_( nes_time_t end_time )
+{
+ require( end_time >= last_time );
+
+ if ( end_time == last_time )
+ return;
+
+ if ( last_dmc_time < end_time )
+ {
+ nes_time_t start = last_dmc_time;
+ last_dmc_time = end_time;
+ dmc.run( start, end_time );
+ }
+
+ while ( true )
+ {
+ // earlier of next frame time or end time
+ nes_time_t time = last_time + frame_delay;
+ if ( time > end_time )
+ time = end_time;
+ frame_delay -= time - last_time;
+
+ // run oscs to present
+ square1.run( last_time, time );
+ square2.run( last_time, time );
+ triangle.run( last_time, time );
+ noise.run( last_time, time );
+ last_time = time;
+
+ if ( time == end_time )
+ break; // no more frames to run
+
+ // take frame-specific actions
+ frame_delay = frame_period;
+ switch ( frame++ )
+ {
+ case 0:
+ if ( !(frame_mode & 0xC0) ) {
+ next_irq = time + frame_period * 4 + 2;
+ irq_flag = true;
+ }
+ // fall through
+ case 2:
+ // clock length and sweep on frames 0 and 2
+ square1.clock_length( 0x20 );
+ square2.clock_length( 0x20 );
+ noise.clock_length( 0x20 );
+ triangle.clock_length( 0x80 ); // different bit for halt flag on triangle
+
+ square1.clock_sweep( -1 );
+ square2.clock_sweep( 0 );
+
+ // frame 2 is slightly shorter in mode 1
+ if ( dmc.pal_mode && frame == 3 )
+ frame_delay -= 2;
+ break;
+
+ case 1:
+ // frame 1 is slightly shorter in mode 0
+ if ( !dmc.pal_mode )
+ frame_delay -= 2;
+ break;
+
+ case 3:
+ frame = 0;
+
+ // frame 3 is almost twice as long in mode 1
+ if ( frame_mode & 0x80 )
+ frame_delay += frame_period - (dmc.pal_mode ? 2 : 6);
+ break;
+ }
+
+ // clock envelopes and linear counter every frame
+ triangle.clock_linear_counter();
+ square1.clock_envelope();
+ square2.clock_envelope();
+ noise.clock_envelope();
+ }
+}
+
+template<class T>
+inline void zero_apu_osc( T* osc, nes_time_t time )
+{
+ Blip_Buffer* output = osc->output;
+ int last_amp = osc->last_amp;
+ osc->last_amp = 0;
+ if ( output && last_amp )
+ osc->synth.offset( time, -last_amp, output );
+}
+
+void Nes_Apu::end_frame( nes_time_t end_time )
+{
+ if ( end_time > last_time )
+ run_until_( end_time );
+
+ if ( dmc.nonlinear )
+ {
+ zero_apu_osc( &square1, last_time );
+ zero_apu_osc( &square2, last_time );
+ zero_apu_osc( &triangle, last_time );
+ zero_apu_osc( &noise, last_time );
+ zero_apu_osc( &dmc, last_time );
+ }
+
+ // make times relative to new frame
+ last_time -= end_time;
+ require( last_time >= 0 );
+
+ last_dmc_time -= end_time;
+ require( last_dmc_time >= 0 );
+
+ if ( next_irq != no_irq ) {
+ next_irq -= end_time;
+ check( next_irq >= 0 );
+ }
+ if ( dmc.next_irq != no_irq ) {
+ dmc.next_irq -= end_time;
+ check( dmc.next_irq >= 0 );
+ }
+ if ( earliest_irq_ != no_irq ) {
+ earliest_irq_ -= end_time;
+ if ( earliest_irq_ < 0 )
+ earliest_irq_ = 0;
+ }
+}
+
+// registers
+
+static const unsigned char length_table [0x20] = {
+ 0x0A, 0xFE, 0x14, 0x02, 0x28, 0x04, 0x50, 0x06,
+ 0xA0, 0x08, 0x3C, 0x0A, 0x0E, 0x0C, 0x1A, 0x0E,
+ 0x0C, 0x10, 0x18, 0x12, 0x30, 0x14, 0x60, 0x16,
+ 0xC0, 0x18, 0x48, 0x1A, 0x10, 0x1C, 0x20, 0x1E
+};
+
+void Nes_Apu::write_register( nes_time_t time, nes_addr_t addr, int data )
+{
+ require( addr > 0x20 ); // addr must be actual address (i.e. 0x40xx)
+ require( (unsigned) data <= 0xFF );
+
+ // Ignore addresses outside range
+ if ( unsigned (addr - start_addr) > end_addr - start_addr )
+ return;
+
+ run_until_( time );
+
+ if ( addr < 0x4014 )
+ {
+ // Write to channel
+ int osc_index = (addr - start_addr) >> 2;
+ Nes_Osc* osc = oscs [osc_index];
+
+ int reg = addr & 3;
+ osc->regs [reg] = data;
+ osc->reg_written [reg] = true;
+
+ if ( osc_index == 4 )
+ {
+ // handle DMC specially
+ dmc.write_register( reg, data );
+ }
+ else if ( reg == 3 )
+ {
+ // load length counter
+ if ( (osc_enables >> osc_index) & 1 )
+ osc->length_counter = length_table [(data >> 3) & 0x1F];
+
+ // reset square phase
+ if ( osc_index < 2 )
+ ((Nes_Square*) osc)->phase = Nes_Square::phase_range - 1;
+ }
+ }
+ else if ( addr == 0x4015 )
+ {
+ // Channel enables
+ for ( int i = osc_count; i--; )
+ if ( !((data >> i) & 1) )
+ oscs [i]->length_counter = 0;
+
+ bool recalc_irq = dmc.irq_flag;
+ dmc.irq_flag = false;
+
+ int old_enables = osc_enables;
+ osc_enables = data;
+ if ( !(data & 0x10) ) {
+ dmc.next_irq = no_irq;
+ recalc_irq = true;
+ }
+ else if ( !(old_enables & 0x10) ) {
+ dmc.start(); // dmc just enabled
+ }
+
+ if ( recalc_irq )
+ irq_changed();
+ }
+ else if ( addr == 0x4017 )
+ {
+ // Frame mode
+ frame_mode = data;
+
+ bool irq_enabled = !(data & 0x40);
+ irq_flag &= irq_enabled;
+ next_irq = no_irq;
+
+ // mode 1
+ frame_delay = (frame_delay & 1);
+ frame = 0;
+
+ if ( !(data & 0x80) )
+ {
+ // mode 0
+ frame = 1;
+ frame_delay += frame_period;
+ if ( irq_enabled )
+ next_irq = time + frame_delay + frame_period * 3 + 1;
+ }
+
+ irq_changed();
+ }
+}
+
+int Nes_Apu::read_status( nes_time_t time )
+{
+ run_until_( time - 1 );
+
+ int result = (dmc.irq_flag << 7) | (irq_flag << 6);
+
+ for ( int i = 0; i < osc_count; i++ )
+ if ( oscs [i]->length_counter )
+ result |= 1 << i;
+
+ run_until_( time );
+
+ if ( irq_flag )
+ {
+ result |= 0x40;
+ irq_flag = false;
+ irq_changed();
+ }
+
+ //debug_printf( "%6d/%d Read $4015->$%02X\n", frame_delay, frame, result );
+
+ return result;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Apu.h b/plugins/gme/game-music-emu-svn/gme/Nes_Apu.h
new file mode 100644
index 00000000..5e722248
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Apu.h
@@ -0,0 +1,179 @@
+// NES 2A03 APU sound chip emulator
+
+// Nes_Snd_Emu 0.1.8
+#ifndef NES_APU_H
+#define NES_APU_H
+
+#include "blargg_common.h"
+
+typedef blargg_long nes_time_t; // CPU clock cycle count
+typedef unsigned nes_addr_t; // 16-bit memory address
+
+#include "Nes_Oscs.h"
+
+struct apu_state_t;
+class Nes_Buffer;
+
+class Nes_Apu {
+public:
+ // Set buffer to generate all sound into, or disable sound if NULL
+ void output( Blip_Buffer* );
+
+ // Set memory reader callback used by DMC oscillator to fetch samples.
+ // When callback is invoked, 'user_data' is passed unchanged as the
+ // first parameter.
+ void dmc_reader( int (*callback)( void* user_data, nes_addr_t ), void* user_data = NULL );
+
+ // All time values are the number of CPU clock cycles relative to the
+ // beginning of the current time frame. Before resetting the CPU clock
+ // count, call end_frame( last_cpu_time ).
+
+ // Write to register (0x4000-0x4017, except 0x4014 and 0x4016)
+ enum { start_addr = 0x4000 };
+ enum { end_addr = 0x4017 };
+ void write_register( nes_time_t, nes_addr_t, int data );
+
+ // Read from status register at 0x4015
+ enum { status_addr = 0x4015 };
+ int read_status( nes_time_t );
+
+ // Run all oscillators up to specified time, end current time frame, then
+ // start a new time frame at time 0. Time frames have no effect on emulation
+ // and each can be whatever length is convenient.
+ void end_frame( nes_time_t );
+
+// Additional optional features (can be ignored without any problem)
+
+ // Reset internal frame counter, registers, and all oscillators.
+ // Use PAL timing if pal_timing is true, otherwise use NTSC timing.
+ // Set the DMC oscillator's initial DAC value to initial_dmc_dac without
+ // any audible click.
+ void reset( bool pal_mode = false, int initial_dmc_dac = 0 );
+
+ // Adjust frame period
+ void set_tempo( double );
+
+ // Save/load exact emulation state
+ void save_state( apu_state_t* out ) const;
+ void load_state( apu_state_t const& );
+
+ // Set overall volume (default is 1.0)
+ void volume( double );
+
+ // Set treble equalization (see notes.txt)
+ void treble_eq( const blip_eq_t& );
+
+ // Set sound output of specific oscillator to buffer. If buffer is NULL,
+ // the specified oscillator is muted and emulation accuracy is reduced.
+ // The oscillators are indexed as follows: 0) Square 1, 1) Square 2,
+ // 2) Triangle, 3) Noise, 4) DMC.
+ enum { osc_count = 5 };
+ void osc_output( int index, Blip_Buffer* buffer );
+
+ // Set IRQ time callback that is invoked when the time of earliest IRQ
+ // may have changed, or NULL to disable. When callback is invoked,
+ // 'user_data' is passed unchanged as the first parameter.
+ void irq_notifier( void (*callback)( void* user_data ), void* user_data = NULL );
+
+ // Get time that APU-generated IRQ will occur if no further register reads
+ // or writes occur. If IRQ is already pending, returns irq_waiting. If no
+ // IRQ will occur, returns no_irq.
+ enum { no_irq = INT_MAX / 2 + 1 };
+ enum { irq_waiting = 0 };
+ nes_time_t earliest_irq( nes_time_t ) const;
+
+ // Count number of DMC reads that would occur if 'run_until( t )' were executed.
+ // If last_read is not NULL, set *last_read to the earliest time that
+ // 'count_dmc_reads( time )' would result in the same result.
+ int count_dmc_reads( nes_time_t t, nes_time_t* last_read = NULL ) const;
+
+ // Time when next DMC memory read will occur
+ nes_time_t next_dmc_read_time() const;
+
+ // Run DMC until specified time, so that any DMC memory reads can be
+ // accounted for (i.e. inserting CPU wait states).
+ void run_until( nes_time_t );
+
+public:
+ Nes_Apu();
+ BLARGG_DISABLE_NOTHROW
+private:
+ friend class Nes_Nonlinearizer;
+ void enable_nonlinear( double volume );
+ static double nonlinear_tnd_gain() { return 0.75; }
+private:
+ friend struct Nes_Dmc;
+
+ // noncopyable
+ Nes_Apu( const Nes_Apu& );
+ Nes_Apu& operator = ( const Nes_Apu& );
+
+ Nes_Osc* oscs [osc_count];
+ Nes_Square square1;
+ Nes_Square square2;
+ Nes_Noise noise;
+ Nes_Triangle triangle;
+ Nes_Dmc dmc;
+
+ double tempo_;
+ nes_time_t last_time; // has been run until this time in current frame
+ nes_time_t last_dmc_time;
+ nes_time_t earliest_irq_;
+ nes_time_t next_irq;
+ int frame_period;
+ int frame_delay; // cycles until frame counter runs next
+ int frame; // current frame (0-3)
+ int osc_enables;
+ int frame_mode;
+ bool irq_flag;
+ void (*irq_notifier_)( void* user_data );
+ void* irq_data;
+ Nes_Square::Synth square_synth; // shared by squares
+
+ void irq_changed();
+ void state_restored();
+ void run_until_( nes_time_t );
+
+ // TODO: remove
+ friend class Nes_Core;
+};
+
+inline void Nes_Apu::osc_output( int osc, Blip_Buffer* buf )
+{
+ assert( (unsigned) osc < osc_count );
+ oscs [osc]->output = buf;
+}
+
+inline nes_time_t Nes_Apu::earliest_irq( nes_time_t ) const
+{
+ return earliest_irq_;
+}
+
+inline void Nes_Apu::dmc_reader( int (*func)( void*, nes_addr_t ), void* user_data )
+{
+ dmc.prg_reader_data = user_data;
+ dmc.prg_reader = func;
+}
+
+inline void Nes_Apu::irq_notifier( void (*func)( void* user_data ), void* user_data )
+{
+ irq_notifier_ = func;
+ irq_data = user_data;
+}
+
+inline int Nes_Apu::count_dmc_reads( nes_time_t time, nes_time_t* last_read ) const
+{
+ return dmc.count_reads( time, last_read );
+}
+
+inline nes_time_t Nes_Dmc::next_read_time() const
+{
+ if ( length_counter == 0 )
+ return Nes_Apu::no_irq; // not reading
+
+ return apu->last_dmc_time + delay + long (bits_remain - 1) * period;
+}
+
+inline nes_time_t Nes_Apu::next_dmc_read_time() const { return dmc.next_read_time(); }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Nes_Cpu.cpp
new file mode 100644
index 00000000..864e0dde
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Cpu.cpp
@@ -0,0 +1,1084 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Nes_Cpu.h"
+
+#include "blargg_endian.h"
+#include <limits.h>
+
+#define BLARGG_CPU_X86 1
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+#define FLUSH_TIME() (void) (s.time = s_time)
+#define CACHE_TIME() (void) (s_time = s.time)
+
+#include "nes_cpu_io.h"
+
+#include "blargg_source.h"
+
+#ifndef CPU_DONE
+ #define CPU_DONE( cpu, time, result_out ) { result_out = -1; }
+#endif
+
+#ifndef CPU_READ_PPU
+ #define CPU_READ_PPU( cpu, addr, out, time )\
+ {\
+ FLUSH_TIME();\
+ out = CPU_READ( cpu, addr, time );\
+ CACHE_TIME();\
+ }
+#endif
+
+#if BLARGG_NONPORTABLE
+ #define PAGE_OFFSET( addr ) (addr)
+#else
+ #define PAGE_OFFSET( addr ) ((addr) & (page_size - 1))
+#endif
+
+inline void Nes_Cpu::set_code_page( int i, void const* p )
+{
+ state->code_map [i] = (uint8_t const*) p - PAGE_OFFSET( i * page_size );
+}
+
+int const st_n = 0x80;
+int const st_v = 0x40;
+int const st_r = 0x20;
+int const st_b = 0x10;
+int const st_d = 0x08;
+int const st_i = 0x04;
+int const st_z = 0x02;
+int const st_c = 0x01;
+
+void Nes_Cpu::reset( void const* unmapped_page )
+{
+ check( state == &state_ );
+ state = &state_;
+ r.status = st_i;
+ r.sp = 0xFF;
+ r.pc = 0;
+ r.a = 0;
+ r.x = 0;
+ r.y = 0;
+ state_.time = 0;
+ state_.base = 0;
+ irq_time_ = future_nes_time;
+ end_time_ = future_nes_time;
+ error_count_ = 0;
+
+ assert( page_size == 0x800 ); // assumes this
+ set_code_page( page_count, unmapped_page );
+ map_code( 0x2000, 0xE000, unmapped_page, true );
+ map_code( 0x0000, 0x2000, low_mem, true );
+
+ blargg_verify_byte_order();
+}
+
+void Nes_Cpu::map_code( nes_addr_t start, unsigned size, void const* data, bool mirror )
+{
+ // address range must begin and end on page boundaries
+ require( start % page_size == 0 );
+ require( size % page_size == 0 );
+ require( start + size <= 0x10000 );
+
+ unsigned page = start / page_size;
+ for ( unsigned n = size / page_size; n; --n )
+ {
+ set_code_page( page++, data );
+ if ( !mirror )
+ data = (char const*) data + page_size;
+ }
+}
+
+#define TIME (s_time + s.base)
+#define READ_LIKELY_PPU( addr, out ) {CPU_READ_PPU( this, (addr), out, TIME );}
+#define READ( addr ) CPU_READ( this, (addr), TIME )
+#define WRITE( addr, data ) {CPU_WRITE( this, (addr), (data), TIME );}
+#define READ_LOW( addr ) (low_mem [int (addr)])
+#define WRITE_LOW( addr, data ) (void) (READ_LOW( addr ) = (data))
+#define READ_PROG( addr ) (s.code_map [(addr) >> page_bits] [PAGE_OFFSET( addr )])
+
+#define SET_SP( v ) (sp = ((v) + 1) | 0x100)
+#define GET_SP() ((sp - 1) & 0xFF)
+#define PUSH( v ) ((sp = (sp - 1) | 0x100), WRITE_LOW( sp, v ))
+
+// even on x86, using short and unsigned char was slower
+typedef int fint16;
+typedef unsigned fuint16;
+typedef unsigned fuint8;
+
+bool Nes_Cpu::run( nes_time_t end_time )
+{
+ set_end_time( end_time );
+ state_t s = this->state_;
+ this->state = &s;
+ // even on x86, using s.time in place of s_time was slower
+ fint16 s_time = s.time;
+
+ // registers
+ fuint16 pc = r.pc;
+ fuint8 a = r.a;
+ fuint8 x = r.x;
+ fuint8 y = r.y;
+ fuint16 sp;
+ SET_SP( r.sp );
+
+ // status flags
+ #define IS_NEG (nz & 0x8080)
+
+ #define CALC_STATUS( out ) do {\
+ out = status & (st_v | st_d | st_i);\
+ out |= ((nz >> 8) | nz) & st_n;\
+ out |= c >> 8 & st_c;\
+ if ( !(nz & 0xFF) ) out |= st_z;\
+ } while ( 0 )
+
+ #define SET_STATUS( in ) do {\
+ status = in & (st_v | st_d | st_i);\
+ nz = in << 8;\
+ c = nz;\
+ nz |= ~in & st_z;\
+ } while ( 0 )
+
+ fuint8 status;
+ fuint16 c; // carry set if (c & 0x100) != 0
+ fuint16 nz; // Z set if (nz & 0xFF) == 0, N set if (nz & 0x8080) != 0
+ {
+ fuint8 temp = r.status;
+ SET_STATUS( temp );
+ }
+
+ goto loop;
+dec_clock_loop:
+ s_time--;
+loop:
+
+ check( (unsigned) GET_SP() < 0x100 );
+ check( (unsigned) pc < 0x10000 );
+ check( (unsigned) a < 0x100 );
+ check( (unsigned) x < 0x100 );
+ check( (unsigned) y < 0x100 );
+ check( -32768 <= s_time && s_time < 32767 );
+
+ uint8_t const* instr = s.code_map [pc >> page_bits];
+ fuint8 opcode;
+
+ // TODO: eliminate this special case
+ #if BLARGG_NONPORTABLE
+ opcode = instr [pc];
+ pc++;
+ instr += pc;
+ #else
+ instr += PAGE_OFFSET( pc );
+ opcode = *instr++;
+ pc++;
+ #endif
+
+ static uint8_t const clock_table [256] =
+ {// 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 0,6,2,8,3,3,5,5,3,2,2,2,4,4,6,6,// 0
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 1
+ 6,6,2,8,3,3,5,5,4,2,2,2,4,4,6,6,// 2
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 3
+ 6,6,2,8,3,3,5,5,3,2,2,2,3,4,6,6,// 4
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 5
+ 6,6,2,8,3,3,5,5,4,2,2,2,5,4,6,6,// 6
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 7
+ 2,6,2,6,3,3,3,3,2,2,2,2,4,4,4,4,// 8
+ 3,6,2,6,4,4,4,4,2,5,2,5,5,5,5,5,// 9
+ 2,6,2,6,3,3,3,3,2,2,2,2,4,4,4,4,// A
+ 3,5,2,5,4,4,4,4,2,4,2,4,4,4,4,4,// B
+ 2,6,2,8,3,3,5,5,2,2,2,2,4,4,6,6,// C
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// D
+ 2,6,2,8,3,3,5,5,2,2,2,2,4,4,6,6,// E
+ 3,5,0,8,4,4,6,6,2,4,2,7,4,4,7,7 // F
+ }; // 0x00 was 7 and 0xF2 was 2
+
+ fuint16 data;
+
+#if !BLARGG_CPU_X86
+ if ( s_time >= 0 )
+ goto out_of_time;
+ s_time += clock_table [opcode];
+
+ data = *instr;
+
+ switch ( opcode )
+ {
+#else
+
+ data = clock_table [opcode];
+ if ( (s_time += data) >= 0 )
+ goto possibly_out_of_time;
+almost_out_of_time:
+
+ data = *instr;
+
+ switch ( opcode )
+ {
+possibly_out_of_time:
+ if ( s_time < (int) data )
+ goto almost_out_of_time;
+ s_time -= data;
+ goto out_of_time;
+#endif
+
+// Macros
+
+#define GET_MSB() (instr [1])
+#define ADD_PAGE() (pc++, data += 0x100 * GET_MSB())
+#define GET_ADDR() GET_LE16( instr )
+
+#define NO_PAGE_CROSSING( lsb )
+#define HANDLE_PAGE_CROSSING( lsb ) s_time += (lsb) >> 8;
+
+#define INC_DEC_XY( reg, n ) reg = uint8_t (nz = reg + n); goto loop;
+
+#define IND_Y( cross, out ) {\
+ fuint16 temp = READ_LOW( data ) + y;\
+ out = temp + 0x100 * READ_LOW( uint8_t (data + 1) );\
+ cross( temp );\
+ }
+
+#define IND_X( out ) {\
+ fuint16 temp = data + x;\
+ out = 0x100 * READ_LOW( uint8_t (temp + 1) ) + READ_LOW( uint8_t (temp) );\
+ }
+
+#define ARITH_ADDR_MODES( op )\
+case op - 0x04: /* (ind,x) */\
+ IND_X( data )\
+ goto ptr##op;\
+case op + 0x0C: /* (ind),y */\
+ IND_Y( HANDLE_PAGE_CROSSING, data )\
+ goto ptr##op;\
+case op + 0x10: /* zp,X */\
+ data = uint8_t (data + x);\
+case op + 0x00: /* zp */\
+ data = READ_LOW( data );\
+ goto imm##op;\
+case op + 0x14: /* abs,Y */\
+ data += y;\
+ goto ind##op;\
+case op + 0x18: /* abs,X */\
+ data += x;\
+ind##op:\
+ HANDLE_PAGE_CROSSING( data );\
+case op + 0x08: /* abs */\
+ ADD_PAGE();\
+ptr##op:\
+ FLUSH_TIME();\
+ data = READ( data );\
+ CACHE_TIME();\
+case op + 0x04: /* imm */\
+imm##op:
+
+// TODO: more efficient way to handle negative branch that wraps PC around
+#define BRANCH( cond )\
+{\
+ fint16 offset = (BOOST::int8_t) data;\
+ fuint16 extra_clock = (++pc & 0xFF) + offset;\
+ if ( !(cond) ) goto dec_clock_loop;\
+ pc = BOOST::uint16_t (pc + offset);\
+ s_time += extra_clock >> 8 & 1;\
+ goto loop;\
+}
+
+// Often-Used
+
+ case 0xB5: // LDA zp,x
+ a = nz = READ_LOW( uint8_t (data + x) );
+ pc++;
+ goto loop;
+
+ case 0xA5: // LDA zp
+ a = nz = READ_LOW( data );
+ pc++;
+ goto loop;
+
+ case 0xD0: // BNE
+ BRANCH( (uint8_t) nz );
+
+ case 0x20: { // JSR
+ fuint16 temp = pc + 1;
+ pc = GET_ADDR();
+ WRITE_LOW( 0x100 | (sp - 1), temp >> 8 );
+ sp = (sp - 2) | 0x100;
+ WRITE_LOW( sp, temp );
+ goto loop;
+ }
+
+ case 0x4C: // JMP abs
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0xE8: // INX
+ INC_DEC_XY( x, 1 )
+
+ case 0x10: // BPL
+ BRANCH( !IS_NEG )
+
+ ARITH_ADDR_MODES( 0xC5 ) // CMP
+ nz = a - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ case 0x30: // BMI
+ BRANCH( IS_NEG )
+
+ case 0xF0: // BEQ
+ BRANCH( !(uint8_t) nz );
+
+ case 0x95: // STA zp,x
+ data = uint8_t (data + x);
+ case 0x85: // STA zp
+ pc++;
+ WRITE_LOW( data, a );
+ goto loop;
+
+ case 0xC8: // INY
+ INC_DEC_XY( y, 1 )
+
+ case 0xA8: // TAY
+ y = a;
+ nz = a;
+ goto loop;
+
+ case 0x98: // TYA
+ a = y;
+ nz = y;
+ goto loop;
+
+ case 0xAD:{// LDA abs
+ unsigned addr = GET_ADDR();
+ pc += 2;
+ READ_LIKELY_PPU( addr, nz );
+ a = nz;
+ goto loop;
+ }
+
+ case 0x60: // RTS
+ pc = 1 + READ_LOW( sp );
+ pc += 0x100 * READ_LOW( 0x100 | (sp - 0xFF) );
+ sp = (sp - 0xFE) | 0x100;
+ goto loop;
+
+ {
+ fuint16 addr;
+
+ case 0x99: // STA abs,Y
+ addr = y + GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, a );
+ goto loop;
+ }
+ goto sta_ptr;
+
+ case 0x8D: // STA abs
+ addr = GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, a );
+ goto loop;
+ }
+ goto sta_ptr;
+
+ case 0x9D: // STA abs,X (slightly more common than STA abs)
+ addr = x + GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, a );
+ goto loop;
+ }
+ sta_ptr:
+ FLUSH_TIME();
+ WRITE( addr, a );
+ CACHE_TIME();
+ goto loop;
+
+ case 0x91: // STA (ind),Y
+ IND_Y( NO_PAGE_CROSSING, addr )
+ pc++;
+ goto sta_ptr;
+
+ case 0x81: // STA (ind,X)
+ IND_X( addr )
+ pc++;
+ goto sta_ptr;
+
+ }
+
+ case 0xA9: // LDA #imm
+ pc++;
+ a = data;
+ nz = data;
+ goto loop;
+
+ // common read instructions
+ {
+ fuint16 addr;
+
+ case 0xA1: // LDA (ind,X)
+ IND_X( addr )
+ pc++;
+ goto a_nz_read_addr;
+
+ case 0xB1:// LDA (ind),Y
+ addr = READ_LOW( data ) + y;
+ HANDLE_PAGE_CROSSING( addr );
+ addr += 0x100 * READ_LOW( (uint8_t) (data + 1) );
+ pc++;
+ a = nz = READ_PROG( addr );
+ if ( (addr ^ 0x8000) <= 0x9FFF )
+ goto loop;
+ goto a_nz_read_addr;
+
+ case 0xB9: // LDA abs,Y
+ HANDLE_PAGE_CROSSING( data + y );
+ addr = GET_ADDR() + y;
+ pc += 2;
+ a = nz = READ_PROG( addr );
+ if ( (addr ^ 0x8000) <= 0x9FFF )
+ goto loop;
+ goto a_nz_read_addr;
+
+ case 0xBD: // LDA abs,X
+ HANDLE_PAGE_CROSSING( data + x );
+ addr = GET_ADDR() + x;
+ pc += 2;
+ a = nz = READ_PROG( addr );
+ if ( (addr ^ 0x8000) <= 0x9FFF )
+ goto loop;
+ a_nz_read_addr:
+ FLUSH_TIME();
+ a = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+
+ }
+
+// Branch
+
+ case 0x50: // BVC
+ BRANCH( !(status & st_v) )
+
+ case 0x70: // BVS
+ BRANCH( status & st_v )
+
+ case 0xB0: // BCS
+ BRANCH( c & 0x100 )
+
+ case 0x90: // BCC
+ BRANCH( !(c & 0x100) )
+
+// Load/store
+
+ case 0x94: // STY zp,x
+ data = uint8_t (data + x);
+ case 0x84: // STY zp
+ pc++;
+ WRITE_LOW( data, y );
+ goto loop;
+
+ case 0x96: // STX zp,y
+ data = uint8_t (data + y);
+ case 0x86: // STX zp
+ pc++;
+ WRITE_LOW( data, x );
+ goto loop;
+
+ case 0xB6: // LDX zp,y
+ data = uint8_t (data + y);
+ case 0xA6: // LDX zp
+ data = READ_LOW( data );
+ case 0xA2: // LDX #imm
+ pc++;
+ x = data;
+ nz = data;
+ goto loop;
+
+ case 0xB4: // LDY zp,x
+ data = uint8_t (data + x);
+ case 0xA4: // LDY zp
+ data = READ_LOW( data );
+ case 0xA0: // LDY #imm
+ pc++;
+ y = data;
+ nz = data;
+ goto loop;
+
+ case 0xBC: // LDY abs,X
+ data += x;
+ HANDLE_PAGE_CROSSING( data );
+ case 0xAC:{// LDY abs
+ unsigned addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ FLUSH_TIME();
+ y = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ case 0xBE: // LDX abs,y
+ data += y;
+ HANDLE_PAGE_CROSSING( data );
+ case 0xAE:{// LDX abs
+ unsigned addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ FLUSH_TIME();
+ x = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ {
+ fuint8 temp;
+ case 0x8C: // STY abs
+ temp = y;
+ goto store_abs;
+
+ case 0x8E: // STX abs
+ temp = x;
+ store_abs:
+ unsigned addr = GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, temp );
+ goto loop;
+ }
+ FLUSH_TIME();
+ WRITE( addr, temp );
+ CACHE_TIME();
+ goto loop;
+ }
+
+// Compare
+
+ case 0xEC:{// CPX abs
+ unsigned addr = GET_ADDR();
+ pc++;
+ FLUSH_TIME();
+ data = READ( addr );
+ CACHE_TIME();
+ goto cpx_data;
+ }
+
+ case 0xE4: // CPX zp
+ data = READ_LOW( data );
+ case 0xE0: // CPX #imm
+ cpx_data:
+ nz = x - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ case 0xCC:{// CPY abs
+ unsigned addr = GET_ADDR();
+ pc++;
+ FLUSH_TIME();
+ data = READ( addr );
+ CACHE_TIME();
+ goto cpy_data;
+ }
+
+ case 0xC4: // CPY zp
+ data = READ_LOW( data );
+ case 0xC0: // CPY #imm
+ cpy_data:
+ nz = y - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+// Logical
+
+ ARITH_ADDR_MODES( 0x25 ) // AND
+ nz = (a &= data);
+ pc++;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x45 ) // EOR
+ nz = (a ^= data);
+ pc++;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x05 ) // ORA
+ nz = (a |= data);
+ pc++;
+ goto loop;
+
+ case 0x2C:{// BIT abs
+ unsigned addr = GET_ADDR();
+ pc += 2;
+ status &= ~st_v;
+ READ_LIKELY_PPU( addr, nz );
+ status |= nz & st_v;
+ if ( a & nz )
+ goto loop;
+ nz <<= 8; // result must be zero, even if N bit is set
+ goto loop;
+ }
+
+ case 0x24: // BIT zp
+ nz = READ_LOW( data );
+ pc++;
+ status &= ~st_v;
+ status |= nz & st_v;
+ if ( a & nz )
+ goto loop;
+ nz <<= 8; // result must be zero, even if N bit is set
+ goto loop;
+
+// Add/subtract
+
+ ARITH_ADDR_MODES( 0xE5 ) // SBC
+ case 0xEB: // unofficial equivalent
+ data ^= 0xFF;
+ goto adc_imm;
+
+ ARITH_ADDR_MODES( 0x65 ) // ADC
+ adc_imm: {
+ fint16 carry = c >> 8 & 1;
+ fint16 ov = (a ^ 0x80) + carry + (BOOST::int8_t) data; // sign-extend
+ status &= ~st_v;
+ status |= ov >> 2 & 0x40;
+ c = nz = a + data + carry;
+ pc++;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+// Shift/rotate
+
+ case 0x4A: // LSR A
+ c = 0;
+ case 0x6A: // ROR A
+ nz = c >> 1 & 0x80;
+ c = a << 8;
+ nz |= a >> 1;
+ a = nz;
+ goto loop;
+
+ case 0x0A: // ASL A
+ nz = a << 1;
+ c = nz;
+ a = (uint8_t) nz;
+ goto loop;
+
+ case 0x2A: { // ROL A
+ nz = a << 1;
+ fint16 temp = c >> 8 & 1;
+ c = nz;
+ nz |= temp;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+ case 0x5E: // LSR abs,X
+ data += x;
+ case 0x4E: // LSR abs
+ c = 0;
+ case 0x6E: // ROR abs
+ ror_abs: {
+ ADD_PAGE();
+ FLUSH_TIME();
+ int temp = READ( data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ goto rotate_common;
+ }
+
+ case 0x3E: // ROL abs,X
+ data += x;
+ goto rol_abs;
+
+ case 0x1E: // ASL abs,X
+ data += x;
+ case 0x0E: // ASL abs
+ c = 0;
+ case 0x2E: // ROL abs
+ rol_abs:
+ ADD_PAGE();
+ nz = c >> 8 & 1;
+ FLUSH_TIME();
+ nz |= (c = READ( data ) << 1);
+ rotate_common:
+ pc++;
+ WRITE( data, (uint8_t) nz );
+ CACHE_TIME();
+ goto loop;
+
+ case 0x7E: // ROR abs,X
+ data += x;
+ goto ror_abs;
+
+ case 0x76: // ROR zp,x
+ data = uint8_t (data + x);
+ goto ror_zp;
+
+ case 0x56: // LSR zp,x
+ data = uint8_t (data + x);
+ case 0x46: // LSR zp
+ c = 0;
+ case 0x66: // ROR zp
+ ror_zp: {
+ int temp = READ_LOW( data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ goto write_nz_zp;
+ }
+
+ case 0x36: // ROL zp,x
+ data = uint8_t (data + x);
+ goto rol_zp;
+
+ case 0x16: // ASL zp,x
+ data = uint8_t (data + x);
+ case 0x06: // ASL zp
+ c = 0;
+ case 0x26: // ROL zp
+ rol_zp:
+ nz = c >> 8 & 1;
+ nz |= (c = READ_LOW( data ) << 1);
+ goto write_nz_zp;
+
+// Increment/decrement
+
+ case 0xCA: // DEX
+ INC_DEC_XY( x, -1 )
+
+ case 0x88: // DEY
+ INC_DEC_XY( y, -1 )
+
+ case 0xF6: // INC zp,x
+ data = uint8_t (data + x);
+ case 0xE6: // INC zp
+ nz = 1;
+ goto add_nz_zp;
+
+ case 0xD6: // DEC zp,x
+ data = uint8_t (data + x);
+ case 0xC6: // DEC zp
+ nz = (unsigned) -1;
+ add_nz_zp:
+ nz += READ_LOW( data );
+ write_nz_zp:
+ pc++;
+ WRITE_LOW( data, nz );
+ goto loop;
+
+ case 0xFE: // INC abs,x
+ data = x + GET_ADDR();
+ goto inc_ptr;
+
+ case 0xEE: // INC abs
+ data = GET_ADDR();
+ inc_ptr:
+ nz = 1;
+ goto inc_common;
+
+ case 0xDE: // DEC abs,x
+ data = x + GET_ADDR();
+ goto dec_ptr;
+
+ case 0xCE: // DEC abs
+ data = GET_ADDR();
+ dec_ptr:
+ nz = (unsigned) -1;
+ inc_common:
+ FLUSH_TIME();
+ nz += READ( data );
+ pc += 2;
+ WRITE( data, (uint8_t) nz );
+ CACHE_TIME();
+ goto loop;
+
+// Transfer
+
+ case 0xAA: // TAX
+ x = a;
+ nz = a;
+ goto loop;
+
+ case 0x8A: // TXA
+ a = x;
+ nz = x;
+ goto loop;
+
+ case 0x9A: // TXS
+ SET_SP( x ); // verified (no flag change)
+ goto loop;
+
+ case 0xBA: // TSX
+ x = nz = GET_SP();
+ goto loop;
+
+// Stack
+
+ case 0x48: // PHA
+ PUSH( a ); // verified
+ goto loop;
+
+ case 0x68: // PLA
+ a = nz = READ_LOW( sp );
+ sp = (sp - 0xFF) | 0x100;
+ goto loop;
+
+ case 0x40:{// RTI
+ fuint8 temp = READ_LOW( sp );
+ pc = READ_LOW( 0x100 | (sp - 0xFF) );
+ pc |= READ_LOW( 0x100 | (sp - 0xFE) ) * 0x100;
+ sp = (sp - 0xFD) | 0x100;
+ data = status;
+ SET_STATUS( temp );
+ if ( !((data ^ status) & st_i) ) goto loop; // I flag didn't change
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - irq_time_;
+ if ( delta <= 0 ) goto loop;
+ if ( status & st_i ) goto loop;
+ s_time += delta;
+ s.base = irq_time_;
+ goto loop;
+ }
+
+ case 0x28:{// PLP
+ fuint8 temp = READ_LOW( sp );
+ sp = (sp - 0xFF) | 0x100;
+ fuint8 changed = status ^ temp;
+ SET_STATUS( temp );
+ if ( !(changed & st_i) )
+ goto loop; // I flag didn't change
+ if ( status & st_i )
+ goto handle_sei;
+ goto handle_cli;
+ }
+
+ case 0x08: { // PHP
+ fuint8 temp;
+ CALC_STATUS( temp );
+ PUSH( temp | (st_b | st_r) );
+ goto loop;
+ }
+
+ case 0x6C:{// JMP (ind)
+ data = GET_ADDR();
+ check( unsigned (data - 0x2000) >= 0x4000 ); // ensure it's outside I/O space
+ uint8_t const* page = s.code_map [data >> page_bits];
+ pc = page [PAGE_OFFSET( data )];
+ data = (data & 0xFF00) | ((data + 1) & 0xFF);
+ pc |= page [PAGE_OFFSET( data )] << 8;
+ goto loop;
+ }
+
+ case 0x00: // BRK
+ goto handle_brk;
+
+// Flags
+
+ case 0x38: // SEC
+ c = (unsigned) ~0;
+ goto loop;
+
+ case 0x18: // CLC
+ c = 0;
+ goto loop;
+
+ case 0xB8: // CLV
+ status &= ~st_v;
+ goto loop;
+
+ case 0xD8: // CLD
+ status &= ~st_d;
+ goto loop;
+
+ case 0xF8: // SED
+ status |= st_d;
+ goto loop;
+
+ case 0x58: // CLI
+ if ( !(status & st_i) )
+ goto loop;
+ status &= ~st_i;
+ handle_cli: {
+ //debug_printf( "CLI at %d\n", TIME );
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - irq_time_;
+ if ( delta <= 0 )
+ {
+ if ( TIME < irq_time_ )
+ goto loop;
+ goto delayed_cli;
+ }
+ s.base = irq_time_;
+ s_time += delta;
+ if ( s_time < 0 )
+ goto loop;
+
+ if ( delta >= s_time + 1 )
+ {
+ s.base += s_time + 1;
+ s_time = -1;
+ goto loop;
+ }
+
+ // TODO: implement
+ delayed_cli:
+ debug_printf( "Delayed CLI not emulated\n" );
+ goto loop;
+ }
+
+ case 0x78: // SEI
+ if ( status & st_i )
+ goto loop;
+ status |= st_i;
+ handle_sei: {
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - end_time_;
+ s.base = end_time_;
+ s_time += delta;
+ if ( s_time < 0 )
+ goto loop;
+
+ debug_printf( "Delayed SEI not emulated\n" );
+ goto loop;
+ }
+
+// Unofficial
+
+ // SKW - Skip word
+ case 0x1C: case 0x3C: case 0x5C: case 0x7C: case 0xDC: case 0xFC:
+ HANDLE_PAGE_CROSSING( data + x );
+ case 0x0C:
+ pc++;
+ // SKB - Skip byte
+ case 0x74: case 0x04: case 0x14: case 0x34: case 0x44: case 0x54: case 0x64:
+ case 0x80: case 0x82: case 0x89: case 0xC2: case 0xD4: case 0xE2: case 0xF4:
+ pc++;
+ goto loop;
+
+ // NOP
+ case 0xEA: case 0x1A: case 0x3A: case 0x5A: case 0x7A: case 0xDA: case 0xFA:
+ goto loop;
+
+ case bad_opcode: // HLT
+ pc--;
+ if ( pc > 0xFFFF )
+ {
+ // handle wrap-around (assumes caller has put page of HLT at 0x10000)
+ pc &= 0xFFFF;
+ goto loop;
+ }
+ case 0x02: case 0x12: case 0x22: case 0x32: case 0x42: case 0x52:
+ case 0x62: case 0x72: case 0x92: case 0xB2: case 0xD2:
+ goto stop;
+
+// Unimplemented
+
+ case 0xFF: // force 256-entry jump table for optimization purposes
+ c |= 1;
+ default:
+ check( (unsigned) opcode <= 0xFF );
+ // skip over proper number of bytes
+ static unsigned char const illop_lens [8] = {
+ 0x40, 0x40, 0x40, 0x80, 0x40, 0x40, 0x80, 0xA0
+ };
+ fuint8 opcode = instr [-1];
+ fint16 len = illop_lens [opcode >> 2 & 7] >> (opcode << 1 & 6) & 3;
+ if ( opcode == 0x9C )
+ len = 2;
+ pc += len;
+ error_count_++;
+
+ if ( (opcode >> 4) == 0x0B )
+ {
+ if ( opcode == 0xB3 )
+ data = READ_LOW( data );
+ if ( opcode != 0xB7 )
+ HANDLE_PAGE_CROSSING( data + y );
+ }
+ goto loop;
+ }
+ assert( false );
+
+ int result_;
+handle_brk:
+ pc++;
+ result_ = 4;
+
+interrupt:
+ {
+ s_time += 7;
+
+ WRITE_LOW( 0x100 | (sp - 1), pc >> 8 );
+ WRITE_LOW( 0x100 | (sp - 2), pc );
+ pc = GET_LE16( &READ_PROG( 0xFFFA ) + result_ );
+
+ sp = (sp - 3) | 0x100;
+ fuint8 temp;
+ CALC_STATUS( temp );
+ temp |= st_r;
+ if ( result_ )
+ temp |= st_b; // TODO: incorrectly sets B flag for IRQ
+ WRITE_LOW( sp, temp );
+
+ this->r.status = status |= st_i;
+ blargg_long delta = s.base - end_time_;
+ if ( delta >= 0 ) goto loop;
+ s_time += delta;
+ s.base = end_time_;
+ goto loop;
+ }
+
+out_of_time:
+ pc--;
+ FLUSH_TIME();
+ CPU_DONE( this, TIME, result_ );
+ CACHE_TIME();
+ if ( result_ >= 0 )
+ goto interrupt;
+ if ( s_time < 0 )
+ goto loop;
+
+stop:
+
+ s.time = s_time;
+
+ r.pc = pc;
+ r.sp = GET_SP();
+ r.a = a;
+ r.x = x;
+ r.y = y;
+
+ {
+ fuint8 temp;
+ CALC_STATUS( temp );
+ r.status = temp;
+ }
+
+ this->state_ = s;
+ this->state = &this->state_;
+
+ return s_time < 0;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Nes_Cpu.h
new file mode 100644
index 00000000..694296f7
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Cpu.h
@@ -0,0 +1,114 @@
+// NES 6502 CPU emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef NES_CPU_H
+#define NES_CPU_H
+
+#include "blargg_common.h"
+
+typedef blargg_long nes_time_t; // clock cycle count
+typedef unsigned nes_addr_t; // 16-bit address
+enum { future_nes_time = INT_MAX / 2 + 1 };
+
+class Nes_Cpu {
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+ // Clear registers, map low memory and its three mirrors to address 0,
+ // and mirror unmapped_page in remaining memory
+ void reset( void const* unmapped_page = 0 );
+
+ // Map code memory (memory accessed via the program counter). Start and size
+ // must be multiple of page_size. If mirror is true, repeats code page
+ // throughout address range.
+ enum { page_size = 0x800 };
+ void map_code( nes_addr_t start, unsigned size, void const* code, bool mirror = false );
+
+ // Access emulated memory as CPU does
+ uint8_t const* get_code( nes_addr_t );
+
+ // 2KB of RAM at address 0
+ uint8_t low_mem [0x800];
+
+ // NES 6502 registers. Not kept updated during a call to run().
+ struct registers_t {
+ BOOST::uint16_t pc;
+ BOOST::uint8_t a;
+ BOOST::uint8_t x;
+ BOOST::uint8_t y;
+ BOOST::uint8_t status;
+ BOOST::uint8_t sp;
+ };
+ registers_t r;
+
+ // Set end_time and run CPU from current time. Returns true if execution
+ // stopped due to encountering bad_opcode.
+ bool run( nes_time_t end_time );
+
+ // Time of beginning of next instruction to be executed
+ nes_time_t time() const { return state->time + state->base; }
+ void set_time( nes_time_t t ) { state->time = t - state->base; }
+ void adjust_time( int delta ) { state->time += delta; }
+
+ nes_time_t irq_time() const { return irq_time_; }
+ void set_irq_time( nes_time_t );
+
+ nes_time_t end_time() const { return end_time_; }
+ void set_end_time( nes_time_t );
+
+ // Number of undefined instructions encountered and skipped
+ void clear_error_count() { error_count_ = 0; }
+ unsigned long error_count() const { return error_count_; }
+
+ // CPU invokes bad opcode handler if it encounters this
+ enum { bad_opcode = 0xF2 };
+
+public:
+ Nes_Cpu() { state = &state_; }
+ enum { page_bits = 11 };
+ enum { page_count = 0x10000 >> page_bits };
+ enum { irq_inhibit = 0x04 };
+private:
+ struct state_t {
+ uint8_t const* code_map [page_count + 1];
+ nes_time_t base;
+ int time;
+ };
+ state_t* state; // points to state_ or a local copy within run()
+ state_t state_;
+ nes_time_t irq_time_;
+ nes_time_t end_time_;
+ unsigned long error_count_;
+
+ void set_code_page( int, void const* );
+ inline int update_end_time( nes_time_t end, nes_time_t irq );
+};
+
+inline BOOST::uint8_t const* Nes_Cpu::get_code( nes_addr_t addr )
+{
+ return state->code_map [addr >> page_bits] + addr
+ #if !BLARGG_NONPORTABLE
+ % (unsigned) page_size
+ #endif
+ ;
+}
+
+inline int Nes_Cpu::update_end_time( nes_time_t t, nes_time_t irq )
+{
+ if ( irq < t && !(r.status & irq_inhibit) ) t = irq;
+ int delta = state->base - t;
+ state->base = t;
+ return delta;
+}
+
+inline void Nes_Cpu::set_irq_time( nes_time_t t )
+{
+ state->time += update_end_time( end_time_, (irq_time_ = t) );
+}
+
+inline void Nes_Cpu::set_end_time( nes_time_t t )
+{
+ state->time += update_end_time( (end_time_ = t), irq_time_ );
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.cpp
new file mode 100644
index 00000000..62594fc2
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.cpp
@@ -0,0 +1,121 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Nes_Fme7_Apu.h"
+
+#include <string.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+void Nes_Fme7_Apu::reset()
+{
+ last_time = 0;
+
+ for ( int i = 0; i < osc_count; i++ )
+ oscs [i].last_amp = 0;
+
+ fme7_apu_state_t* state = this;
+ memset( state, 0, sizeof *state );
+}
+
+unsigned char const Nes_Fme7_Apu::amp_table [16] =
+{
+ #define ENTRY( n ) (unsigned char) (n * amp_range + 0.5)
+ ENTRY(0.0000), ENTRY(0.0078), ENTRY(0.0110), ENTRY(0.0156),
+ ENTRY(0.0221), ENTRY(0.0312), ENTRY(0.0441), ENTRY(0.0624),
+ ENTRY(0.0883), ENTRY(0.1249), ENTRY(0.1766), ENTRY(0.2498),
+ ENTRY(0.3534), ENTRY(0.4998), ENTRY(0.7070), ENTRY(1.0000)
+ #undef ENTRY
+};
+
+void Nes_Fme7_Apu::run_until( blip_time_t end_time )
+{
+ require( end_time >= last_time );
+
+ for ( int index = 0; index < osc_count; index++ )
+ {
+ int mode = regs [7] >> index;
+ int vol_mode = regs [010 + index];
+ int volume = amp_table [vol_mode & 0x0F];
+
+ Blip_Buffer* const osc_output = oscs [index].output;
+ if ( !osc_output )
+ continue;
+ osc_output->set_modified();
+
+ // check for unsupported mode
+ #ifndef NDEBUG
+ if ( (mode & 011) <= 001 && vol_mode & 0x1F )
+ debug_printf( "FME7 used unimplemented sound mode: %02X, vol_mode: %02X\n",
+ mode, vol_mode & 0x1F );
+ #endif
+
+ if ( (mode & 001) | (vol_mode & 0x10) )
+ volume = 0; // noise and envelope aren't supported
+
+ // period
+ int const period_factor = 16;
+ unsigned period = (regs [index * 2 + 1] & 0x0F) * 0x100 * period_factor +
+ regs [index * 2] * period_factor;
+ if ( period < 50 ) // around 22 kHz
+ {
+ volume = 0;
+ if ( !period ) // on my AY-3-8910A, period doesn't have extra one added
+ period = period_factor;
+ }
+
+ // current amplitude
+ int amp = volume;
+ if ( !phases [index] )
+ amp = 0;
+ {
+ int delta = amp - oscs [index].last_amp;
+ if ( delta )
+ {
+ oscs [index].last_amp = amp;
+ synth.offset( last_time, delta, osc_output );
+ }
+ }
+
+ blip_time_t time = last_time + delays [index];
+ if ( time < end_time )
+ {
+ int delta = amp * 2 - volume;
+ if ( volume )
+ {
+ do
+ {
+ delta = -delta;
+ synth.offset_inline( time, delta, osc_output );
+ time += period;
+ }
+ while ( time < end_time );
+
+ oscs [index].last_amp = (delta + volume) >> 1;
+ phases [index] = (delta > 0);
+ }
+ else
+ {
+ // maintain phase when silent
+ int count = (end_time - time + period - 1) / period;
+ phases [index] ^= count & 1;
+ time += (blargg_long) count * period;
+ }
+ }
+
+ delays [index] = time - end_time;
+ }
+
+ last_time = end_time;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.h b/plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.h
new file mode 100644
index 00000000..97094897
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Fme7_Apu.h
@@ -0,0 +1,131 @@
+// Sunsoft FME-7 sound emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef NES_FME7_APU_H
+#define NES_FME7_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+struct fme7_apu_state_t
+{
+ enum { reg_count = 14 };
+ BOOST::uint8_t regs [reg_count];
+ BOOST::uint8_t phases [3]; // 0 or 1
+ BOOST::uint8_t latch;
+ BOOST::uint16_t delays [3]; // a, b, c
+};
+
+class Nes_Fme7_Apu : private fme7_apu_state_t {
+public:
+ // See Nes_Apu.h for reference
+ void reset();
+ void volume( double );
+ void treble_eq( blip_eq_t const& );
+ void output( Blip_Buffer* );
+ enum { osc_count = 3 };
+ void osc_output( int index, Blip_Buffer* );
+ void end_frame( blip_time_t );
+ void save_state( fme7_apu_state_t* ) const;
+ void load_state( fme7_apu_state_t const& );
+
+ // Mask and addresses of registers
+ enum { addr_mask = 0xE000 };
+ enum { data_addr = 0xE000 };
+ enum { latch_addr = 0xC000 };
+
+ // (addr & addr_mask) == latch_addr
+ void write_latch( int );
+
+ // (addr & addr_mask) == data_addr
+ void write_data( blip_time_t, int data );
+
+public:
+ Nes_Fme7_Apu();
+ BLARGG_DISABLE_NOTHROW
+private:
+ // noncopyable
+ Nes_Fme7_Apu( const Nes_Fme7_Apu& );
+ Nes_Fme7_Apu& operator = ( const Nes_Fme7_Apu& );
+
+ static unsigned char const amp_table [16];
+
+ struct {
+ Blip_Buffer* output;
+ int last_amp;
+ } oscs [osc_count];
+ blip_time_t last_time;
+
+ enum { amp_range = 192 }; // can be any value; this gives best error/quality tradeoff
+ Blip_Synth<blip_good_quality,1> synth;
+
+ void run_until( blip_time_t );
+};
+
+inline void Nes_Fme7_Apu::volume( double v )
+{
+ synth.volume( 0.38 / amp_range * v ); // to do: fine-tune
+}
+
+inline void Nes_Fme7_Apu::treble_eq( blip_eq_t const& eq )
+{
+ synth.treble_eq( eq );
+}
+
+inline void Nes_Fme7_Apu::osc_output( int i, Blip_Buffer* buf )
+{
+ assert( (unsigned) i < osc_count );
+ oscs [i].output = buf;
+}
+
+inline void Nes_Fme7_Apu::output( Blip_Buffer* buf )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, buf );
+}
+
+inline Nes_Fme7_Apu::Nes_Fme7_Apu()
+{
+ output( NULL );
+ volume( 1.0 );
+ reset();
+}
+
+inline void Nes_Fme7_Apu::write_latch( int data ) { latch = data; }
+
+inline void Nes_Fme7_Apu::write_data( blip_time_t time, int data )
+{
+ if ( (unsigned) latch >= reg_count )
+ {
+ #ifdef debug_printf
+ debug_printf( "FME7 write to %02X (past end of sound registers)\n", (int) latch );
+ #endif
+ return;
+ }
+
+ run_until( time );
+ regs [latch] = data;
+}
+
+inline void Nes_Fme7_Apu::end_frame( blip_time_t time )
+{
+ if ( time > last_time )
+ run_until( time );
+
+ assert( last_time >= time );
+ last_time -= time;
+}
+
+inline void Nes_Fme7_Apu::save_state( fme7_apu_state_t* out ) const
+{
+ *out = *this;
+}
+
+inline void Nes_Fme7_Apu::load_state( fme7_apu_state_t const& in )
+{
+ reset();
+ fme7_apu_state_t* state = this;
+ *state = in;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.cpp
new file mode 100644
index 00000000..f3235b38
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.cpp
@@ -0,0 +1,145 @@
+// Nes_Snd_Emu 0.1.8. http://www.slack.net/~ant/
+
+#include "Nes_Namco_Apu.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+Nes_Namco_Apu::Nes_Namco_Apu()
+{
+ output( NULL );
+ volume( 1.0 );
+ reset();
+}
+
+void Nes_Namco_Apu::reset()
+{
+ last_time = 0;
+ addr_reg = 0;
+
+ int i;
+ for ( i = 0; i < reg_count; i++ )
+ reg [i] = 0;
+
+ for ( i = 0; i < osc_count; i++ )
+ {
+ Namco_Osc& osc = oscs [i];
+ osc.delay = 0;
+ osc.last_amp = 0;
+ osc.wave_pos = 0;
+ }
+}
+
+void Nes_Namco_Apu::output( Blip_Buffer* buf )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, buf );
+}
+
+/*
+void Nes_Namco_Apu::reflect_state( Tagged_Data& data )
+{
+ reflect_int16( data, BLARGG_4CHAR('A','D','D','R'), &addr_reg );
+
+ static const char hex [17] = "0123456789ABCDEF";
+ int i;
+ for ( i = 0; i < reg_count; i++ )
+ reflect_int16( data, 'RG\0\0' + hex [i >> 4] * 0x100 + hex [i & 15], &reg [i] );
+
+ for ( i = 0; i < osc_count; i++ )
+ {
+ reflect_int32( data, BLARGG_4CHAR('D','L','Y','0') + i, &oscs [i].delay );
+ reflect_int16( data, BLARGG_4CHAR('P','O','S','0') + i, &oscs [i].wave_pos );
+ }
+}
+*/
+
+void Nes_Namco_Apu::end_frame( blip_time_t time )
+{
+ if ( time > last_time )
+ run_until( time );
+
+ assert( last_time >= time );
+ last_time -= time;
+}
+
+void Nes_Namco_Apu::run_until( blip_time_t nes_end_time )
+{
+ int active_oscs = (reg [0x7F] >> 4 & 7) + 1;
+ for ( int i = osc_count - active_oscs; i < osc_count; i++ )
+ {
+ Namco_Osc& osc = oscs [i];
+ Blip_Buffer* output = osc.output;
+ if ( !output )
+ continue;
+ output->set_modified();
+
+ blip_resampled_time_t time =
+ output->resampled_time( last_time ) + osc.delay;
+ blip_resampled_time_t end_time = output->resampled_time( nes_end_time );
+ osc.delay = 0;
+ if ( time < end_time )
+ {
+ const BOOST::uint8_t* osc_reg = &reg [i * 8 + 0x40];
+ if ( !(osc_reg [4] & 0xE0) )
+ continue;
+
+ int volume = osc_reg [7] & 15;
+ if ( !volume )
+ continue;
+
+ blargg_long freq = (osc_reg [4] & 3) * 0x10000 + osc_reg [2] * 0x100L + osc_reg [0];
+ if ( freq < 64 * active_oscs )
+ continue; // prevent low frequencies from excessively delaying freq changes
+ blip_resampled_time_t period =
+ output->resampled_duration( 983040 ) / freq * active_oscs;
+
+ int wave_size = 32 - (osc_reg [4] >> 2 & 7) * 4;
+ if ( !wave_size )
+ continue;
+
+ int last_amp = osc.last_amp;
+ int wave_pos = osc.wave_pos;
+
+ do
+ {
+ // read wave sample
+ int addr = wave_pos + osc_reg [6];
+ int sample = reg [addr >> 1] >> (addr << 2 & 4);
+ wave_pos++;
+ sample = (sample & 15) * volume;
+
+ // output impulse if amplitude changed
+ int delta = sample - last_amp;
+ if ( delta )
+ {
+ last_amp = sample;
+ synth.offset_resampled( time, delta, output );
+ }
+
+ // next sample
+ time += period;
+ if ( wave_pos >= wave_size )
+ wave_pos = 0;
+ }
+ while ( time < end_time );
+
+ osc.wave_pos = wave_pos;
+ osc.last_amp = last_amp;
+ }
+ osc.delay = time - end_time;
+ }
+
+ last_time = nes_end_time;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.h b/plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.h
new file mode 100644
index 00000000..db5fea4b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Namco_Apu.h
@@ -0,0 +1,102 @@
+// Namco 106 sound chip emulator
+
+// Nes_Snd_Emu 0.1.8
+#ifndef NES_NAMCO_APU_H
+#define NES_NAMCO_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+struct namco_state_t;
+
+class Nes_Namco_Apu {
+public:
+ // See Nes_Apu.h for reference.
+ void volume( double );
+ void treble_eq( const blip_eq_t& );
+ void output( Blip_Buffer* );
+ enum { osc_count = 8 };
+ void osc_output( int index, Blip_Buffer* );
+ void reset();
+ void end_frame( blip_time_t );
+
+ // Read/write data register is at 0x4800
+ enum { data_reg_addr = 0x4800 };
+ void write_data( blip_time_t, int );
+ int read_data();
+
+ // Write-only address register is at 0xF800
+ enum { addr_reg_addr = 0xF800 };
+ void write_addr( int );
+
+ // to do: implement save/restore
+ void save_state( namco_state_t* out ) const;
+ void load_state( namco_state_t const& );
+
+public:
+ Nes_Namco_Apu();
+ BLARGG_DISABLE_NOTHROW
+private:
+ // noncopyable
+ Nes_Namco_Apu( const Nes_Namco_Apu& );
+ Nes_Namco_Apu& operator = ( const Nes_Namco_Apu& );
+
+ struct Namco_Osc {
+ blargg_long delay;
+ Blip_Buffer* output;
+ short last_amp;
+ short wave_pos;
+ };
+
+ Namco_Osc oscs [osc_count];
+
+ blip_time_t last_time;
+ int addr_reg;
+
+ enum { reg_count = 0x80 };
+ BOOST::uint8_t reg [reg_count];
+ Blip_Synth<blip_good_quality,15> synth;
+
+ BOOST::uint8_t& access();
+ void run_until( blip_time_t );
+};
+/*
+struct namco_state_t
+{
+ BOOST::uint8_t regs [0x80];
+ BOOST::uint8_t addr;
+ BOOST::uint8_t unused;
+ BOOST::uint8_t positions [8];
+ BOOST::uint32_t delays [8];
+};
+*/
+
+inline BOOST::uint8_t& Nes_Namco_Apu::access()
+{
+ int addr = addr_reg & 0x7F;
+ if ( addr_reg & 0x80 )
+ addr_reg = (addr + 1) | 0x80;
+ return reg [addr];
+}
+
+inline void Nes_Namco_Apu::volume( double v ) { synth.volume( 0.10 / osc_count * v ); }
+
+inline void Nes_Namco_Apu::treble_eq( const blip_eq_t& eq ) { synth.treble_eq( eq ); }
+
+inline void Nes_Namco_Apu::write_addr( int v ) { addr_reg = v; }
+
+inline int Nes_Namco_Apu::read_data() { return access(); }
+
+inline void Nes_Namco_Apu::osc_output( int i, Blip_Buffer* buf )
+{
+ assert( (unsigned) i < osc_count );
+ oscs [i].output = buf;
+}
+
+inline void Nes_Namco_Apu::write_data( blip_time_t time, int data )
+{
+ run_until( time );
+ access() = data;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Oscs.cpp b/plugins/gme/game-music-emu-svn/gme/Nes_Oscs.cpp
new file mode 100644
index 00000000..1ad3f59c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Oscs.cpp
@@ -0,0 +1,551 @@
+// Nes_Snd_Emu 0.1.8. http://www.slack.net/~ant/
+
+#include "Nes_Apu.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// Nes_Osc
+
+void Nes_Osc::clock_length( int halt_mask )
+{
+ if ( length_counter && !(regs [0] & halt_mask) )
+ length_counter--;
+}
+
+void Nes_Envelope::clock_envelope()
+{
+ int period = regs [0] & 15;
+ if ( reg_written [3] ) {
+ reg_written [3] = false;
+ env_delay = period;
+ envelope = 15;
+ }
+ else if ( --env_delay < 0 ) {
+ env_delay = period;
+ if ( envelope | (regs [0] & 0x20) )
+ envelope = (envelope - 1) & 15;
+ }
+}
+
+int Nes_Envelope::volume() const
+{
+ return length_counter == 0 ? 0 : (regs [0] & 0x10) ? (regs [0] & 15) : envelope;
+}
+
+// Nes_Square
+
+void Nes_Square::clock_sweep( int negative_adjust )
+{
+ int sweep = regs [1];
+
+ if ( --sweep_delay < 0 )
+ {
+ reg_written [1] = true;
+
+ int period = this->period();
+ int shift = sweep & shift_mask;
+ if ( shift && (sweep & 0x80) && period >= 8 )
+ {
+ int offset = period >> shift;
+
+ if ( sweep & negate_flag )
+ offset = negative_adjust - offset;
+
+ if ( period + offset < 0x800 )
+ {
+ period += offset;
+ // rewrite period
+ regs [2] = period & 0xFF;
+ regs [3] = (regs [3] & ~7) | ((period >> 8) & 7);
+ }
+ }
+ }
+
+ if ( reg_written [1] ) {
+ reg_written [1] = false;
+ sweep_delay = (sweep >> 4) & 7;
+ }
+}
+
+// TODO: clean up
+inline nes_time_t Nes_Square::maintain_phase( nes_time_t time, nes_time_t end_time,
+ nes_time_t timer_period )
+{
+ nes_time_t remain = end_time - time;
+ if ( remain > 0 )
+ {
+ int count = (remain + timer_period - 1) / timer_period;
+ phase = (phase + count) & (phase_range - 1);
+ time += (blargg_long) count * timer_period;
+ }
+ return time;
+}
+
+void Nes_Square::run( nes_time_t time, nes_time_t end_time )
+{
+ const int period = this->period();
+ const int timer_period = (period + 1) * 2;
+
+ if ( !output )
+ {
+ delay = maintain_phase( time + delay, end_time, timer_period ) - end_time;
+ return;
+ }
+
+ output->set_modified();
+
+ int offset = period >> (regs [1] & shift_mask);
+ if ( regs [1] & negate_flag )
+ offset = 0;
+
+ const int volume = this->volume();
+ if ( volume == 0 || period < 8 || (period + offset) >= 0x800 )
+ {
+ if ( last_amp ) {
+ synth.offset( time, -last_amp, output );
+ last_amp = 0;
+ }
+
+ time += delay;
+ time = maintain_phase( time, end_time, timer_period );
+ }
+ else
+ {
+ // handle duty select
+ int duty_select = (regs [0] >> 6) & 3;
+ int duty = 1 << duty_select; // 1, 2, 4, 2
+ int amp = 0;
+ if ( duty_select == 3 ) {
+ duty = 2; // negated 25%
+ amp = volume;
+ }
+ if ( phase < duty )
+ amp ^= volume;
+
+ {
+ int delta = update_amp( amp );
+ if ( delta )
+ synth.offset( time, delta, output );
+ }
+
+ time += delay;
+ if ( time < end_time )
+ {
+ Blip_Buffer* const output = this->output;
+ const Synth& synth = this->synth;
+ int delta = amp * 2 - volume;
+ int phase = this->phase;
+
+ do {
+ phase = (phase + 1) & (phase_range - 1);
+ if ( phase == 0 || phase == duty ) {
+ delta = -delta;
+ synth.offset_inline( time, delta, output );
+ }
+ time += timer_period;
+ }
+ while ( time < end_time );
+
+ last_amp = (delta + volume) >> 1;
+ this->phase = phase;
+ }
+ }
+
+ delay = time - end_time;
+}
+
+// Nes_Triangle
+
+void Nes_Triangle::clock_linear_counter()
+{
+ if ( reg_written [3] )
+ linear_counter = regs [0] & 0x7F;
+ else if ( linear_counter )
+ linear_counter--;
+
+ if ( !(regs [0] & 0x80) )
+ reg_written [3] = false;
+}
+
+inline int Nes_Triangle::calc_amp() const
+{
+ int amp = phase_range - phase;
+ if ( amp < 0 )
+ amp = phase - (phase_range + 1);
+ return amp;
+}
+
+// TODO: clean up
+inline nes_time_t Nes_Triangle::maintain_phase( nes_time_t time, nes_time_t end_time,
+ nes_time_t timer_period )
+{
+ nes_time_t remain = end_time - time;
+ if ( remain > 0 )
+ {
+ int count = (remain + timer_period - 1) / timer_period;
+ phase = ((unsigned) phase + 1 - count) & (phase_range * 2 - 1);
+ phase++;
+ time += (blargg_long) count * timer_period;
+ }
+ return time;
+}
+
+void Nes_Triangle::run( nes_time_t time, nes_time_t end_time )
+{
+ const int timer_period = period() + 1;
+ if ( !output )
+ {
+ time += delay;
+ delay = 0;
+ if ( length_counter && linear_counter && timer_period >= 3 )
+ delay = maintain_phase( time, end_time, timer_period ) - end_time;
+ return;
+ }
+
+ output->set_modified();
+
+ // to do: track phase when period < 3
+ // to do: Output 7.5 on dac when period < 2? More accurate, but results in more clicks.
+
+ int delta = update_amp( calc_amp() );
+ if ( delta )
+ synth.offset( time, delta, output );
+
+ time += delay;
+ if ( length_counter == 0 || linear_counter == 0 || timer_period < 3 )
+ {
+ time = end_time;
+ }
+ else if ( time < end_time )
+ {
+ Blip_Buffer* const output = this->output;
+
+ int phase = this->phase;
+ int volume = 1;
+ if ( phase > phase_range ) {
+ phase -= phase_range;
+ volume = -volume;
+ }
+
+ do {
+ if ( --phase == 0 ) {
+ phase = phase_range;
+ volume = -volume;
+ }
+ else {
+ synth.offset_inline( time, volume, output );
+ }
+
+ time += timer_period;
+ }
+ while ( time < end_time );
+
+ if ( volume < 0 )
+ phase += phase_range;
+ this->phase = phase;
+ last_amp = calc_amp();
+ }
+ delay = time - end_time;
+}
+
+// Nes_Dmc
+
+void Nes_Dmc::reset()
+{
+ address = 0;
+ dac = 0;
+ buf = 0;
+ bits_remain = 1;
+ bits = 0;
+ buf_full = false;
+ silence = true;
+ next_irq = Nes_Apu::no_irq;
+ irq_flag = false;
+ irq_enabled = false;
+
+ Nes_Osc::reset();
+ period = 0x1AC;
+}
+
+void Nes_Dmc::recalc_irq()
+{
+ nes_time_t irq = Nes_Apu::no_irq;
+ if ( irq_enabled && length_counter )
+ irq = apu->last_dmc_time + delay +
+ ((length_counter - 1) * 8 + bits_remain - 1) * nes_time_t (period) + 1;
+ if ( irq != next_irq ) {
+ next_irq = irq;
+ apu->irq_changed();
+ }
+}
+
+int Nes_Dmc::count_reads( nes_time_t time, nes_time_t* last_read ) const
+{
+ if ( last_read )
+ *last_read = time;
+
+ if ( length_counter == 0 )
+ return 0; // not reading
+
+ nes_time_t first_read = next_read_time();
+ nes_time_t avail = time - first_read;
+ if ( avail <= 0 )
+ return 0;
+
+ int count = (avail - 1) / (period * 8) + 1;
+ if ( !(regs [0] & loop_flag) && count > length_counter )
+ count = length_counter;
+
+ if ( last_read )
+ {
+ *last_read = first_read + (count - 1) * (period * 8) + 1;
+ check( *last_read <= time );
+ check( count == count_reads( *last_read, NULL ) );
+ check( count - 1 == count_reads( *last_read - 1, NULL ) );
+ }
+
+ return count;
+}
+
+static short const dmc_period_table [2] [16] = {
+ {428, 380, 340, 320, 286, 254, 226, 214, // NTSC
+ 190, 160, 142, 128, 106, 84, 72, 54},
+
+ {398, 354, 316, 298, 276, 236, 210, 198, // PAL
+ 176, 148, 132, 118, 98, 78, 66, 50}
+};
+
+inline void Nes_Dmc::reload_sample()
+{
+ address = 0x4000 + regs [2] * 0x40;
+ length_counter = regs [3] * 0x10 + 1;
+}
+
+static byte const dac_table [128] =
+{
+ 0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9,10,11,12,13,14,
+ 15,15,16,17,18,19,20,20,21,22,23,24,24,25,26,27,
+ 27,28,29,30,31,31,32,33,33,34,35,36,36,37,38,38,
+ 39,40,41,41,42,43,43,44,45,45,46,47,47,48,48,49,
+ 50,50,51,52,52,53,53,54,55,55,56,56,57,58,58,59,
+ 59,60,60,61,61,62,63,63,64,64,65,65,66,66,67,67,
+ 68,68,69,70,70,71,71,72,72,73,73,74,74,75,75,75,
+ 76,76,77,77,78,78,79,79,80,80,81,81,82,82,82,83,
+};
+
+void Nes_Dmc::write_register( int addr, int data )
+{
+ if ( addr == 0 )
+ {
+ period = dmc_period_table [pal_mode] [data & 15];
+ irq_enabled = (data & 0xC0) == 0x80; // enabled only if loop disabled
+ irq_flag &= irq_enabled;
+ recalc_irq();
+ }
+ else if ( addr == 1 )
+ {
+ int old_dac = dac;
+ dac = data & 0x7F;
+
+ // adjust last_amp so that "pop" amplitude will be properly non-linear
+ // with respect to change in dac
+ int faked_nonlinear = dac - (dac_table [dac] - dac_table [old_dac]);
+ if ( !nonlinear )
+ last_amp = faked_nonlinear;
+ }
+}
+
+void Nes_Dmc::start()
+{
+ reload_sample();
+ fill_buffer();
+ recalc_irq();
+}
+
+void Nes_Dmc::fill_buffer()
+{
+ if ( !buf_full && length_counter )
+ {
+ require( prg_reader ); // prg_reader must be set
+ buf = prg_reader( prg_reader_data, 0x8000u + address );
+ address = (address + 1) & 0x7FFF;
+ buf_full = true;
+ if ( --length_counter == 0 )
+ {
+ if ( regs [0] & loop_flag ) {
+ reload_sample();
+ }
+ else {
+ apu->osc_enables &= ~0x10;
+ irq_flag = irq_enabled;
+ next_irq = Nes_Apu::no_irq;
+ apu->irq_changed();
+ }
+ }
+ }
+}
+
+void Nes_Dmc::run( nes_time_t time, nes_time_t end_time )
+{
+ int delta = update_amp( dac );
+ if ( !output )
+ {
+ silence = true;
+ }
+ else
+ {
+ output->set_modified();
+ if ( delta )
+ synth.offset( time, delta, output );
+ }
+
+ time += delay;
+ if ( time < end_time )
+ {
+ int bits_remain = this->bits_remain;
+ if ( silence && !buf_full )
+ {
+ int count = (end_time - time + period - 1) / period;
+ bits_remain = (bits_remain - 1 + 8 - (count % 8)) % 8 + 1;
+ time += count * period;
+ }
+ else
+ {
+ Blip_Buffer* const output = this->output;
+ const int period = this->period;
+ int bits = this->bits;
+ int dac = this->dac;
+
+ do
+ {
+ if ( !silence )
+ {
+ int step = (bits & 1) * 4 - 2;
+ bits >>= 1;
+ if ( unsigned (dac + step) <= 0x7F ) {
+ dac += step;
+ synth.offset_inline( time, step, output );
+ }
+ }
+
+ time += period;
+
+ if ( --bits_remain == 0 )
+ {
+ bits_remain = 8;
+ if ( !buf_full ) {
+ silence = true;
+ }
+ else {
+ silence = false;
+ bits = buf;
+ buf_full = false;
+ if ( !output )
+ silence = true;
+ fill_buffer();
+ }
+ }
+ }
+ while ( time < end_time );
+
+ this->dac = dac;
+ this->last_amp = dac;
+ this->bits = bits;
+ }
+ this->bits_remain = bits_remain;
+ }
+ delay = time - end_time;
+}
+
+// Nes_Noise
+
+static short const noise_period_table [16] = {
+ 0x004, 0x008, 0x010, 0x020, 0x040, 0x060, 0x080, 0x0A0,
+ 0x0CA, 0x0FE, 0x17C, 0x1FC, 0x2FA, 0x3F8, 0x7F2, 0xFE4
+};
+
+void Nes_Noise::run( nes_time_t time, nes_time_t end_time )
+{
+ int period = noise_period_table [regs [2] & 15];
+
+ if ( !output )
+ {
+ // TODO: clean up
+ time += delay;
+ delay = time + (end_time - time + period - 1) / period * period - end_time;
+ return;
+ }
+
+ output->set_modified();
+
+ const int volume = this->volume();
+ int amp = (noise & 1) ? volume : 0;
+ {
+ int delta = update_amp( amp );
+ if ( delta )
+ synth.offset( time, delta, output );
+ }
+
+ time += delay;
+ if ( time < end_time )
+ {
+ const int mode_flag = 0x80;
+
+ if ( !volume )
+ {
+ // round to next multiple of period
+ time += (end_time - time + period - 1) / period * period;
+
+ // approximate noise cycling while muted, by shuffling up noise register
+ // to do: precise muted noise cycling?
+ if ( !(regs [2] & mode_flag) ) {
+ int feedback = (noise << 13) ^ (noise << 14);
+ noise = (feedback & 0x4000) | (noise >> 1);
+ }
+ }
+ else
+ {
+ Blip_Buffer* const output = this->output;
+
+ // using resampled time avoids conversion in synth.offset()
+ blip_resampled_time_t rperiod = output->resampled_duration( period );
+ blip_resampled_time_t rtime = output->resampled_time( time );
+
+ int noise = this->noise;
+ int delta = amp * 2 - volume;
+ const int tap = (regs [2] & mode_flag ? 8 : 13);
+
+ do {
+ int feedback = (noise << tap) ^ (noise << 14);
+ time += period;
+
+ if ( (noise + 1) & 2 ) {
+ // bits 0 and 1 of noise differ
+ delta = -delta;
+ synth.offset_resampled( rtime, delta, output );
+ }
+
+ rtime += rperiod;
+ noise = (feedback & 0x4000) | (noise >> 1);
+ }
+ while ( time < end_time );
+
+ last_amp = (delta + volume) >> 1;
+ this->noise = noise;
+ }
+ }
+
+ delay = time - end_time;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Oscs.h b/plugins/gme/game-music-emu-svn/gme/Nes_Oscs.h
new file mode 100644
index 00000000..b675bfb4
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Oscs.h
@@ -0,0 +1,147 @@
+// Private oscillators used by Nes_Apu
+
+// Nes_Snd_Emu 0.1.8
+#ifndef NES_OSCS_H
+#define NES_OSCS_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+class Nes_Apu;
+
+struct Nes_Osc
+{
+ unsigned char regs [4];
+ bool reg_written [4];
+ Blip_Buffer* output;
+ int length_counter;// length counter (0 if unused by oscillator)
+ int delay; // delay until next (potential) transition
+ int last_amp; // last amplitude oscillator was outputting
+
+ void clock_length( int halt_mask );
+ int period() const {
+ return (regs [3] & 7) * 0x100 + (regs [2] & 0xFF);
+ }
+ void reset() {
+ delay = 0;
+ last_amp = 0;
+ }
+ int update_amp( int amp ) {
+ int delta = amp - last_amp;
+ last_amp = amp;
+ return delta;
+ }
+};
+
+struct Nes_Envelope : Nes_Osc
+{
+ int envelope;
+ int env_delay;
+
+ void clock_envelope();
+ int volume() const;
+ void reset() {
+ envelope = 0;
+ env_delay = 0;
+ Nes_Osc::reset();
+ }
+};
+
+// Nes_Square
+struct Nes_Square : Nes_Envelope
+{
+ enum { negate_flag = 0x08 };
+ enum { shift_mask = 0x07 };
+ enum { phase_range = 8 };
+ int phase;
+ int sweep_delay;
+
+ typedef Blip_Synth<blip_good_quality,1> Synth;
+ Synth const& synth; // shared between squares
+
+ Nes_Square( Synth const* s ) : synth( *s ) { }
+
+ void clock_sweep( int adjust );
+ void run( nes_time_t, nes_time_t );
+ void reset() {
+ sweep_delay = 0;
+ Nes_Envelope::reset();
+ }
+ nes_time_t maintain_phase( nes_time_t time, nes_time_t end_time,
+ nes_time_t timer_period );
+};
+
+// Nes_Triangle
+struct Nes_Triangle : Nes_Osc
+{
+ enum { phase_range = 16 };
+ int phase;
+ int linear_counter;
+ Blip_Synth<blip_med_quality,1> synth;
+
+ int calc_amp() const;
+ void run( nes_time_t, nes_time_t );
+ void clock_linear_counter();
+ void reset() {
+ linear_counter = 0;
+ phase = 1;
+ Nes_Osc::reset();
+ }
+ nes_time_t maintain_phase( nes_time_t time, nes_time_t end_time,
+ nes_time_t timer_period );
+};
+
+// Nes_Noise
+struct Nes_Noise : Nes_Envelope
+{
+ int noise;
+ Blip_Synth<blip_med_quality,1> synth;
+
+ void run( nes_time_t, nes_time_t );
+ void reset() {
+ noise = 1 << 14;
+ Nes_Envelope::reset();
+ }
+};
+
+// Nes_Dmc
+struct Nes_Dmc : Nes_Osc
+{
+ int address; // address of next byte to read
+ int period;
+ //int length_counter; // bytes remaining to play (already defined in Nes_Osc)
+ int buf;
+ int bits_remain;
+ int bits;
+ bool buf_full;
+ bool silence;
+
+ enum { loop_flag = 0x40 };
+
+ int dac;
+
+ nes_time_t next_irq;
+ bool irq_enabled;
+ bool irq_flag;
+ bool pal_mode;
+ bool nonlinear;
+
+ int (*prg_reader)( void*, nes_addr_t ); // needs to be initialized to prg read function
+ void* prg_reader_data;
+
+ Nes_Apu* apu;
+
+ Blip_Synth<blip_med_quality,1> synth;
+
+ void start();
+ void write_register( int, int );
+ void run( nes_time_t, nes_time_t );
+ void recalc_irq();
+ void fill_buffer();
+ void reload_sample();
+ void reset();
+ int count_reads( nes_time_t, nes_time_t* ) const;
+ nes_time_t next_read_time() const;
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.cpp
new file mode 100644
index 00000000..d178407c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.cpp
@@ -0,0 +1,215 @@
+// Nes_Snd_Emu 0.1.8. http://www.slack.net/~ant/
+
+#include "Nes_Vrc6_Apu.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+Nes_Vrc6_Apu::Nes_Vrc6_Apu()
+{
+ output( NULL );
+ volume( 1.0 );
+ reset();
+}
+
+void Nes_Vrc6_Apu::reset()
+{
+ last_time = 0;
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Vrc6_Osc& osc = oscs [i];
+ for ( int j = 0; j < reg_count; j++ )
+ osc.regs [j] = 0;
+ osc.delay = 0;
+ osc.last_amp = 0;
+ osc.phase = 1;
+ osc.amp = 0;
+ }
+}
+
+void Nes_Vrc6_Apu::output( Blip_Buffer* buf )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, buf );
+}
+
+void Nes_Vrc6_Apu::run_until( blip_time_t time )
+{
+ require( time >= last_time );
+ run_square( oscs [0], time );
+ run_square( oscs [1], time );
+ run_saw( time );
+ last_time = time;
+}
+
+void Nes_Vrc6_Apu::write_osc( blip_time_t time, int osc_index, int reg, int data )
+{
+ require( (unsigned) osc_index < osc_count );
+ require( (unsigned) reg < reg_count );
+
+ run_until( time );
+ oscs [osc_index].regs [reg] = data;
+}
+
+void Nes_Vrc6_Apu::end_frame( blip_time_t time )
+{
+ if ( time > last_time )
+ run_until( time );
+
+ assert( last_time >= time );
+ last_time -= time;
+}
+
+void Nes_Vrc6_Apu::save_state( vrc6_apu_state_t* out ) const
+{
+ assert( sizeof (vrc6_apu_state_t) == 20 );
+ out->saw_amp = oscs [2].amp;
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Vrc6_Osc const& osc = oscs [i];
+ for ( int r = 0; r < reg_count; r++ )
+ out->regs [i] [r] = osc.regs [r];
+
+ out->delays [i] = osc.delay;
+ out->phases [i] = osc.phase;
+ }
+}
+
+void Nes_Vrc6_Apu::load_state( vrc6_apu_state_t const& in )
+{
+ reset();
+ oscs [2].amp = in.saw_amp;
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Vrc6_Osc& osc = oscs [i];
+ for ( int r = 0; r < reg_count; r++ )
+ osc.regs [r] = in.regs [i] [r];
+
+ osc.delay = in.delays [i];
+ osc.phase = in.phases [i];
+ }
+ if ( !oscs [2].phase )
+ oscs [2].phase = 1;
+}
+
+void Nes_Vrc6_Apu::run_square( Vrc6_Osc& osc, blip_time_t end_time )
+{
+ Blip_Buffer* output = osc.output;
+ if ( !output )
+ return;
+ output->set_modified();
+
+ int volume = osc.regs [0] & 15;
+ if ( !(osc.regs [2] & 0x80) )
+ volume = 0;
+
+ int gate = osc.regs [0] & 0x80;
+ int duty = ((osc.regs [0] >> 4) & 7) + 1;
+ int delta = ((gate || osc.phase < duty) ? volume : 0) - osc.last_amp;
+ blip_time_t time = last_time;
+ if ( delta )
+ {
+ osc.last_amp += delta;
+ square_synth.offset( time, delta, output );
+ }
+
+ time += osc.delay;
+ osc.delay = 0;
+ int period = osc.period();
+ if ( volume && !gate && period > 4 )
+ {
+ if ( time < end_time )
+ {
+ int phase = osc.phase;
+
+ do
+ {
+ phase++;
+ if ( phase == 16 )
+ {
+ phase = 0;
+ osc.last_amp = volume;
+ square_synth.offset( time, volume, output );
+ }
+ if ( phase == duty )
+ {
+ osc.last_amp = 0;
+ square_synth.offset( time, -volume, output );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+
+ osc.phase = phase;
+ }
+ osc.delay = time - end_time;
+ }
+}
+
+void Nes_Vrc6_Apu::run_saw( blip_time_t end_time )
+{
+ Vrc6_Osc& osc = oscs [2];
+ Blip_Buffer* output = osc.output;
+ if ( !output )
+ return;
+ output->set_modified();
+
+ int amp = osc.amp;
+ int amp_step = osc.regs [0] & 0x3F;
+ blip_time_t time = last_time;
+ int last_amp = osc.last_amp;
+ if ( !(osc.regs [2] & 0x80) || !(amp_step | amp) )
+ {
+ osc.delay = 0;
+ int delta = (amp >> 3) - last_amp;
+ last_amp = amp >> 3;
+ saw_synth.offset( time, delta, output );
+ }
+ else
+ {
+ time += osc.delay;
+ if ( time < end_time )
+ {
+ int period = osc.period() * 2;
+ int phase = osc.phase;
+
+ do
+ {
+ if ( --phase == 0 )
+ {
+ phase = 7;
+ amp = 0;
+ }
+
+ int delta = (amp >> 3) - last_amp;
+ if ( delta )
+ {
+ last_amp = amp >> 3;
+ saw_synth.offset( time, delta, output );
+ }
+
+ time += period;
+ amp = (amp + amp_step) & 0xFF;
+ }
+ while ( time < end_time );
+
+ osc.phase = phase;
+ osc.amp = amp;
+ }
+
+ osc.delay = time - end_time;
+ }
+
+ osc.last_amp = last_amp;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.h b/plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.h
new file mode 100644
index 00000000..18722233
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nes_Vrc6_Apu.h
@@ -0,0 +1,95 @@
+// Konami VRC6 sound chip emulator
+
+// Nes_Snd_Emu 0.1.8
+#ifndef NES_VRC6_APU_H
+#define NES_VRC6_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+struct vrc6_apu_state_t;
+
+class Nes_Vrc6_Apu {
+public:
+ // See Nes_Apu.h for reference
+ void reset();
+ void volume( double );
+ void treble_eq( blip_eq_t const& );
+ void output( Blip_Buffer* );
+ enum { osc_count = 3 };
+ void osc_output( int index, Blip_Buffer* );
+ void end_frame( blip_time_t );
+ void save_state( vrc6_apu_state_t* ) const;
+ void load_state( vrc6_apu_state_t const& );
+
+ // Oscillator 0 write-only registers are at $9000-$9002
+ // Oscillator 1 write-only registers are at $A000-$A002
+ // Oscillator 2 write-only registers are at $B000-$B002
+ enum { reg_count = 3 };
+ enum { base_addr = 0x9000 };
+ enum { addr_step = 0x1000 };
+ void write_osc( blip_time_t, int osc, int reg, int data );
+
+public:
+ Nes_Vrc6_Apu();
+ BLARGG_DISABLE_NOTHROW
+private:
+ // noncopyable
+ Nes_Vrc6_Apu( const Nes_Vrc6_Apu& );
+ Nes_Vrc6_Apu& operator = ( const Nes_Vrc6_Apu& );
+
+ struct Vrc6_Osc
+ {
+ BOOST::uint8_t regs [3];
+ Blip_Buffer* output;
+ int delay;
+ int last_amp;
+ int phase;
+ int amp; // only used by saw
+
+ int period() const
+ {
+ return (regs [2] & 0x0F) * 0x100L + regs [1] + 1;
+ }
+ };
+
+ Vrc6_Osc oscs [osc_count];
+ blip_time_t last_time;
+
+ Blip_Synth<blip_med_quality,1> saw_synth;
+ Blip_Synth<blip_good_quality,1> square_synth;
+
+ void run_until( blip_time_t );
+ void run_square( Vrc6_Osc& osc, blip_time_t );
+ void run_saw( blip_time_t );
+};
+
+struct vrc6_apu_state_t
+{
+ BOOST::uint8_t regs [3] [3];
+ BOOST::uint8_t saw_amp;
+ BOOST::uint16_t delays [3];
+ BOOST::uint8_t phases [3];
+ BOOST::uint8_t unused;
+};
+
+inline void Nes_Vrc6_Apu::osc_output( int i, Blip_Buffer* buf )
+{
+ assert( (unsigned) i < osc_count );
+ oscs [i].output = buf;
+}
+
+inline void Nes_Vrc6_Apu::volume( double v )
+{
+ double const factor = 0.0967 * 2;
+ saw_synth.volume( factor / 31 * v );
+ square_synth.volume( factor * 0.5 / 15 * v );
+}
+
+inline void Nes_Vrc6_Apu::treble_eq( blip_eq_t const& eq )
+{
+ saw_synth.treble_eq( eq );
+ square_synth.treble_eq( eq );
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nsf_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Nsf_Emu.cpp
new file mode 100644
index 00000000..6e58164c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nsf_Emu.cpp
@@ -0,0 +1,559 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Nsf_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+#include <stdio.h>
+
+#if !NSF_EMU_APU_ONLY
+ #include "Nes_Namco_Apu.h"
+ #include "Nes_Vrc6_Apu.h"
+ #include "Nes_Fme7_Apu.h"
+#endif
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+int const vrc6_flag = 0x01;
+int const namco_flag = 0x10;
+int const fme7_flag = 0x20;
+
+long const clock_divisor = 12;
+
+Nsf_Emu::equalizer_t const Nsf_Emu::nes_eq = { -1.0, 80 };
+Nsf_Emu::equalizer_t const Nsf_Emu::famicom_eq = { -15.0, 80 };
+
+int Nsf_Emu::pcm_read( void* emu, nes_addr_t addr )
+{
+ return *((Nsf_Emu*) emu)->cpu::get_code( addr );
+}
+
+Nsf_Emu::Nsf_Emu()
+{
+ vrc6 = 0;
+ namco = 0;
+ fme7 = 0;
+
+ set_type( gme_nsf_type );
+ set_silence_lookahead( 6 );
+ apu.dmc_reader( pcm_read, this );
+ Music_Emu::set_equalizer( nes_eq );
+ set_gain( 1.4 );
+ memset( unmapped_code, Nes_Cpu::bad_opcode, sizeof unmapped_code );
+}
+
+Nsf_Emu::~Nsf_Emu() { unload(); }
+
+void Nsf_Emu::unload()
+{
+ #if !NSF_EMU_APU_ONLY
+ {
+ delete vrc6;
+ vrc6 = 0;
+
+ delete namco;
+ namco = 0;
+
+ delete fme7;
+ fme7 = 0;
+ }
+ #endif
+
+ rom.clear();
+ Music_Emu::unload();
+}
+
+// Track info
+
+static void copy_nsf_fields( Nsf_Emu::header_t const& h, track_info_t* out )
+{
+ GME_COPY_FIELD( h, out, game );
+ GME_COPY_FIELD( h, out, author );
+ GME_COPY_FIELD( h, out, copyright );
+ if ( h.chip_flags )
+ Gme_File::copy_field_( out->system, "Famicom" );
+}
+
+blargg_err_t Nsf_Emu::track_info_( track_info_t* out, int ) const
+{
+ copy_nsf_fields( header_, out );
+ return 0;
+}
+
+static blargg_err_t check_nsf_header( void const* header )
+{
+ if ( memcmp( header, "NESM\x1A", 5 ) )
+ return gme_wrong_file_type;
+ return 0;
+}
+
+struct Nsf_File : Gme_Info_
+{
+ Nsf_Emu::header_t h;
+
+ Nsf_File() { set_type( gme_nsf_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ blargg_err_t err = in.read( &h, Nsf_Emu::header_size );
+ if ( err )
+ return (err == in.eof_error ? gme_wrong_file_type : err);
+
+ if ( h.chip_flags & ~(namco_flag | vrc6_flag | fme7_flag) )
+ set_warning( "Uses unsupported audio expansion hardware" );
+
+ set_track_count( h.track_count );
+ return check_nsf_header( &h );
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ copy_nsf_fields( h, out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_nsf_emu () { return BLARGG_NEW Nsf_Emu ; }
+static Music_Emu* new_nsf_file() { return BLARGG_NEW Nsf_File; }
+
+static gme_type_t_ const gme_nsf_type_ = { "Nintendo NES", 0, &new_nsf_emu, &new_nsf_file, "NSF", 1 };
+gme_type_t const gme_nsf_type = &gme_nsf_type_;
+
+
+// Setup
+
+void Nsf_Emu::set_tempo_( double t )
+{
+ unsigned playback_rate = get_le16( header_.ntsc_speed );
+ unsigned standard_rate = 0x411A;
+ clock_rate_ = 1789772.72727;
+ play_period = 262 * 341L * 4 - 2; // two fewer PPU clocks every four frames
+
+ if ( pal_only )
+ {
+ play_period = 33247 * clock_divisor;
+ clock_rate_ = 1662607.125;
+ standard_rate = 0x4E20;
+ playback_rate = get_le16( header_.pal_speed );
+ }
+
+ if ( !playback_rate )
+ playback_rate = standard_rate;
+
+ if ( playback_rate != standard_rate || t != 1.0 )
+ play_period = long (playback_rate * clock_rate_ / (1000000.0 / clock_divisor * t));
+
+ apu.set_tempo( t );
+}
+
+blargg_err_t Nsf_Emu::init_sound()
+{
+ if ( header_.chip_flags & ~(namco_flag | vrc6_flag | fme7_flag) )
+ set_warning( "Uses unsupported audio expansion hardware" );
+
+ {
+ #define APU_NAMES "Square 1", "Square 2", "Triangle", "Noise", "DMC"
+
+ int const count = Nes_Apu::osc_count;
+ static const char* const apu_names [count] = { APU_NAMES };
+ set_voice_count( count );
+ set_voice_names( apu_names );
+
+ }
+
+ static int const types [] = {
+ wave_type | 1, wave_type | 2, wave_type | 0,
+ noise_type | 0, mixed_type | 1,
+ wave_type | 3, wave_type | 4, wave_type | 5,
+ wave_type | 6, wave_type | 7, wave_type | 8, wave_type | 9,
+ wave_type |10, wave_type |11, wave_type |12, wave_type |13
+ };
+ set_voice_types( types ); // common to all sound chip configurations
+
+ double adjusted_gain = gain();
+
+ #if NSF_EMU_APU_ONLY
+ {
+ if ( header_.chip_flags )
+ set_warning( "Uses unsupported audio expansion hardware" );
+ }
+ #else
+ {
+ if ( header_.chip_flags & (namco_flag | vrc6_flag | fme7_flag) )
+ set_voice_count( Nes_Apu::osc_count + 3 );
+
+ if ( header_.chip_flags & namco_flag )
+ {
+ namco = BLARGG_NEW Nes_Namco_Apu;
+ CHECK_ALLOC( namco );
+ adjusted_gain *= 0.75;
+
+ int const count = Nes_Apu::osc_count + Nes_Namco_Apu::osc_count;
+ static const char* const names [count] = {
+ APU_NAMES,
+ "Wave 1", "Wave 2", "Wave 3", "Wave 4",
+ "Wave 5", "Wave 6", "Wave 7", "Wave 8"
+ };
+ set_voice_count( count );
+ set_voice_names( names );
+ }
+
+ if ( header_.chip_flags & vrc6_flag )
+ {
+ vrc6 = BLARGG_NEW Nes_Vrc6_Apu;
+ CHECK_ALLOC( vrc6 );
+ adjusted_gain *= 0.75;
+
+ {
+ int const count = Nes_Apu::osc_count + Nes_Vrc6_Apu::osc_count;
+ static const char* const names [count] = {
+ APU_NAMES,
+ "Saw Wave", "Square 3", "Square 4"
+ };
+ set_voice_count( count );
+ set_voice_names( names );
+ }
+
+ if ( header_.chip_flags & namco_flag )
+ {
+ int const count = Nes_Apu::osc_count + Nes_Vrc6_Apu::osc_count +
+ Nes_Namco_Apu::osc_count;
+ static const char* const names [count] = {
+ APU_NAMES,
+ "Saw Wave", "Square 3", "Square 4",
+ "Wave 1", "Wave 2", "Wave 3", "Wave 4",
+ "Wave 5", "Wave 6", "Wave 7", "Wave 8"
+ };
+ set_voice_count( count );
+ set_voice_names( names );
+ }
+ }
+
+ if ( header_.chip_flags & fme7_flag )
+ {
+ fme7 = BLARGG_NEW Nes_Fme7_Apu;
+ CHECK_ALLOC( fme7 );
+ adjusted_gain *= 0.75;
+
+ int const count = Nes_Apu::osc_count + Nes_Fme7_Apu::osc_count;
+ static const char* const names [count] = {
+ APU_NAMES,
+ "Square 3", "Square 4", "Square 5"
+ };
+ set_voice_count( count );
+ set_voice_names( names );
+ }
+
+ if ( namco ) namco->volume( adjusted_gain );
+ if ( vrc6 ) vrc6 ->volume( adjusted_gain );
+ if ( fme7 ) fme7 ->volume( adjusted_gain );
+ }
+ #endif
+
+ apu.volume( adjusted_gain );
+
+ return 0;
+}
+
+blargg_err_t Nsf_Emu::load_( Data_Reader& in )
+{
+ assert( offsetof (header_t,unused [4]) == header_size );
+ RETURN_ERR( rom.load( in, header_size, &header_, 0 ) );
+
+ set_track_count( header_.track_count );
+ RETURN_ERR( check_nsf_header( &header_ ) );
+
+ if ( header_.vers != 1 )
+ set_warning( "Unknown file version" );
+
+ // sound and memory
+ blargg_err_t err = init_sound();
+ if ( err )
+ return err;
+
+ // set up data
+ nes_addr_t load_addr = get_le16( header_.load_addr );
+ init_addr = get_le16( header_.init_addr );
+ play_addr = get_le16( header_.play_addr );
+ if ( !load_addr ) load_addr = rom_begin;
+ if ( !init_addr ) init_addr = rom_begin;
+ if ( !play_addr ) play_addr = rom_begin;
+ if ( load_addr < rom_begin || init_addr < rom_begin )
+ {
+ const char* w = warning();
+ if ( !w )
+ w = "Corrupt file (invalid load/init/play address)";
+ return w;
+ }
+
+ rom.set_addr( load_addr % bank_size );
+ int total_banks = rom.size() / bank_size;
+
+ // bank switching
+ int first_bank = (load_addr - rom_begin) / bank_size;
+ for ( int i = 0; i < bank_count; i++ )
+ {
+ unsigned bank = i - first_bank;
+ if ( bank >= (unsigned) total_banks )
+ bank = 0;
+ initial_banks [i] = bank;
+
+ if ( header_.banks [i] )
+ {
+ // bank-switched
+ memcpy( initial_banks, header_.banks, sizeof initial_banks );
+ break;
+ }
+ }
+
+ pal_only = (header_.speed_flags & 3) == 1;
+
+ #if !NSF_EMU_EXTRA_FLAGS
+ header_.speed_flags = 0;
+ #endif
+
+ set_tempo( tempo() );
+
+ return setup_buffer( (long) (clock_rate_ + 0.5) );
+}
+
+void Nsf_Emu::update_eq( blip_eq_t const& eq )
+{
+ apu.treble_eq( eq );
+
+ #if !NSF_EMU_APU_ONLY
+ {
+ if ( namco ) namco->treble_eq( eq );
+ if ( vrc6 ) vrc6 ->treble_eq( eq );
+ if ( fme7 ) fme7 ->treble_eq( eq );
+ }
+ #endif
+}
+
+void Nsf_Emu::set_voice( int i, Blip_Buffer* buf, Blip_Buffer*, Blip_Buffer* )
+{
+ if ( i < Nes_Apu::osc_count )
+ {
+ apu.osc_output( i, buf );
+ return;
+ }
+ i -= Nes_Apu::osc_count;
+
+ #if !NSF_EMU_APU_ONLY
+ {
+ if ( fme7 && i < Nes_Fme7_Apu::osc_count )
+ {
+ fme7->osc_output( i, buf );
+ return;
+ }
+
+ if ( vrc6 )
+ {
+ if ( i < Nes_Vrc6_Apu::osc_count )
+ {
+ // put saw first
+ if ( --i < 0 )
+ i = 2;
+ vrc6->osc_output( i, buf );
+ return;
+ }
+ i -= Nes_Vrc6_Apu::osc_count;
+ }
+
+ if ( namco && i < Nes_Namco_Apu::osc_count )
+ {
+ namco->osc_output( i, buf );
+ return;
+ }
+ }
+ #endif
+}
+
+// Emulation
+
+// see nes_cpu_io.h for read/write functions
+
+void Nsf_Emu::cpu_write_misc( nes_addr_t addr, int data )
+{
+ #if !NSF_EMU_APU_ONLY
+ {
+ if ( namco )
+ {
+ switch ( addr )
+ {
+ case Nes_Namco_Apu::data_reg_addr:
+ namco->write_data( time(), data );
+ return;
+
+ case Nes_Namco_Apu::addr_reg_addr:
+ namco->write_addr( data );
+ return;
+ }
+ }
+
+ if ( addr >= Nes_Fme7_Apu::latch_addr && fme7 )
+ {
+ switch ( addr & Nes_Fme7_Apu::addr_mask )
+ {
+ case Nes_Fme7_Apu::latch_addr:
+ fme7->write_latch( data );
+ return;
+
+ case Nes_Fme7_Apu::data_addr:
+ fme7->write_data( time(), data );
+ return;
+ }
+ }
+
+ if ( vrc6 )
+ {
+ unsigned reg = addr & (Nes_Vrc6_Apu::addr_step - 1);
+ unsigned osc = unsigned (addr - Nes_Vrc6_Apu::base_addr) / Nes_Vrc6_Apu::addr_step;
+ if ( osc < Nes_Vrc6_Apu::osc_count && reg < Nes_Vrc6_Apu::reg_count )
+ {
+ vrc6->write_osc( time(), osc, reg, data );
+ return;
+ }
+ }
+ }
+ #endif
+
+ // unmapped write
+
+ #ifndef NDEBUG
+ {
+ // some games write to $8000 and $8001 repeatedly
+ if ( addr == 0x8000 || addr == 0x8001 ) return;
+
+ // probably namco sound mistakenly turned on in mck
+ if ( addr == 0x4800 || addr == 0xF800 ) return;
+
+ // memory mapper?
+ if ( addr == 0xFFF8 ) return;
+
+ debug_printf( "write_unmapped( 0x%04X, 0x%02X )\n", (unsigned) addr, (unsigned) data );
+ }
+ #endif
+}
+
+blargg_err_t Nsf_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+
+ memset( low_mem, 0, sizeof low_mem );
+ memset( sram, 0, sizeof sram );
+
+ cpu::reset( unmapped_code ); // also maps low_mem
+ cpu::map_code( sram_addr, sizeof sram, sram );
+ for ( int i = 0; i < bank_count; ++i )
+ cpu_write( bank_select_addr + i, initial_banks [i] );
+
+ apu.reset( pal_only, (header_.speed_flags & 0x20) ? 0x3F : 0 );
+ apu.write_register( 0, 0x4015, 0x0F );
+ apu.write_register( 0, 0x4017, (header_.speed_flags & 0x10) ? 0x80 : 0 );
+ #if !NSF_EMU_APU_ONLY
+ {
+ if ( namco ) namco->reset();
+ if ( vrc6 ) vrc6 ->reset();
+ if ( fme7 ) fme7 ->reset();
+ }
+ #endif
+
+ play_ready = 4;
+ play_extra = 0;
+ next_play = play_period / clock_divisor;
+
+ saved_state.pc = badop_addr;
+ low_mem [0x1FF] = (badop_addr - 1) >> 8;
+ low_mem [0x1FE] = (badop_addr - 1) & 0xFF;
+ r.sp = 0xFD;
+ r.pc = init_addr;
+ r.a = track;
+ r.x = pal_only;
+
+ return 0;
+}
+
+blargg_err_t Nsf_Emu::run_clocks( blip_time_t& duration, int )
+{
+ set_time( 0 );
+ while ( time() < duration )
+ {
+ nes_time_t end = min( (blip_time_t) next_play, duration );
+ end = min( end, time() + 32767 ); // allows CPU to use 16-bit time delta
+ if ( cpu::run( end ) )
+ {
+ if ( r.pc != badop_addr )
+ {
+ set_warning( "Emulation error (illegal instruction)" );
+ r.pc++;
+ }
+ else
+ {
+ play_ready = 1;
+ if ( saved_state.pc != badop_addr )
+ {
+ cpu::r = saved_state;
+ saved_state.pc = badop_addr;
+ }
+ else
+ {
+ set_time( end );
+ }
+ }
+ }
+
+ if ( time() >= next_play )
+ {
+ nes_time_t period = (play_period + play_extra) / clock_divisor;
+ play_extra = play_period - period * clock_divisor;
+ next_play += period;
+ if ( play_ready && !--play_ready )
+ {
+ check( saved_state.pc == badop_addr );
+ if ( r.pc != badop_addr )
+ saved_state = cpu::r;
+
+ r.pc = play_addr;
+ low_mem [0x100 + r.sp--] = (badop_addr - 1) >> 8;
+ low_mem [0x100 + r.sp--] = (badop_addr - 1) & 0xFF;
+ GME_FRAME_HOOK( this );
+ }
+ }
+ }
+
+ if ( cpu::error_count() )
+ {
+ cpu::clear_error_count();
+ set_warning( "Emulation error (illegal instruction)" );
+ }
+
+ duration = time();
+ next_play -= duration;
+ check( next_play >= 0 );
+ if ( next_play < 0 )
+ next_play = 0;
+
+ apu.end_frame( duration );
+
+ #if !NSF_EMU_APU_ONLY
+ {
+ if ( namco ) namco->end_frame( duration );
+ if ( vrc6 ) vrc6 ->end_frame( duration );
+ if ( fme7 ) fme7 ->end_frame( duration );
+ }
+ #endif
+
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Nsf_Emu.h b/plugins/gme/game-music-emu-svn/gme/Nsf_Emu.h
new file mode 100644
index 00000000..6b213529
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nsf_Emu.h
@@ -0,0 +1,106 @@
+// Nintendo NES/Famicom NSF music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef NSF_EMU_H
+#define NSF_EMU_H
+
+#include "Classic_Emu.h"
+#include "Nes_Apu.h"
+#include "Nes_Cpu.h"
+
+class Nsf_Emu : private Nes_Cpu, public Classic_Emu {
+ typedef Nes_Cpu cpu;
+public:
+ // Equalizer profiles for US NES and Japanese Famicom
+ static equalizer_t const nes_eq;
+ static equalizer_t const famicom_eq;
+
+ // NSF file header
+ enum { header_size = 0x80 };
+ struct header_t
+ {
+ char tag [5];
+ byte vers;
+ byte track_count;
+ byte first_track;
+ byte load_addr [2];
+ byte init_addr [2];
+ byte play_addr [2];
+ char game [32];
+ char author [32];
+ char copyright [32];
+ byte ntsc_speed [2];
+ byte banks [8];
+ byte pal_speed [2];
+ byte speed_flags;
+ byte chip_flags;
+ byte unused [4];
+ };
+
+ // Header for currently loaded file
+ header_t const& header() const { return header_; }
+
+ static gme_type_t static_type() { return gme_nsf_type; }
+
+public:
+ // deprecated
+ Music_Emu::load;
+ blargg_err_t load( header_t const& h, Data_Reader& in ) // use Remaining_Reader
+ { return load_remaining_( &h, sizeof h, in ); }
+
+public:
+ Nsf_Emu();
+ ~Nsf_Emu();
+ Nes_Apu* apu_() { return &apu; }
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_( Data_Reader& );
+ blargg_err_t start_track_( int );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+ void unload();
+protected:
+ enum { bank_count = 8 };
+ byte initial_banks [bank_count];
+ nes_addr_t init_addr;
+ nes_addr_t play_addr;
+ double clock_rate_;
+ bool pal_only;
+
+ // timing
+ Nes_Cpu::registers_t saved_state;
+ nes_time_t next_play;
+ nes_time_t play_period;
+ int play_extra;
+ int play_ready;
+
+ enum { rom_begin = 0x8000 };
+ enum { bank_select_addr = 0x5FF8 };
+ enum { bank_size = 0x1000 };
+ Rom_Data<bank_size> rom;
+
+public: private: friend class Nes_Cpu;
+ void cpu_jsr( nes_addr_t );
+ int cpu_read( nes_addr_t );
+ void cpu_write( nes_addr_t, int );
+ void cpu_write_misc( nes_addr_t, int );
+ enum { badop_addr = bank_select_addr };
+
+private:
+ class Nes_Namco_Apu* namco;
+ class Nes_Vrc6_Apu* vrc6;
+ class Nes_Fme7_Apu* fme7;
+ Nes_Apu apu;
+ static int pcm_read( void*, nes_addr_t );
+ blargg_err_t init_sound();
+
+ header_t header_;
+
+ enum { sram_addr = 0x6000 };
+ byte sram [0x2000];
+ byte unmapped_code [Nes_Cpu::page_size + 8];
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.cpp
new file mode 100644
index 00000000..eb8cdadf
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.cpp
@@ -0,0 +1,332 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Nsfe_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+#include <ctype.h>
+
+/* Copyright (C) 2005-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+Nsfe_Info::Nsfe_Info() { playlist_disabled = false; }
+
+Nsfe_Info::~Nsfe_Info() { }
+
+inline void Nsfe_Info::unload()
+{
+ track_name_data.clear();
+ track_names.clear();
+ playlist.clear();
+ track_times.clear();
+}
+
+// TODO: if no playlist, treat as if there is a playlist that is just 1,2,3,4,5... ?
+void Nsfe_Info::disable_playlist( bool b )
+{
+ playlist_disabled = b;
+ info.track_count = playlist.size();
+ if ( !info.track_count || playlist_disabled )
+ info.track_count = actual_track_count_;
+}
+
+int Nsfe_Info::remap_track( int track ) const
+{
+ if ( !playlist_disabled && (unsigned) track < playlist.size() )
+ track = playlist [track];
+ return track;
+}
+
+// Read multiple strings and separate into individual strings
+static blargg_err_t read_strs( Data_Reader& in, long size, blargg_vector<char>& chars,
+ blargg_vector<const char*>& strs )
+{
+ RETURN_ERR( chars.resize( size + 1 ) );
+ chars [size] = 0; // in case last string doesn't have terminator
+ RETURN_ERR( in.read( &chars [0], size ) );
+
+ RETURN_ERR( strs.resize( 128 ) );
+ int count = 0;
+ for ( int i = 0; i < size; i++ )
+ {
+ if ( (int) strs.size() <= count )
+ RETURN_ERR( strs.resize( count * 2 ) );
+ strs [count++] = &chars [i];
+ while ( i < size && chars [i] )
+ i++;
+ }
+
+ return strs.resize( count );
+}
+
+// Copy in to out, where out has out_max characters allocated. Truncate to
+// out_max - 1 characters.
+static void copy_str( const char* in, char* out, int out_max )
+{
+ out [out_max - 1] = 0;
+ strncpy( out, in, out_max - 1 );
+}
+
+struct nsfe_info_t
+{
+ byte load_addr [2];
+ byte init_addr [2];
+ byte play_addr [2];
+ byte speed_flags;
+ byte chip_flags;
+ byte track_count;
+ byte first_track;
+ byte unused [6];
+};
+
+blargg_err_t Nsfe_Info::load( Data_Reader& in, Nsf_Emu* nsf_emu )
+{
+ int const nsfe_info_size = 16;
+ assert( offsetof (nsfe_info_t,unused [6]) == nsfe_info_size );
+
+ // check header
+ byte signature [4];
+ blargg_err_t err = in.read( signature, sizeof signature );
+ if ( err )
+ return (err == in.eof_error ? gme_wrong_file_type : err);
+ if ( memcmp( signature, "NSFE", 4 ) )
+ return gme_wrong_file_type;
+
+ // free previous info
+ track_name_data.clear();
+ track_names.clear();
+ playlist.clear();
+ track_times.clear();
+
+ // default nsf header
+ static const Nsf_Emu::header_t base_header =
+ {
+ {'N','E','S','M','\x1A'},// tag
+ 1, // version
+ 1, 1, // track count, first track
+ {0,0},{0,0},{0,0}, // addresses
+ "","","", // strings
+ {0x1A, 0x41}, // NTSC rate
+ {0,0,0,0,0,0,0,0}, // banks
+ {0x20, 0x4E}, // PAL rate
+ 0, 0, // flags
+ {0,0,0,0} // unused
+ };
+ Nsf_Emu::header_t& header = info;
+ header = base_header;
+
+ // parse tags
+ int phase = 0;
+ while ( phase != 3 )
+ {
+ // read size and tag
+ byte block_header [2] [4];
+ RETURN_ERR( in.read( block_header, sizeof block_header ) );
+ blargg_long size = get_le32( block_header [0] );
+ blargg_long tag = get_le32( block_header [1] );
+
+ //debug_printf( "tag: %c%c%c%c\n", char(tag), char(tag>>8), char(tag>>16), char(tag>>24) );
+
+ switch ( tag )
+ {
+ case BLARGG_4CHAR('O','F','N','I'): {
+ check( phase == 0 );
+ if ( size < 8 )
+ return "Corrupt file";
+
+ nsfe_info_t finfo;
+ finfo.track_count = 1;
+ finfo.first_track = 0;
+
+ RETURN_ERR( in.read( &finfo, min( size, (blargg_long) nsfe_info_size ) ) );
+ if ( size > nsfe_info_size )
+ RETURN_ERR( in.skip( size - nsfe_info_size ) );
+ phase = 1;
+ info.speed_flags = finfo.speed_flags;
+ info.chip_flags = finfo.chip_flags;
+ info.track_count = finfo.track_count;
+ this->actual_track_count_ = finfo.track_count;
+ info.first_track = finfo.first_track;
+ memcpy( info.load_addr, finfo.load_addr, 2 * 3 );
+ break;
+ }
+
+ case BLARGG_4CHAR('K','N','A','B'):
+ if ( size > (int) sizeof info.banks )
+ return "Corrupt file";
+ RETURN_ERR( in.read( info.banks, size ) );
+ break;
+
+ case BLARGG_4CHAR('h','t','u','a'): {
+ blargg_vector<char> chars;
+ blargg_vector<const char*> strs;
+ RETURN_ERR( read_strs( in, size, chars, strs ) );
+ int n = strs.size();
+
+ if ( n > 3 )
+ copy_str( strs [3], info.dumper, sizeof info.dumper );
+
+ if ( n > 2 )
+ copy_str( strs [2], info.copyright, sizeof info.copyright );
+
+ if ( n > 1 )
+ copy_str( strs [1], info.author, sizeof info.author );
+
+ if ( n > 0 )
+ copy_str( strs [0], info.game, sizeof info.game );
+
+ break;
+ }
+
+ case BLARGG_4CHAR('e','m','i','t'):
+ RETURN_ERR( track_times.resize( size / 4 ) );
+ RETURN_ERR( in.read( track_times.begin(), track_times.size() * 4 ) );
+ break;
+
+ case BLARGG_4CHAR('l','b','l','t'):
+ RETURN_ERR( read_strs( in, size, track_name_data, track_names ) );
+ break;
+
+ case BLARGG_4CHAR('t','s','l','p'):
+ RETURN_ERR( playlist.resize( size ) );
+ RETURN_ERR( in.read( &playlist [0], size ) );
+ break;
+
+ case BLARGG_4CHAR('A','T','A','D'): {
+ check( phase == 1 );
+ phase = 2;
+ if ( !nsf_emu )
+ {
+ RETURN_ERR( in.skip( size ) );
+ }
+ else
+ {
+ Subset_Reader sub( &in, size ); // limit emu to nsf data
+ Remaining_Reader rem( &header, Nsf_Emu::header_size, &sub );
+ RETURN_ERR( nsf_emu->load( rem ) );
+ check( rem.remain() == 0 );
+ }
+ break;
+ }
+
+ case BLARGG_4CHAR('D','N','E','N'):
+ check( phase == 2 );
+ phase = 3;
+ break;
+
+ default:
+ // tags that can be skipped start with a lowercase character
+ check( islower( (tag >> 24) & 0xFF ) );
+ RETURN_ERR( in.skip( size ) );
+ break;
+ }
+ }
+
+ return 0;
+}
+
+blargg_err_t Nsfe_Info::track_info_( track_info_t* out, int track ) const
+{
+ int remapped = remap_track( track );
+ if ( (unsigned) remapped < track_times.size() )
+ {
+ long length = (BOOST::int32_t) get_le32( track_times [remapped] );
+ if ( length > 0 )
+ out->length = length;
+ }
+ if ( (unsigned) remapped < track_names.size() )
+ Gme_File::copy_field_( out->song, track_names [remapped] );
+
+ GME_COPY_FIELD( info, out, game );
+ GME_COPY_FIELD( info, out, author );
+ GME_COPY_FIELD( info, out, copyright );
+ GME_COPY_FIELD( info, out, dumper );
+ return 0;
+}
+
+Nsfe_Emu::Nsfe_Emu()
+{
+ loading = false;
+ set_type( gme_nsfe_type );
+}
+
+Nsfe_Emu::~Nsfe_Emu() { }
+
+void Nsfe_Emu::unload()
+{
+ if ( !loading )
+ info.unload(); // TODO: extremely hacky!
+ Nsf_Emu::unload();
+}
+
+blargg_err_t Nsfe_Emu::track_info_( track_info_t* out, int track ) const
+{
+ return info.track_info_( out, track );
+}
+
+struct Nsfe_File : Gme_Info_
+{
+ Nsfe_Info info;
+
+ Nsfe_File() { set_type( gme_nsfe_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ RETURN_ERR( info.load( in, 0 ) );
+ info.disable_playlist( false );
+ set_track_count( info.info.track_count );
+ return 0;
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int track ) const
+ {
+ return info.track_info_( out, track );
+ }
+};
+
+static Music_Emu* new_nsfe_emu () { return BLARGG_NEW Nsfe_Emu ; }
+static Music_Emu* new_nsfe_file() { return BLARGG_NEW Nsfe_File; }
+
+static gme_type_t_ const gme_nsfe_type_ = { "Nintendo NES", 0, &new_nsfe_emu, &new_nsfe_file, "NSFE", 1 };
+gme_type_t const gme_nsfe_type = &gme_nsfe_type_;
+
+
+blargg_err_t Nsfe_Emu::load_( Data_Reader& in )
+{
+ if ( loading )
+ return Nsf_Emu::load_( in );
+
+ // TODO: this hacky recursion-avoidance could have subtle problems
+ loading = true;
+ blargg_err_t err = info.load( in, this );
+ loading = false;
+ disable_playlist( false );
+ return err;
+}
+
+void Nsfe_Emu::disable_playlist( bool b )
+{
+ info.disable_playlist( b );
+ set_track_count( info.info.track_count );
+}
+
+void Nsfe_Emu::clear_playlist_()
+{
+ disable_playlist();
+ Nsf_Emu::clear_playlist_();
+}
+
+blargg_err_t Nsfe_Emu::start_track_( int track )
+{
+ return Nsf_Emu::start_track_( info.remap_track( track ) );
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.h b/plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.h
new file mode 100644
index 00000000..7971e47b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Nsfe_Emu.h
@@ -0,0 +1,68 @@
+// Nintendo NES/Famicom NSFE music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef NSFE_EMU_H
+#define NSFE_EMU_H
+
+#include "blargg_common.h"
+#include "Nsf_Emu.h"
+
+// Allows reading info from NSFE file without creating emulator
+class Nsfe_Info {
+public:
+ blargg_err_t load( Data_Reader&, Nsf_Emu* );
+
+ struct info_t : Nsf_Emu::header_t
+ {
+ char game [256];
+ char author [256];
+ char copyright [256];
+ char dumper [256];
+ } info;
+
+ void disable_playlist( bool = true );
+
+ blargg_err_t track_info_( track_info_t* out, int track ) const;
+
+ int remap_track( int i ) const;
+
+ void unload();
+
+ Nsfe_Info();
+ ~Nsfe_Info();
+private:
+ blargg_vector<char> track_name_data;
+ blargg_vector<const char*> track_names;
+ blargg_vector<unsigned char> playlist;
+ blargg_vector<char [4]> track_times;
+ int actual_track_count_;
+ bool playlist_disabled;
+};
+
+class Nsfe_Emu : public Nsf_Emu {
+public:
+ static gme_type_t static_type() { return gme_nsfe_type; }
+
+public:
+ // deprecated
+ struct header_t { char tag [4]; };
+ Music_Emu::load;
+ blargg_err_t load( header_t const& h, Data_Reader& in ) // use Remaining_Reader
+ { return load_remaining_( &h, sizeof h, in ); }
+ void disable_playlist( bool = true ); // use clear_playlist()
+
+public:
+ Nsfe_Emu();
+ ~Nsfe_Emu();
+protected:
+ blargg_err_t load_( Data_Reader& );
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t start_track_( int );
+ void unload();
+ void clear_playlist_();
+private:
+ Nsfe_Info info;
+ bool loading;
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Sap_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Sap_Apu.cpp
new file mode 100644
index 00000000..fa9bc4b1
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sap_Apu.cpp
@@ -0,0 +1,334 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Sap_Apu.h"
+
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+int const max_frequency = 12000; // pure waves above this frequency are silenced
+
+static void gen_poly( blargg_ulong mask, int count, byte* out )
+{
+ blargg_ulong n = 1;
+ do
+ {
+ int bits = 0;
+ int b = 0;
+ do
+ {
+ // implemented using "Galios configuration"
+ bits |= (n & 1) << b;
+ n = (n >> 1) ^ (mask & -(n & 1));
+ }
+ while ( b++ < 7 );
+ *out++ = bits;
+ }
+ while ( --count );
+}
+
+// poly5
+int const poly5_len = (1 << 5) - 1;
+blargg_ulong const poly5_mask = (1UL << poly5_len) - 1;
+blargg_ulong const poly5 = 0x167C6EA1;
+
+inline blargg_ulong run_poly5( blargg_ulong in, int shift )
+{
+ return (in << shift & poly5_mask) | (in >> (poly5_len - shift));
+}
+
+#define POLY_MASK( width, tap1, tap2 ) \
+ ((1UL << (width - 1 - tap1)) | (1UL << (width - 1 - tap2)))
+
+Sap_Apu_Impl::Sap_Apu_Impl()
+{
+ gen_poly( POLY_MASK( 4, 1, 0 ), sizeof poly4, poly4 );
+ gen_poly( POLY_MASK( 9, 5, 0 ), sizeof poly9, poly9 );
+ gen_poly( POLY_MASK( 17, 5, 0 ), sizeof poly17, poly17 );
+
+ if ( 0 ) // comment out to recauculate poly5 constant
+ {
+ byte poly5 [4];
+ gen_poly( POLY_MASK( 5, 2, 0 ), sizeof poly5, poly5 );
+ blargg_ulong n = poly5 [3] * 0x1000000L + poly5 [2] * 0x10000L +
+ poly5 [1] * 0x100L + poly5 [0];
+ blargg_ulong rev = n & 1;
+ for ( int i = 1; i < poly5_len; i++ )
+ rev |= (n >> i & 1) << (poly5_len - i);
+ debug_printf( "poly5: 0x%08lX\n", rev );
+ }
+}
+
+Sap_Apu::Sap_Apu()
+{
+ impl = 0;
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, 0 );
+}
+
+void Sap_Apu::reset( Sap_Apu_Impl* new_impl )
+{
+ impl = new_impl;
+ last_time = 0;
+ poly5_pos = 0;
+ poly4_pos = 0;
+ polym_pos = 0;
+ control = 0;
+
+ for ( int i = 0; i < osc_count; i++ )
+ memset( &oscs [i], 0, offsetof (osc_t,output) );
+}
+
+inline void Sap_Apu::calc_periods()
+{
+ // 15/64 kHz clock
+ int divider = 28;
+ if ( this->control & 1 )
+ divider = 114;
+
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ osc_t* const osc = &oscs [i];
+
+ int const osc_reload = osc->regs [0]; // cache
+ blargg_long period = (osc_reload + 1) * divider;
+ static byte const fast_bits [osc_count] = { 1 << 6, 1 << 4, 1 << 5, 1 << 3 };
+ if ( this->control & fast_bits [i] )
+ {
+ period = osc_reload + 4;
+ if ( i & 1 )
+ {
+ period = osc_reload * 0x100L + osc [-1].regs [0] + 7;
+ if ( !(this->control & fast_bits [i - 1]) )
+ period = (period - 6) * divider;
+
+ if ( (osc [-1].regs [1] & 0x1F) > 0x10 )
+ debug_printf( "Use of slave channel in 16-bit mode not supported\n" );
+ }
+ }
+ osc->period = period;
+ }
+}
+
+void Sap_Apu::run_until( blip_time_t end_time )
+{
+ calc_periods();
+ Sap_Apu_Impl* const impl = this->impl; // cache
+
+ // 17/9-bit poly selection
+ byte const* polym = impl->poly17;
+ int polym_len = poly17_len;
+ if ( this->control & 0x80 )
+ {
+ polym_len = poly9_len;
+ polym = impl->poly9;
+ }
+ polym_pos %= polym_len;
+
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ osc_t* const osc = &oscs [i];
+ blip_time_t time = last_time + osc->delay;
+ blip_time_t const period = osc->period;
+
+ // output
+ Blip_Buffer* output = osc->output;
+ if ( output )
+ {
+ output->set_modified();
+
+ int const osc_control = osc->regs [1]; // cache
+ int volume = (osc_control & 0x0F) * 2;
+ if ( !volume || osc_control & 0x10 || // silent, DAC mode, or inaudible frequency
+ ((osc_control & 0xA0) == 0xA0 && period < 1789773 / 2 / max_frequency) )
+ {
+ if ( !(osc_control & 0x10) )
+ volume >>= 1; // inaudible frequency = half volume
+
+ int delta = volume - osc->last_amp;
+ if ( delta )
+ {
+ osc->last_amp = volume;
+ impl->synth.offset( last_time, delta, output );
+ }
+
+ // TODO: doesn't maintain high pass flip-flop (very minor issue)
+ }
+ else
+ {
+ // high pass
+ static byte const hipass_bits [osc_count] = { 1 << 2, 1 << 1, 0, 0 };
+ blip_time_t period2 = 0; // unused if no high pass
+ blip_time_t time2 = end_time;
+ if ( this->control & hipass_bits [i] )
+ {
+ period2 = osc [2].period;
+ time2 = last_time + osc [2].delay;
+ if ( osc->invert )
+ {
+ // trick inner wave loop into inverting output
+ osc->last_amp -= volume;
+ volume = -volume;
+ }
+ }
+
+ if ( time < end_time || time2 < end_time )
+ {
+ // poly source
+ static byte const poly1 [] = { 0x55, 0x55 }; // square wave
+ byte const* poly = poly1;
+ int poly_len = 8 * sizeof poly1; // can be just 2 bits, but this is faster
+ int poly_pos = osc->phase & 1;
+ int poly_inc = 1;
+ if ( !(osc_control & 0x20) )
+ {
+ poly = polym;
+ poly_len = polym_len;
+ poly_pos = polym_pos;
+ if ( osc_control & 0x40 )
+ {
+ poly = impl->poly4;
+ poly_len = poly4_len;
+ poly_pos = poly4_pos;
+ }
+ poly_inc = period % poly_len;
+ poly_pos = (poly_pos + osc->delay) % poly_len;
+ }
+ poly_inc -= poly_len; // allows more optimized inner loop below
+
+ // square/poly5 wave
+ blargg_ulong wave = poly5;
+ check( poly5 & 1 ); // low bit is set for pure wave
+ int poly5_inc = 0;
+ if ( !(osc_control & 0x80) )
+ {
+ wave = run_poly5( wave, (osc->delay + poly5_pos) % poly5_len );
+ poly5_inc = period % poly5_len;
+ }
+
+ // Run wave and high pass interleved with each catching up to the other.
+ // Disabled high pass has no performance effect since inner wave loop
+ // makes no compromise for high pass, and only runs once in that case.
+ int osc_last_amp = osc->last_amp;
+ do
+ {
+ // run high pass
+ if ( time2 < time )
+ {
+ int delta = -osc_last_amp;
+ if ( volume < 0 )
+ delta += volume;
+ if ( delta )
+ {
+ osc_last_amp += delta - volume;
+ volume = -volume;
+ impl->synth.offset( time2, delta, output );
+ }
+ }
+ while ( time2 <= time ) // must advance *past* time to avoid hang
+ time2 += period2;
+
+ // run wave
+ blip_time_t end = end_time;
+ if ( end > time2 )
+ end = time2;
+ while ( time < end )
+ {
+ if ( wave & 1 )
+ {
+ int amp = volume & -(poly [poly_pos >> 3] >> (poly_pos & 7) & 1);
+ if ( (poly_pos += poly_inc) < 0 )
+ poly_pos += poly_len;
+ int delta = amp - osc_last_amp;
+ if ( delta )
+ {
+ osc_last_amp = amp;
+ impl->synth.offset( time, delta, output );
+ }
+ }
+ wave = run_poly5( wave, poly5_inc );
+ time += period;
+ }
+ }
+ while ( time < end_time || time2 < end_time );
+
+ osc->phase = poly_pos;
+ osc->last_amp = osc_last_amp;
+ }
+
+ osc->invert = 0;
+ if ( volume < 0 )
+ {
+ // undo inversion trickery
+ osc->last_amp -= volume;
+ osc->invert = 1;
+ }
+ }
+ }
+
+ // maintain divider
+ blip_time_t remain = end_time - time;
+ if ( remain > 0 )
+ {
+ blargg_long count = (remain + period - 1) / period;
+ osc->phase ^= count;
+ time += count * period;
+ }
+ osc->delay = time - end_time;
+ }
+
+ // advance polies
+ blip_time_t duration = end_time - last_time;
+ last_time = end_time;
+ poly4_pos = (poly4_pos + duration) % poly4_len;
+ poly5_pos = (poly5_pos + duration) % poly5_len;
+ polym_pos += duration; // will get %'d on next call
+}
+
+void Sap_Apu::write_data( blip_time_t time, unsigned addr, int data )
+{
+ run_until( time );
+ int i = (addr ^ 0xD200) >> 1;
+ if ( i < osc_count )
+ {
+ oscs [i].regs [addr & 1] = data;
+ }
+ else if ( addr == 0xD208 )
+ {
+ control = data;
+ }
+ else if ( addr == 0xD209 )
+ {
+ oscs [0].delay = 0;
+ oscs [1].delay = 0;
+ oscs [2].delay = 0;
+ oscs [3].delay = 0;
+ }
+ /*
+ // TODO: are polynomials reset in this case?
+ else if ( addr == 0xD20F )
+ {
+ if ( (data & 3) == 0 )
+ polym_pos = 0;
+ }
+ */
+}
+
+void Sap_Apu::end_frame( blip_time_t end_time )
+{
+ if ( end_time > last_time )
+ run_until( end_time );
+
+ last_time -= end_time;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Sap_Apu.h b/plugins/gme/game-music-emu-svn/gme/Sap_Apu.h
new file mode 100644
index 00000000..a573499c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sap_Apu.h
@@ -0,0 +1,77 @@
+// Atari POKEY sound chip emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef SAP_APU_H
+#define SAP_APU_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+class Sap_Apu_Impl;
+
+class Sap_Apu {
+public:
+ enum { osc_count = 4 };
+ void osc_output( int index, Blip_Buffer* );
+
+ void reset( Sap_Apu_Impl* );
+
+ enum { start_addr = 0xD200 };
+ enum { end_addr = 0xD209 };
+ void write_data( blip_time_t, unsigned addr, int data );
+
+ void end_frame( blip_time_t );
+
+public:
+ Sap_Apu();
+private:
+ struct osc_t
+ {
+ unsigned char regs [2];
+ unsigned char phase;
+ unsigned char invert;
+ int last_amp;
+ blip_time_t delay;
+ blip_time_t period; // always recalculated before use; here for convenience
+ Blip_Buffer* output;
+ };
+ osc_t oscs [osc_count];
+ Sap_Apu_Impl* impl;
+ blip_time_t last_time;
+ int poly5_pos;
+ int poly4_pos;
+ int polym_pos;
+ int control;
+
+ void calc_periods();
+ void run_until( blip_time_t );
+
+ enum { poly4_len = (1L << 4) - 1 };
+ enum { poly9_len = (1L << 9) - 1 };
+ enum { poly17_len = (1L << 17) - 1 };
+ friend class Sap_Apu_Impl;
+};
+
+// Common tables and Blip_Synth that can be shared among multiple Sap_Apu objects
+class Sap_Apu_Impl {
+public:
+ Blip_Synth<blip_good_quality,1> synth;
+
+ Sap_Apu_Impl();
+ void volume( double d ) { synth.volume( 1.0 / Sap_Apu::osc_count / 30 * d ); }
+
+private:
+ typedef unsigned char byte;
+ byte poly4 [Sap_Apu::poly4_len / 8 + 1];
+ byte poly9 [Sap_Apu::poly9_len / 8 + 1];
+ byte poly17 [Sap_Apu::poly17_len / 8 + 1];
+ friend class Sap_Apu;
+};
+
+inline void Sap_Apu::osc_output( int i, Blip_Buffer* b )
+{
+ assert( (unsigned) i < osc_count );
+ oscs [i].output = b;
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Sap_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Sap_Cpu.cpp
new file mode 100644
index 00000000..35e1b511
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sap_Cpu.cpp
@@ -0,0 +1,1011 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Sap_Cpu.h"
+
+#include <limits.h>
+#include "blargg_endian.h"
+
+//#include "nes_cpu_log.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#define FLUSH_TIME() (void) (s.time = s_time)
+#define CACHE_TIME() (void) (s_time = s.time)
+
+#include "sap_cpu_io.h"
+
+#ifndef CPU_DONE
+ #define CPU_DONE( cpu, time, result_out ) { result_out = -1; }
+#endif
+
+#include "blargg_source.h"
+
+int const st_n = 0x80;
+int const st_v = 0x40;
+int const st_r = 0x20;
+int const st_b = 0x10;
+int const st_d = 0x08;
+int const st_i = 0x04;
+int const st_z = 0x02;
+int const st_c = 0x01;
+
+void Sap_Cpu::reset( void* new_mem )
+{
+ check( state == &state_ );
+ state = &state_;
+ mem = (uint8_t*) new_mem;
+ r.status = st_i;
+ r.sp = 0xFF;
+ r.pc = 0;
+ r.a = 0;
+ r.x = 0;
+ r.y = 0;
+ state_.time = 0;
+ state_.base = 0;
+ irq_time_ = future_sap_time;
+ end_time_ = future_sap_time;
+
+ blargg_verify_byte_order();
+}
+
+#define TIME (s_time + s.base)
+#define READ( addr ) CPU_READ( this, (addr), TIME )
+#define WRITE( addr, data ) {CPU_WRITE( this, (addr), (data), TIME );}
+#define READ_LOW( addr ) (mem [int (addr)])
+#define WRITE_LOW( addr, data ) (void) (READ_LOW( addr ) = (data))
+#define READ_PROG( addr ) (READ_LOW( addr ))
+
+#define SET_SP( v ) (sp = ((v) + 1) | 0x100)
+#define GET_SP() ((sp - 1) & 0xFF)
+#define PUSH( v ) ((sp = (sp - 1) | 0x100), WRITE_LOW( sp, v ))
+
+// even on x86, using short and unsigned char was slower
+typedef int fint16;
+typedef unsigned fuint16;
+typedef unsigned fuint8;
+typedef blargg_long fint32;
+
+bool Sap_Cpu::run( sap_time_t end_time )
+{
+ bool illegal_encountered = false;
+ set_end_time( end_time );
+ state_t s = this->state_;
+ this->state = &s;
+ fint32 s_time = s.time;
+ uint8_t* const mem = this->mem; // cache
+
+ // registers
+ fuint16 pc = r.pc;
+ fuint8 a = r.a;
+ fuint8 x = r.x;
+ fuint8 y = r.y;
+ fuint16 sp;
+ SET_SP( r.sp );
+
+ // status flags
+ #define IS_NEG (nz & 0x8080)
+
+ #define CALC_STATUS( out ) do {\
+ out = status & (st_v | st_d | st_i);\
+ out |= ((nz >> 8) | nz) & st_n;\
+ out |= c >> 8 & st_c;\
+ if ( !(nz & 0xFF) ) out |= st_z;\
+ } while ( 0 )
+
+ #define SET_STATUS( in ) do {\
+ status = in & (st_v | st_d | st_i);\
+ nz = in << 8;\
+ c = nz;\
+ nz |= ~in & st_z;\
+ } while ( 0 )
+
+ fuint8 status;
+ fuint16 c; // carry set if (c & 0x100) != 0
+ fuint16 nz; // Z set if (nz & 0xFF) == 0, N set if (nz & 0x8080) != 0
+ {
+ fuint8 temp = r.status;
+ SET_STATUS( temp );
+ }
+
+ goto loop;
+dec_clock_loop:
+ s_time--;
+loop:
+
+ #ifndef NDEBUG
+ {
+ sap_time_t correct = end_time_;
+ if ( !(status & st_i) && correct > irq_time_ )
+ correct = irq_time_;
+ check( s.base == correct );
+ }
+ #endif
+
+ check( (unsigned) GET_SP() < 0x100 );
+ check( (unsigned) a < 0x100 );
+ check( (unsigned) x < 0x100 );
+ check( (unsigned) y < 0x100 );
+
+ fuint8 opcode = mem [pc];
+ pc++;
+ uint8_t const* instr = mem + pc;
+
+ static uint8_t const clock_table [256] =
+ {// 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 0,6,2,8,3,3,5,5,3,2,2,2,4,4,6,6,// 0
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 1
+ 6,6,2,8,3,3,5,5,4,2,2,2,4,4,6,6,// 2
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 3
+ 6,6,2,8,3,3,5,5,3,2,2,2,3,4,6,6,// 4
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 5
+ 6,6,2,8,3,3,5,5,4,2,2,2,5,4,6,6,// 6
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// 7
+ 2,6,2,6,3,3,3,3,2,2,2,2,4,4,4,4,// 8
+ 3,6,2,6,4,4,4,4,2,5,2,5,5,5,5,5,// 9
+ 2,6,2,6,3,3,3,3,2,2,2,2,4,4,4,4,// A
+ 3,5,2,5,4,4,4,4,2,4,2,4,4,4,4,4,// B
+ 2,6,2,8,3,3,5,5,2,2,2,2,4,4,6,6,// C
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7,// D
+ 2,6,2,8,3,3,5,5,2,2,2,2,4,4,6,6,// E
+ 3,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7 // F
+ }; // 0x00 was 7
+
+ fuint16 data;
+ data = clock_table [opcode];
+ if ( (s_time += data) >= 0 )
+ goto possibly_out_of_time;
+almost_out_of_time:
+
+ data = *instr;
+
+ #ifdef NES_CPU_LOG_H
+ nes_cpu_log( "cpu_log", pc - 1, opcode, instr [0], instr [1] );
+ #endif
+
+ switch ( opcode )
+ {
+possibly_out_of_time:
+ if ( s_time < (int) data )
+ goto almost_out_of_time;
+ s_time -= data;
+ goto out_of_time;
+
+// Macros
+
+#define GET_MSB() (instr [1])
+#define ADD_PAGE() (pc++, data += 0x100 * GET_MSB())
+#define GET_ADDR() GET_LE16( instr )
+
+#define NO_PAGE_CROSSING( lsb )
+#define HANDLE_PAGE_CROSSING( lsb ) s_time += (lsb) >> 8;
+
+#define INC_DEC_XY( reg, n ) reg = uint8_t (nz = reg + n); goto loop;
+
+#define IND_Y( cross, out ) {\
+ fuint16 temp = READ_LOW( data ) + y;\
+ out = temp + 0x100 * READ_LOW( uint8_t (data + 1) );\
+ cross( temp );\
+ }
+
+#define IND_X( out ) {\
+ fuint16 temp = data + x;\
+ out = 0x100 * READ_LOW( uint8_t (temp + 1) ) + READ_LOW( uint8_t (temp) );\
+ }
+
+#define ARITH_ADDR_MODES( op )\
+case op - 0x04: /* (ind,x) */\
+ IND_X( data )\
+ goto ptr##op;\
+case op + 0x0C: /* (ind),y */\
+ IND_Y( HANDLE_PAGE_CROSSING, data )\
+ goto ptr##op;\
+case op + 0x10: /* zp,X */\
+ data = uint8_t (data + x);\
+case op + 0x00: /* zp */\
+ data = READ_LOW( data );\
+ goto imm##op;\
+case op + 0x14: /* abs,Y */\
+ data += y;\
+ goto ind##op;\
+case op + 0x18: /* abs,X */\
+ data += x;\
+ind##op:\
+ HANDLE_PAGE_CROSSING( data );\
+case op + 0x08: /* abs */\
+ ADD_PAGE();\
+ptr##op:\
+ FLUSH_TIME();\
+ data = READ( data );\
+ CACHE_TIME();\
+case op + 0x04: /* imm */\
+imm##op:
+
+// TODO: more efficient way to handle negative branch that wraps PC around
+#define BRANCH( cond )\
+{\
+ fint16 offset = (BOOST::int8_t) data;\
+ fuint16 extra_clock = (++pc & 0xFF) + offset;\
+ if ( !(cond) ) goto dec_clock_loop;\
+ pc += offset;\
+ s_time += extra_clock >> 8 & 1;\
+ goto loop;\
+}
+
+// Often-Used
+
+ case 0xB5: // LDA zp,x
+ a = nz = READ_LOW( uint8_t (data + x) );
+ pc++;
+ goto loop;
+
+ case 0xA5: // LDA zp
+ a = nz = READ_LOW( data );
+ pc++;
+ goto loop;
+
+ case 0xD0: // BNE
+ BRANCH( (uint8_t) nz );
+
+ case 0x20: { // JSR
+ fuint16 temp = pc + 1;
+ pc = GET_ADDR();
+ WRITE_LOW( 0x100 | (sp - 1), temp >> 8 );
+ sp = (sp - 2) | 0x100;
+ WRITE_LOW( sp, temp );
+ goto loop;
+ }
+
+ case 0x4C: // JMP abs
+ pc = GET_ADDR();
+ goto loop;
+
+ case 0xE8: // INX
+ INC_DEC_XY( x, 1 )
+
+ case 0x10: // BPL
+ BRANCH( !IS_NEG )
+
+ ARITH_ADDR_MODES( 0xC5 ) // CMP
+ nz = a - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ case 0x30: // BMI
+ BRANCH( IS_NEG )
+
+ case 0xF0: // BEQ
+ BRANCH( !(uint8_t) nz );
+
+ case 0x95: // STA zp,x
+ data = uint8_t (data + x);
+ case 0x85: // STA zp
+ pc++;
+ WRITE_LOW( data, a );
+ goto loop;
+
+ case 0xC8: // INY
+ INC_DEC_XY( y, 1 )
+
+ case 0xA8: // TAY
+ y = a;
+ nz = a;
+ goto loop;
+
+ case 0x98: // TYA
+ a = y;
+ nz = y;
+ goto loop;
+
+ case 0xAD:{// LDA abs
+ unsigned addr = GET_ADDR();
+ pc += 2;
+ nz = READ( addr );
+ a = nz;
+ goto loop;
+ }
+
+ case 0x60: // RTS
+ pc = 1 + READ_LOW( sp );
+ pc += 0x100 * READ_LOW( 0x100 | (sp - 0xFF) );
+ sp = (sp - 0xFE) | 0x100;
+ goto loop;
+
+ {
+ fuint16 addr;
+
+ case 0x99: // STA abs,Y
+ addr = y + GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, a );
+ goto loop;
+ }
+ goto sta_ptr;
+
+ case 0x8D: // STA abs
+ addr = GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, a );
+ goto loop;
+ }
+ goto sta_ptr;
+
+ case 0x9D: // STA abs,X (slightly more common than STA abs)
+ addr = x + GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, a );
+ goto loop;
+ }
+ sta_ptr:
+ FLUSH_TIME();
+ WRITE( addr, a );
+ CACHE_TIME();
+ goto loop;
+
+ case 0x91: // STA (ind),Y
+ IND_Y( NO_PAGE_CROSSING, addr )
+ pc++;
+ goto sta_ptr;
+
+ case 0x81: // STA (ind,X)
+ IND_X( addr )
+ pc++;
+ goto sta_ptr;
+
+ }
+
+ case 0xA9: // LDA #imm
+ pc++;
+ a = data;
+ nz = data;
+ goto loop;
+
+ // common read instructions
+ {
+ fuint16 addr;
+
+ case 0xA1: // LDA (ind,X)
+ IND_X( addr )
+ pc++;
+ goto a_nz_read_addr;
+
+ case 0xB1:// LDA (ind),Y
+ addr = READ_LOW( data ) + y;
+ HANDLE_PAGE_CROSSING( addr );
+ addr += 0x100 * READ_LOW( (uint8_t) (data + 1) );
+ pc++;
+ a = nz = READ_PROG( addr );
+ if ( (addr ^ 0x8000) <= 0x9FFF )
+ goto loop;
+ goto a_nz_read_addr;
+
+ case 0xB9: // LDA abs,Y
+ HANDLE_PAGE_CROSSING( data + y );
+ addr = GET_ADDR() + y;
+ pc += 2;
+ a = nz = READ_PROG( addr );
+ if ( (addr ^ 0x8000) <= 0x9FFF )
+ goto loop;
+ goto a_nz_read_addr;
+
+ case 0xBD: // LDA abs,X
+ HANDLE_PAGE_CROSSING( data + x );
+ addr = GET_ADDR() + x;
+ pc += 2;
+ a = nz = READ_PROG( addr );
+ if ( (addr ^ 0x8000) <= 0x9FFF )
+ goto loop;
+ a_nz_read_addr:
+ FLUSH_TIME();
+ a = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+
+ }
+
+// Branch
+
+ case 0x50: // BVC
+ BRANCH( !(status & st_v) )
+
+ case 0x70: // BVS
+ BRANCH( status & st_v )
+
+ case 0xB0: // BCS
+ BRANCH( c & 0x100 )
+
+ case 0x90: // BCC
+ BRANCH( !(c & 0x100) )
+
+// Load/store
+
+ case 0x94: // STY zp,x
+ data = uint8_t (data + x);
+ case 0x84: // STY zp
+ pc++;
+ WRITE_LOW( data, y );
+ goto loop;
+
+ case 0x96: // STX zp,y
+ data = uint8_t (data + y);
+ case 0x86: // STX zp
+ pc++;
+ WRITE_LOW( data, x );
+ goto loop;
+
+ case 0xB6: // LDX zp,y
+ data = uint8_t (data + y);
+ case 0xA6: // LDX zp
+ data = READ_LOW( data );
+ case 0xA2: // LDX #imm
+ pc++;
+ x = data;
+ nz = data;
+ goto loop;
+
+ case 0xB4: // LDY zp,x
+ data = uint8_t (data + x);
+ case 0xA4: // LDY zp
+ data = READ_LOW( data );
+ case 0xA0: // LDY #imm
+ pc++;
+ y = data;
+ nz = data;
+ goto loop;
+
+ case 0xBC: // LDY abs,X
+ data += x;
+ HANDLE_PAGE_CROSSING( data );
+ case 0xAC:{// LDY abs
+ unsigned addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ FLUSH_TIME();
+ y = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ case 0xBE: // LDX abs,y
+ data += y;
+ HANDLE_PAGE_CROSSING( data );
+ case 0xAE:{// LDX abs
+ unsigned addr = data + 0x100 * GET_MSB();
+ pc += 2;
+ FLUSH_TIME();
+ x = nz = READ( addr );
+ CACHE_TIME();
+ goto loop;
+ }
+
+ {
+ fuint8 temp;
+ case 0x8C: // STY abs
+ temp = y;
+ goto store_abs;
+
+ case 0x8E: // STX abs
+ temp = x;
+ store_abs:
+ unsigned addr = GET_ADDR();
+ pc += 2;
+ if ( addr <= 0x7FF )
+ {
+ WRITE_LOW( addr, temp );
+ goto loop;
+ }
+ FLUSH_TIME();
+ WRITE( addr, temp );
+ CACHE_TIME();
+ goto loop;
+ }
+
+// Compare
+
+ case 0xEC:{// CPX abs
+ unsigned addr = GET_ADDR();
+ pc++;
+ FLUSH_TIME();
+ data = READ( addr );
+ CACHE_TIME();
+ goto cpx_data;
+ }
+
+ case 0xE4: // CPX zp
+ data = READ_LOW( data );
+ case 0xE0: // CPX #imm
+ cpx_data:
+ nz = x - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ case 0xCC:{// CPY abs
+ unsigned addr = GET_ADDR();
+ pc++;
+ FLUSH_TIME();
+ data = READ( addr );
+ CACHE_TIME();
+ goto cpy_data;
+ }
+
+ case 0xC4: // CPY zp
+ data = READ_LOW( data );
+ case 0xC0: // CPY #imm
+ cpy_data:
+ nz = y - data;
+ pc++;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+// Logical
+
+ ARITH_ADDR_MODES( 0x25 ) // AND
+ nz = (a &= data);
+ pc++;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x45 ) // EOR
+ nz = (a ^= data);
+ pc++;
+ goto loop;
+
+ ARITH_ADDR_MODES( 0x05 ) // ORA
+ nz = (a |= data);
+ pc++;
+ goto loop;
+
+ case 0x2C:{// BIT abs
+ unsigned addr = GET_ADDR();
+ pc += 2;
+ status &= ~st_v;
+ nz = READ( addr );
+ status |= nz & st_v;
+ if ( a & nz )
+ goto loop;
+ nz <<= 8; // result must be zero, even if N bit is set
+ goto loop;
+ }
+
+ case 0x24: // BIT zp
+ nz = READ_LOW( data );
+ pc++;
+ status &= ~st_v;
+ status |= nz & st_v;
+ if ( a & nz )
+ goto loop;
+ nz <<= 8; // result must be zero, even if N bit is set
+ goto loop;
+
+// Add/subtract
+
+ ARITH_ADDR_MODES( 0xE5 ) // SBC
+ case 0xEB: // unofficial equivalent
+ data ^= 0xFF;
+ goto adc_imm;
+
+ ARITH_ADDR_MODES( 0x65 ) // ADC
+ adc_imm: {
+ check( !(status & st_d) );
+ fint16 carry = c >> 8 & 1;
+ fint16 ov = (a ^ 0x80) + carry + (BOOST::int8_t) data; // sign-extend
+ status &= ~st_v;
+ status |= ov >> 2 & 0x40;
+ c = nz = a + data + carry;
+ pc++;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+// Shift/rotate
+
+ case 0x4A: // LSR A
+ c = 0;
+ case 0x6A: // ROR A
+ nz = c >> 1 & 0x80;
+ c = a << 8;
+ nz |= a >> 1;
+ a = nz;
+ goto loop;
+
+ case 0x0A: // ASL A
+ nz = a << 1;
+ c = nz;
+ a = (uint8_t) nz;
+ goto loop;
+
+ case 0x2A: { // ROL A
+ nz = a << 1;
+ fint16 temp = c >> 8 & 1;
+ c = nz;
+ nz |= temp;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+ case 0x5E: // LSR abs,X
+ data += x;
+ case 0x4E: // LSR abs
+ c = 0;
+ case 0x6E: // ROR abs
+ ror_abs: {
+ ADD_PAGE();
+ FLUSH_TIME();
+ int temp = READ( data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ goto rotate_common;
+ }
+
+ case 0x3E: // ROL abs,X
+ data += x;
+ goto rol_abs;
+
+ case 0x1E: // ASL abs,X
+ data += x;
+ case 0x0E: // ASL abs
+ c = 0;
+ case 0x2E: // ROL abs
+ rol_abs:
+ ADD_PAGE();
+ nz = c >> 8 & 1;
+ FLUSH_TIME();
+ nz |= (c = READ( data ) << 1);
+ rotate_common:
+ pc++;
+ WRITE( data, (uint8_t) nz );
+ CACHE_TIME();
+ goto loop;
+
+ case 0x7E: // ROR abs,X
+ data += x;
+ goto ror_abs;
+
+ case 0x76: // ROR zp,x
+ data = uint8_t (data + x);
+ goto ror_zp;
+
+ case 0x56: // LSR zp,x
+ data = uint8_t (data + x);
+ case 0x46: // LSR zp
+ c = 0;
+ case 0x66: // ROR zp
+ ror_zp: {
+ int temp = READ_LOW( data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ goto write_nz_zp;
+ }
+
+ case 0x36: // ROL zp,x
+ data = uint8_t (data + x);
+ goto rol_zp;
+
+ case 0x16: // ASL zp,x
+ data = uint8_t (data + x);
+ case 0x06: // ASL zp
+ c = 0;
+ case 0x26: // ROL zp
+ rol_zp:
+ nz = c >> 8 & 1;
+ nz |= (c = READ_LOW( data ) << 1);
+ goto write_nz_zp;
+
+// Increment/decrement
+
+ case 0xCA: // DEX
+ INC_DEC_XY( x, -1 )
+
+ case 0x88: // DEY
+ INC_DEC_XY( y, -1 )
+
+ case 0xF6: // INC zp,x
+ data = uint8_t (data + x);
+ case 0xE6: // INC zp
+ nz = 1;
+ goto add_nz_zp;
+
+ case 0xD6: // DEC zp,x
+ data = uint8_t (data + x);
+ case 0xC6: // DEC zp
+ nz = (unsigned) -1;
+ add_nz_zp:
+ nz += READ_LOW( data );
+ write_nz_zp:
+ pc++;
+ WRITE_LOW( data, nz );
+ goto loop;
+
+ case 0xFE: // INC abs,x
+ data = x + GET_ADDR();
+ goto inc_ptr;
+
+ case 0xEE: // INC abs
+ data = GET_ADDR();
+ inc_ptr:
+ nz = 1;
+ goto inc_common;
+
+ case 0xDE: // DEC abs,x
+ data = x + GET_ADDR();
+ goto dec_ptr;
+
+ case 0xCE: // DEC abs
+ data = GET_ADDR();
+ dec_ptr:
+ nz = (unsigned) -1;
+ inc_common:
+ FLUSH_TIME();
+ nz += READ( data );
+ pc += 2;
+ WRITE( data, (uint8_t) nz );
+ CACHE_TIME();
+ goto loop;
+
+// Transfer
+
+ case 0xAA: // TAX
+ x = a;
+ nz = a;
+ goto loop;
+
+ case 0x8A: // TXA
+ a = x;
+ nz = x;
+ goto loop;
+
+ case 0x9A: // TXS
+ SET_SP( x ); // verified (no flag change)
+ goto loop;
+
+ case 0xBA: // TSX
+ x = nz = GET_SP();
+ goto loop;
+
+// Stack
+
+ case 0x48: // PHA
+ PUSH( a ); // verified
+ goto loop;
+
+ case 0x68: // PLA
+ a = nz = READ_LOW( sp );
+ sp = (sp - 0xFF) | 0x100;
+ goto loop;
+
+ case 0x40:{// RTI
+ fuint8 temp = READ_LOW( sp );
+ pc = READ_LOW( 0x100 | (sp - 0xFF) );
+ pc |= READ_LOW( 0x100 | (sp - 0xFE) ) * 0x100;
+ sp = (sp - 0xFD) | 0x100;
+ data = status;
+ SET_STATUS( temp );
+ this->r.status = status; // update externally-visible I flag
+ if ( (data ^ status) & st_i )
+ {
+ sap_time_t new_time = end_time_;
+ if ( !(status & st_i) && new_time > irq_time_ )
+ new_time = irq_time_;
+ blargg_long delta = s.base - new_time;
+ s.base = new_time;
+ s_time += delta;
+ }
+ goto loop;
+ }
+
+ case 0x28:{// PLP
+ fuint8 temp = READ_LOW( sp );
+ sp = (sp - 0xFF) | 0x100;
+ fuint8 changed = status ^ temp;
+ SET_STATUS( temp );
+ if ( !(changed & st_i) )
+ goto loop; // I flag didn't change
+ if ( status & st_i )
+ goto handle_sei;
+ goto handle_cli;
+ }
+
+ case 0x08: { // PHP
+ fuint8 temp;
+ CALC_STATUS( temp );
+ PUSH( temp | (st_b | st_r) );
+ goto loop;
+ }
+
+ case 0x6C:{// JMP (ind)
+ data = GET_ADDR();
+ pc = READ_PROG( data );
+ data = (data & 0xFF00) | ((data + 1) & 0xFF);
+ pc |= 0x100 * READ_PROG( data );
+ goto loop;
+ }
+
+ case 0x00: // BRK
+ goto handle_brk;
+
+// Flags
+
+ case 0x38: // SEC
+ c = (unsigned) ~0;
+ goto loop;
+
+ case 0x18: // CLC
+ c = 0;
+ goto loop;
+
+ case 0xB8: // CLV
+ status &= ~st_v;
+ goto loop;
+
+ case 0xD8: // CLD
+ status &= ~st_d;
+ goto loop;
+
+ case 0xF8: // SED
+ status |= st_d;
+ goto loop;
+
+ case 0x58: // CLI
+ if ( !(status & st_i) )
+ goto loop;
+ status &= ~st_i;
+ handle_cli: {
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - irq_time_;
+ if ( delta <= 0 )
+ {
+ if ( TIME < irq_time_ )
+ goto loop;
+ goto delayed_cli;
+ }
+ s.base = irq_time_;
+ s_time += delta;
+ if ( s_time < 0 )
+ goto loop;
+
+ if ( delta >= s_time + 1 )
+ {
+ // delayed irq until after next instruction
+ s.base += s_time + 1;
+ s_time = -1;
+ irq_time_ = s.base; // TODO: remove, as only to satisfy debug check in loop
+ goto loop;
+ }
+ delayed_cli:
+ debug_printf( "Delayed CLI not emulated\n" );
+ goto loop;
+ }
+
+ case 0x78: // SEI
+ if ( status & st_i )
+ goto loop;
+ status |= st_i;
+ handle_sei: {
+ this->r.status = status; // update externally-visible I flag
+ blargg_long delta = s.base - end_time_;
+ s.base = end_time_;
+ s_time += delta;
+ if ( s_time < 0 )
+ goto loop;
+ debug_printf( "Delayed SEI not emulated\n" );
+ goto loop;
+ }
+
+// Unofficial
+
+ // SKW - Skip word
+ case 0x1C: case 0x3C: case 0x5C: case 0x7C: case 0xDC: case 0xFC:
+ HANDLE_PAGE_CROSSING( data + x );
+ case 0x0C:
+ pc++;
+ // SKB - Skip byte
+ case 0x74: case 0x04: case 0x14: case 0x34: case 0x44: case 0x54: case 0x64:
+ case 0x80: case 0x82: case 0x89: case 0xC2: case 0xD4: case 0xE2: case 0xF4:
+ pc++;
+ goto loop;
+
+ // NOP
+ case 0xEA: case 0x1A: case 0x3A: case 0x5A: case 0x7A: case 0xDA: case 0xFA:
+ goto loop;
+
+// Unimplemented
+
+ // halt
+ //case 0x02: case 0x12: case 0x22: case 0x32: case 0x42: case 0x52:
+ //case 0x62: case 0x72: case 0x92: case 0xB2: case 0xD2: case 0xF2:
+
+ default:
+ assert( (unsigned) opcode <= 0xFF );
+ illegal_encountered = true;
+ pc--;
+ goto stop;
+ }
+ assert( false );
+
+ int result_;
+handle_brk:
+ if ( (pc - 1) >= idle_addr )
+ goto idle_done;
+ pc++;
+ result_ = 4;
+ debug_printf( "BRK executed\n" );
+
+interrupt:
+ {
+ s_time += 7;
+
+ WRITE_LOW( 0x100 | (sp - 1), pc >> 8 );
+ WRITE_LOW( 0x100 | (sp - 2), pc );
+ pc = GET_LE16( &READ_PROG( 0xFFFA ) + result_ );
+
+ sp = (sp - 3) | 0x100;
+ fuint8 temp;
+ CALC_STATUS( temp );
+ temp |= st_r;
+ if ( result_ )
+ temp |= st_b; // TODO: incorrectly sets B flag for IRQ
+ WRITE_LOW( sp, temp );
+
+ status &= ~st_d;
+ status |= st_i;
+ this->r.status = status; // update externally-visible I flag
+
+ blargg_long delta = s.base - end_time_;
+ s.base = end_time_;
+ s_time += delta;
+ goto loop;
+ }
+
+idle_done:
+ //s_time = 0;
+ pc--;
+ goto stop;
+out_of_time:
+ pc--;
+ FLUSH_TIME();
+ CPU_DONE( this, TIME, result_ );
+ CACHE_TIME();
+ if ( result_ >= 0 )
+ goto interrupt;
+ if ( s_time < 0 )
+ goto loop;
+
+stop:
+
+ s.time = s_time;
+
+ r.pc = pc;
+ r.sp = GET_SP();
+ r.a = a;
+ r.x = x;
+ r.y = y;
+
+ {
+ fuint8 temp;
+ CALC_STATUS( temp );
+ r.status = temp;
+ }
+
+ this->state_ = s;
+ this->state = &this->state_;
+
+ return illegal_encountered;
+}
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Sap_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Sap_Cpu.h
new file mode 100644
index 00000000..bde219f6
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sap_Cpu.h
@@ -0,0 +1,83 @@
+// Atari 6502 CPU emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef SAP_CPU_H
+#define SAP_CPU_H
+
+#include "blargg_common.h"
+
+typedef blargg_long sap_time_t; // clock cycle count
+typedef unsigned sap_addr_t; // 16-bit address
+enum { future_sap_time = INT_MAX / 2 + 1 };
+
+class Sap_Cpu {
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+ // Clear all registers and keep pointer to 64K memory passed in
+ void reset( void* mem_64k );
+
+ // Run until specified time is reached. Returns true if suspicious/unsupported
+ // instruction was encountered at any point during run.
+ bool run( sap_time_t end_time );
+
+ // Registers are not updated until run() returns (except I flag in status)
+ struct registers_t {
+ BOOST::uint16_t pc;
+ BOOST::uint8_t a;
+ BOOST::uint8_t x;
+ BOOST::uint8_t y;
+ BOOST::uint8_t status;
+ BOOST::uint8_t sp;
+ };
+ registers_t r;
+
+ enum { idle_addr = 0xFEFF };
+
+ // Time of beginning of next instruction to be executed
+ sap_time_t time() const { return state->time + state->base; }
+ void set_time( sap_time_t t ) { state->time = t - state->base; }
+ void adjust_time( int delta ) { state->time += delta; }
+
+ sap_time_t irq_time() const { return irq_time_; }
+ void set_irq_time( sap_time_t );
+
+ sap_time_t end_time() const { return end_time_; }
+ void set_end_time( sap_time_t );
+
+public:
+ Sap_Cpu() { state = &state_; }
+ enum { irq_inhibit = 0x04 };
+private:
+ struct state_t {
+ sap_time_t base;
+ sap_time_t time;
+ };
+ state_t* state; // points to state_ or a local copy within run()
+ state_t state_;
+ sap_time_t irq_time_;
+ sap_time_t end_time_;
+ uint8_t* mem;
+
+ inline sap_time_t update_end_time( sap_time_t end, sap_time_t irq );
+};
+
+inline sap_time_t Sap_Cpu::update_end_time( sap_time_t t, sap_time_t irq )
+{
+ if ( irq < t && !(r.status & irq_inhibit) ) t = irq;
+ sap_time_t delta = state->base - t;
+ state->base = t;
+ return delta;
+}
+
+inline void Sap_Cpu::set_irq_time( sap_time_t t )
+{
+ state->time += update_end_time( end_time_, (irq_time_ = t) );
+}
+
+inline void Sap_Cpu::set_end_time( sap_time_t t )
+{
+ state->time += update_end_time( (end_time_ = t), irq_time_ );
+}
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Sap_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Sap_Emu.cpp
new file mode 100644
index 00000000..aa4ce948
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sap_Emu.cpp
@@ -0,0 +1,444 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Sap_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+long const base_scanline_period = 114;
+
+Sap_Emu::Sap_Emu()
+{
+ set_type( gme_sap_type );
+
+ static const char* const names [Sap_Apu::osc_count * 2] = {
+ "Wave 1", "Wave 2", "Wave 3", "Wave 4",
+ "Wave 5", "Wave 6", "Wave 7", "Wave 8",
+ };
+ set_voice_names( names );
+
+ static int const types [Sap_Apu::osc_count * 2] = {
+ wave_type | 1, wave_type | 2, wave_type | 3, wave_type | 0,
+ wave_type | 5, wave_type | 6, wave_type | 7, wave_type | 4,
+ };
+ set_voice_types( types );
+ set_silence_lookahead( 6 );
+}
+
+Sap_Emu::~Sap_Emu() { }
+
+// Track info
+
+// Returns 16 or greater if not hex
+inline int from_hex_char( int h )
+{
+ h -= 0x30;
+ if ( (unsigned) h > 9 )
+ h = ((h - 0x11) & 0xDF) + 10;
+ return h;
+}
+
+static long from_hex( byte const* in )
+{
+ unsigned result = 0;
+ for ( int n = 4; n--; )
+ {
+ int h = from_hex_char( *in++ );
+ if ( h > 15 )
+ return -1;
+ result = result * 0x10 + h;
+ }
+ return result;
+}
+
+static int from_dec( byte const* in, byte const* end )
+{
+ if ( in >= end )
+ return -1;
+
+ int n = 0;
+ while ( in < end )
+ {
+ int dig = *in++ - '0';
+ if ( (unsigned) dig > 9 )
+ return -1;
+ n = n * 10 + dig;
+ }
+ return n;
+}
+
+static void parse_string( byte const* in, byte const* end, int len, char* out )
+{
+ byte const* start = in;
+ if ( *in++ == '\"' )
+ {
+ start++;
+ while ( in < end && *in != '\"' )
+ in++;
+ }
+ else
+ {
+ in = end;
+ }
+ len = min( len - 1, int (in - start) );
+ out [len] = 0;
+ memcpy( out, start, len );
+}
+
+static blargg_err_t parse_info( byte const* in, long size, Sap_Emu::info_t* out )
+{
+ out->track_count = 1;
+ out->author [0] = 0;
+ out->name [0] = 0;
+ out->copyright [0] = 0;
+
+ if ( size < 16 || memcmp( in, "SAP\x0D\x0A", 5 ) )
+ return gme_wrong_file_type;
+
+ byte const* file_end = in + size - 5;
+ in += 5;
+ while ( in < file_end && (in [0] != 0xFF || in [1] != 0xFF) )
+ {
+ byte const* line_end = in;
+ while ( line_end < file_end && *line_end != 0x0D )
+ line_end++;
+
+ char const* tag = (char const*) in;
+ while ( in < line_end && *in > ' ' )
+ in++;
+ int tag_len = (char const*) in - tag;
+
+ while ( in < line_end && *in <= ' ' ) in++;
+
+ if ( tag_len <= 0 )
+ {
+ // skip line
+ }
+ else if ( !strncmp( "INIT", tag, tag_len ) )
+ {
+ out->init_addr = from_hex( in );
+ if ( (unsigned long) out->init_addr > 0xFFFF )
+ return "Invalid init address";
+ }
+ else if ( !strncmp( "PLAYER", tag, tag_len ) )
+ {
+ out->play_addr = from_hex( in );
+ if ( (unsigned long) out->play_addr > 0xFFFF )
+ return "Invalid play address";
+ }
+ else if ( !strncmp( "MUSIC", tag, tag_len ) )
+ {
+ out->music_addr = from_hex( in );
+ if ( (unsigned long) out->music_addr > 0xFFFF )
+ return "Invalid music address";
+ }
+ else if ( !strncmp( "SONGS", tag, tag_len ) )
+ {
+ out->track_count = from_dec( in, line_end );
+ if ( out->track_count <= 0 )
+ return "Invalid track count";
+ }
+ else if ( !strncmp( "TYPE", tag, tag_len ) )
+ {
+ switch ( out->type = *in )
+ {
+ case 'C':
+ case 'B':
+ break;
+
+ case 'D':
+ return "Digimusic not supported";
+
+ default:
+ return "Unsupported player type";
+ }
+ }
+ else if ( !strncmp( "STEREO", tag, tag_len ) )
+ {
+ out->stereo = true;
+ }
+ else if ( !strncmp( "FASTPLAY", tag, tag_len ) )
+ {
+ out->fastplay = from_dec( in, line_end );
+ if ( out->fastplay <= 0 )
+ return "Invalid fastplay value";
+ }
+ else if ( !strncmp( "AUTHOR", tag, tag_len ) )
+ {
+ parse_string( in, line_end, sizeof out->author, out->author );
+ }
+ else if ( !strncmp( "NAME", tag, tag_len ) )
+ {
+ parse_string( in, line_end, sizeof out->name, out->name );
+ }
+ else if ( !strncmp( "DATE", tag, tag_len ) )
+ {
+ parse_string( in, line_end, sizeof out->copyright, out->copyright );
+ }
+
+ in = line_end + 2;
+ }
+
+ if ( in [0] != 0xFF || in [1] != 0xFF )
+ return "ROM data missing";
+ out->rom_data = in + 2;
+
+ return 0;
+}
+
+static void copy_sap_fields( Sap_Emu::info_t const& in, track_info_t* out )
+{
+ Gme_File::copy_field_( out->game, in.name );
+ Gme_File::copy_field_( out->author, in.author );
+ Gme_File::copy_field_( out->copyright, in.copyright );
+}
+
+blargg_err_t Sap_Emu::track_info_( track_info_t* out, int ) const
+{
+ copy_sap_fields( info, out );
+ return 0;
+}
+
+struct Sap_File : Gme_Info_
+{
+ Sap_Emu::info_t info;
+
+ Sap_File() { set_type( gme_sap_type ); }
+
+ blargg_err_t load_mem_( byte const* begin, long size )
+ {
+ RETURN_ERR( parse_info( begin, size, &info ) );
+ set_track_count( info.track_count );
+ return 0;
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ copy_sap_fields( info, out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_sap_emu () { return BLARGG_NEW Sap_Emu ; }
+static Music_Emu* new_sap_file() { return BLARGG_NEW Sap_File; }
+
+static gme_type_t_ const gme_sap_type_ = { "Atari XL", 0, &new_sap_emu, &new_sap_file, "SAP", 1 };
+gme_type_t const gme_sap_type = &gme_sap_type_;
+
+
+// Setup
+
+blargg_err_t Sap_Emu::load_mem_( byte const* in, long size )
+{
+ file_end = in + size;
+
+ info.warning = 0;
+ info.type = 'B';
+ info.stereo = false;
+ info.init_addr = -1;
+ info.play_addr = -1;
+ info.music_addr = -1;
+ info.fastplay = 312;
+ RETURN_ERR( parse_info( in, size, &info ) );
+
+ set_warning( info.warning );
+ set_track_count( info.track_count );
+ set_voice_count( Sap_Apu::osc_count << info.stereo );
+ apu_impl.volume( gain() );
+
+ return setup_buffer( 1773447 );
+}
+
+void Sap_Emu::update_eq( blip_eq_t const& eq )
+{
+ apu_impl.synth.treble_eq( eq );
+}
+
+void Sap_Emu::set_voice( int i, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ int i2 = i - Sap_Apu::osc_count;
+ if ( i2 >= 0 )
+ apu2.osc_output( i2, right );
+ else
+ apu.osc_output( i, (info.stereo ? left : center) );
+}
+
+// Emulation
+
+void Sap_Emu::set_tempo_( double t )
+{
+ scanline_period = sap_time_t (base_scanline_period / t);
+}
+
+inline sap_time_t Sap_Emu::play_period() const { return info.fastplay * scanline_period; }
+
+void Sap_Emu::cpu_jsr( sap_addr_t addr )
+{
+ check( r.sp >= 0xFE ); // catch anything trying to leave data on stack
+ r.pc = addr;
+ int high_byte = (idle_addr - 1) >> 8;
+ if ( r.sp == 0xFE && mem.ram [0x1FF] == high_byte )
+ r.sp = 0xFF; // pop extra byte off
+ mem.ram [0x100 + r.sp--] = high_byte; // some routines use RTI to return
+ mem.ram [0x100 + r.sp--] = high_byte;
+ mem.ram [0x100 + r.sp--] = (idle_addr - 1) & 0xFF;
+}
+
+void Sap_Emu::run_routine( sap_addr_t addr )
+{
+ cpu_jsr( addr );
+ cpu::run( 312 * base_scanline_period * 60 );
+ check( r.pc == idle_addr );
+}
+
+inline void Sap_Emu::call_init( int track )
+{
+ switch ( info.type )
+ {
+ case 'B':
+ r.a = track;
+ run_routine( info.init_addr );
+ break;
+
+ case 'C':
+ r.a = 0x70;
+ r.x = info.music_addr&0xFF;
+ r.y = info.music_addr >> 8;
+ run_routine( info.play_addr + 3 );
+ r.a = 0;
+ r.x = track;
+ run_routine( info.play_addr + 3 );
+ break;
+ }
+}
+
+blargg_err_t Sap_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+
+ memset( &mem, 0, sizeof mem );
+
+ byte const* in = info.rom_data;
+ while ( file_end - in >= 5 )
+ {
+ unsigned start = get_le16( in );
+ unsigned end = get_le16( in + 2 );
+ //debug_printf( "Block $%04X-$%04X\n", start, end );
+ in += 4;
+ if ( end < start )
+ {
+ set_warning( "Invalid file data block" );
+ break;
+ }
+ long len = end - start + 1;
+ if ( len > file_end - in )
+ {
+ set_warning( "Invalid file data block" );
+ break;
+ }
+
+ memcpy( mem.ram + start, in, len );
+ in += len;
+ if ( file_end - in >= 2 && in [0] == 0xFF && in [1] == 0xFF )
+ in += 2;
+ }
+
+ apu.reset( &apu_impl );
+ apu2.reset( &apu_impl );
+ cpu::reset( mem.ram );
+ time_mask = 0; // disables sound during init
+ call_init( track );
+ time_mask = -1;
+
+ next_play = play_period();
+
+ return 0;
+}
+
+// Emulation
+
+// see sap_cpu_io.h for read/write functions
+
+void Sap_Emu::cpu_write_( sap_addr_t addr, int data )
+{
+ if ( (addr ^ Sap_Apu::start_addr) <= (Sap_Apu::end_addr - Sap_Apu::start_addr) )
+ {
+ GME_APU_HOOK( this, addr - Sap_Apu::start_addr, data );
+ apu.write_data( time() & time_mask, addr, data );
+ return;
+ }
+
+ if ( (addr ^ (Sap_Apu::start_addr + 0x10)) <= (Sap_Apu::end_addr - Sap_Apu::start_addr) &&
+ info.stereo )
+ {
+ GME_APU_HOOK( this, addr - 0x10 - Sap_Apu::start_addr + 10, data );
+ apu2.write_data( time() & time_mask, addr ^ 0x10, data );
+ return;
+ }
+
+ if ( (addr & ~0x0010) != 0xD20F || data != 0x03 )
+ debug_printf( "Unmapped write $%04X <- $%02X\n", addr, data );
+}
+
+inline void Sap_Emu::call_play()
+{
+ switch ( info.type )
+ {
+ case 'B':
+ cpu_jsr( info.play_addr );
+ break;
+
+ case 'C':
+ cpu_jsr( info.play_addr + 6 );
+ break;
+ }
+}
+
+blargg_err_t Sap_Emu::run_clocks( blip_time_t& duration, int )
+{
+ set_time( 0 );
+ while ( time() < duration )
+ {
+ if ( cpu::run( duration ) || r.pc > idle_addr )
+ return "Emulation error (illegal instruction)";
+
+ if ( r.pc == idle_addr )
+ {
+ if ( next_play <= duration )
+ {
+ set_time( next_play );
+ next_play += play_period();
+ call_play();
+ GME_FRAME_HOOK( this );
+ }
+ else
+ {
+ set_time( duration );
+ }
+ }
+ }
+
+ duration = time();
+ next_play -= duration;
+ check( next_play >= 0 );
+ if ( next_play < 0 )
+ next_play = 0;
+ apu.end_frame( duration );
+ if ( info.stereo )
+ apu2.end_frame( duration );
+
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Sap_Emu.h b/plugins/gme/game-music-emu-svn/gme/Sap_Emu.h
new file mode 100644
index 00000000..21879447
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sap_Emu.h
@@ -0,0 +1,69 @@
+// Atari XL/XE SAP music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef SAP_EMU_H
+#define SAP_EMU_H
+
+#include "Classic_Emu.h"
+#include "Sap_Apu.h"
+#include "Sap_Cpu.h"
+
+class Sap_Emu : private Sap_Cpu, public Classic_Emu {
+ typedef Sap_Cpu cpu;
+public:
+ static gme_type_t static_type() { return gme_sap_type; }
+public:
+ Sap_Emu();
+ ~Sap_Emu();
+ struct info_t {
+ byte const* rom_data;
+ const char* warning;
+ long init_addr;
+ long play_addr;
+ long music_addr;
+ int type;
+ int track_count;
+ int fastplay;
+ bool stereo;
+ char author [256];
+ char name [256];
+ char copyright [ 32];
+ };
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_mem_( byte const*, long );
+ blargg_err_t start_track_( int );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+public: private: friend class Sap_Cpu;
+ int cpu_read( sap_addr_t );
+ void cpu_write( sap_addr_t, int );
+ void cpu_write_( sap_addr_t, int );
+private:
+ info_t info;
+
+ byte const* file_end;
+ sap_time_t scanline_period;
+ sap_time_t next_play;
+ sap_time_t time_mask;
+ Sap_Apu apu;
+ Sap_Apu apu2;
+
+ // large items
+ struct {
+ byte padding1 [0x100];
+ byte ram [0x10000];
+ byte padding2 [0x100];
+ } mem;
+ Sap_Apu_Impl apu_impl;
+
+ sap_time_t play_period() const;
+ void call_play();
+ void cpu_jsr( sap_addr_t );
+ void call_init( int track );
+ void run_routine( sap_addr_t );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Sms_Apu.cpp b/plugins/gme/game-music-emu-svn/gme/Sms_Apu.cpp
new file mode 100644
index 00000000..b41fdec4
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sms_Apu.cpp
@@ -0,0 +1,330 @@
+// Sms_Snd_Emu 0.1.4. http://www.slack.net/~ant/
+
+#include "Sms_Apu.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// Sms_Osc
+
+Sms_Osc::Sms_Osc()
+{
+ output = 0;
+ outputs [0] = 0; // always stays NULL
+ outputs [1] = 0;
+ outputs [2] = 0;
+ outputs [3] = 0;
+}
+
+void Sms_Osc::reset()
+{
+ delay = 0;
+ last_amp = 0;
+ volume = 0;
+ output_select = 3;
+ output = outputs [3];
+}
+
+// Sms_Square
+
+inline void Sms_Square::reset()
+{
+ period = 0;
+ phase = 0;
+ Sms_Osc::reset();
+}
+
+void Sms_Square::run( blip_time_t time, blip_time_t end_time )
+{
+ if ( !volume || period <= 128 )
+ {
+ // ignore 16kHz and higher
+ if ( last_amp )
+ {
+ synth->offset( time, -last_amp, output );
+ last_amp = 0;
+ }
+ time += delay;
+ if ( !period )
+ {
+ time = end_time;
+ }
+ else if ( time < end_time )
+ {
+ // keep calculating phase
+ int count = (end_time - time + period - 1) / period;
+ phase = (phase + count) & 1;
+ time += count * period;
+ }
+ }
+ else
+ {
+ int amp = phase ? volume : -volume;
+ {
+ int delta = amp - last_amp;
+ if ( delta )
+ {
+ last_amp = amp;
+ synth->offset( time, delta, output );
+ }
+ }
+
+ time += delay;
+ if ( time < end_time )
+ {
+ Blip_Buffer* const output = this->output;
+ int delta = amp * 2;
+ do
+ {
+ delta = -delta;
+ synth->offset_inline( time, delta, output );
+ time += period;
+ phase ^= 1;
+ }
+ while ( time < end_time );
+ this->last_amp = phase ? volume : -volume;
+ }
+ }
+ delay = time - end_time;
+}
+
+// Sms_Noise
+
+static int const noise_periods [3] = { 0x100, 0x200, 0x400 };
+
+inline void Sms_Noise::reset()
+{
+ period = &noise_periods [0];
+ shifter = 0x8000;
+ feedback = 0x9000;
+ Sms_Osc::reset();
+}
+
+void Sms_Noise::run( blip_time_t time, blip_time_t end_time )
+{
+ int amp = volume;
+ if ( shifter & 1 )
+ amp = -amp;
+
+ {
+ int delta = amp - last_amp;
+ if ( delta )
+ {
+ last_amp = amp;
+ synth.offset( time, delta, output );
+ }
+ }
+
+ time += delay;
+ if ( !volume )
+ time = end_time;
+
+ if ( time < end_time )
+ {
+ Blip_Buffer* const output = this->output;
+ unsigned shifter = this->shifter;
+ int delta = amp * 2;
+ int period = *this->period * 2;
+ if ( !period )
+ period = 16;
+
+ do
+ {
+ int changed = shifter + 1;
+ shifter = (feedback & -(shifter & 1)) ^ (shifter >> 1);
+ if ( changed & 2 ) // true if bits 0 and 1 differ
+ {
+ delta = -delta;
+ synth.offset_inline( time, delta, output );
+ }
+ time += period;
+ }
+ while ( time < end_time );
+
+ this->shifter = shifter;
+ this->last_amp = delta >> 1;
+ }
+ delay = time - end_time;
+}
+
+// Sms_Apu
+
+Sms_Apu::Sms_Apu()
+{
+ for ( int i = 0; i < 3; i++ )
+ {
+ squares [i].synth = &square_synth;
+ oscs [i] = &squares [i];
+ }
+ oscs [3] = &noise;
+
+ volume( 1.0 );
+ reset();
+}
+
+Sms_Apu::~Sms_Apu()
+{
+}
+
+void Sms_Apu::volume( double vol )
+{
+ vol *= 0.85 / (osc_count * 64 * 2);
+ square_synth.volume( vol );
+ noise.synth.volume( vol );
+}
+
+void Sms_Apu::treble_eq( const blip_eq_t& eq )
+{
+ square_synth.treble_eq( eq );
+ noise.synth.treble_eq( eq );
+}
+
+void Sms_Apu::osc_output( int index, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ require( (unsigned) index < osc_count );
+ require( (center && left && right) || (!center && !left && !right) );
+ Sms_Osc& osc = *oscs [index];
+ osc.outputs [1] = right;
+ osc.outputs [2] = left;
+ osc.outputs [3] = center;
+ osc.output = osc.outputs [osc.output_select];
+}
+
+void Sms_Apu::output( Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right )
+{
+ for ( int i = 0; i < osc_count; i++ )
+ osc_output( i, center, left, right );
+}
+
+void Sms_Apu::reset( unsigned feedback, int noise_width )
+{
+ last_time = 0;
+ latch = 0;
+
+ if ( !feedback || !noise_width )
+ {
+ feedback = 0x0009;
+ noise_width = 16;
+ }
+ // convert to "Galios configuration"
+ looped_feedback = 1 << (noise_width - 1);
+ noise_feedback = 0;
+ while ( noise_width-- )
+ {
+ noise_feedback = (noise_feedback << 1) | (feedback & 1);
+ feedback >>= 1;
+ }
+
+ squares [0].reset();
+ squares [1].reset();
+ squares [2].reset();
+ noise.reset();
+}
+
+void Sms_Apu::run_until( blip_time_t end_time )
+{
+ require( end_time >= last_time ); // end_time must not be before previous time
+
+ if ( end_time > last_time )
+ {
+ // run oscillators
+ for ( int i = 0; i < osc_count; ++i )
+ {
+ Sms_Osc& osc = *oscs [i];
+ if ( osc.output )
+ {
+ osc.output->set_modified();
+ if ( i < 3 )
+ squares [i].run( last_time, end_time );
+ else
+ noise.run( last_time, end_time );
+ }
+ }
+
+ last_time = end_time;
+ }
+}
+
+void Sms_Apu::end_frame( blip_time_t end_time )
+{
+ if ( end_time > last_time )
+ run_until( end_time );
+
+ assert( last_time >= end_time );
+ last_time -= end_time;
+}
+
+void Sms_Apu::write_ggstereo( blip_time_t time, int data )
+{
+ require( (unsigned) data <= 0xFF );
+
+ run_until( time );
+
+ for ( int i = 0; i < osc_count; i++ )
+ {
+ Sms_Osc& osc = *oscs [i];
+ int flags = data >> i;
+ Blip_Buffer* old_output = osc.output;
+ osc.output_select = (flags >> 3 & 2) | (flags & 1);
+ osc.output = osc.outputs [osc.output_select];
+ if ( osc.output != old_output && osc.last_amp )
+ {
+ if ( old_output )
+ {
+ old_output->set_modified();
+ square_synth.offset( time, -osc.last_amp, old_output );
+ }
+ osc.last_amp = 0;
+ }
+ }
+}
+
+// volumes [i] = 64 * pow( 1.26, 15 - i ) / pow( 1.26, 15 )
+static unsigned char const volumes [16] = {
+ 64, 50, 39, 31, 24, 19, 15, 12, 9, 7, 5, 4, 3, 2, 1, 0
+};
+
+void Sms_Apu::write_data( blip_time_t time, int data )
+{
+ require( (unsigned) data <= 0xFF );
+
+ run_until( time );
+
+ if ( data & 0x80 )
+ latch = data;
+
+ int index = (latch >> 5) & 3;
+ if ( latch & 0x10 )
+ {
+ oscs [index]->volume = volumes [data & 15];
+ }
+ else if ( index < 3 )
+ {
+ Sms_Square& sq = squares [index];
+ if ( data & 0x80 )
+ sq.period = (sq.period & 0xFF00) | (data << 4 & 0x00FF);
+ else
+ sq.period = (sq.period & 0x00FF) | (data << 8 & 0x3F00);
+ }
+ else
+ {
+ int select = data & 3;
+ if ( select < 3 )
+ noise.period = &noise_periods [select];
+ else
+ noise.period = &squares [2].period;
+
+ noise.feedback = (data & 0x04) ? noise_feedback : looped_feedback;
+ noise.shifter = 0x8000;
+ }
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Sms_Apu.h b/plugins/gme/game-music-emu-svn/gme/Sms_Apu.h
new file mode 100644
index 00000000..3c11a9c3
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sms_Apu.h
@@ -0,0 +1,75 @@
+// Sega Master System SN76489 PSG sound chip emulator
+
+// Sms_Snd_Emu 0.1.4
+#ifndef SMS_APU_H
+#define SMS_APU_H
+
+#include "Sms_Oscs.h"
+
+class Sms_Apu {
+public:
+ // Set overall volume of all oscillators, where 1.0 is full volume
+ void volume( double );
+
+ // Set treble equalization
+ void treble_eq( const blip_eq_t& );
+
+ // Outputs can be assigned to a single buffer for mono output, or to three
+ // buffers for stereo output (using Stereo_Buffer to do the mixing).
+
+ // Assign all oscillator outputs to specified buffer(s). If buffer
+ // is NULL, silences all oscillators.
+ void output( Blip_Buffer* mono );
+ void output( Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right );
+
+ // Assign single oscillator output to buffer(s). Valid indicies are 0 to 3,
+ // which refer to Square 1, Square 2, Square 3, and Noise. If buffer is NULL,
+ // silences oscillator.
+ enum { osc_count = 4 };
+ void osc_output( int index, Blip_Buffer* mono );
+ void osc_output( int index, Blip_Buffer* center, Blip_Buffer* left, Blip_Buffer* right );
+
+ // Reset oscillators and internal state
+ void reset( unsigned noise_feedback = 0, int noise_width = 0 );
+
+ // Write GameGear left/right assignment byte
+ void write_ggstereo( blip_time_t, int );
+
+ // Write to data port
+ void write_data( blip_time_t, int );
+
+ // Run all oscillators up to specified time, end current frame, then
+ // start a new frame at time 0.
+ void end_frame( blip_time_t );
+
+public:
+ Sms_Apu();
+ ~Sms_Apu();
+private:
+ // noncopyable
+ Sms_Apu( const Sms_Apu& );
+ Sms_Apu& operator = ( const Sms_Apu& );
+
+ Sms_Osc* oscs [osc_count];
+ Sms_Square squares [3];
+ Sms_Square::Synth square_synth; // used by squares
+ blip_time_t last_time;
+ int latch;
+ Sms_Noise noise;
+ unsigned noise_feedback;
+ unsigned looped_feedback;
+
+ void run_until( blip_time_t );
+};
+
+struct sms_apu_state_t
+{
+ unsigned char regs [8] [2];
+ unsigned char latch;
+};
+
+inline void Sms_Apu::output( Blip_Buffer* b ) { output( b, b, b ); }
+
+inline void Sms_Apu::osc_output( int i, Blip_Buffer* b ) { osc_output( i, b, b, b ); }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Sms_Oscs.h b/plugins/gme/game-music-emu-svn/gme/Sms_Oscs.h
new file mode 100644
index 00000000..2a896fef
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Sms_Oscs.h
@@ -0,0 +1,49 @@
+// Private oscillators used by Sms_Apu
+
+// Sms_Snd_Emu 0.1.4
+#ifndef SMS_OSCS_H
+#define SMS_OSCS_H
+
+#include "blargg_common.h"
+#include "Blip_Buffer.h"
+
+struct Sms_Osc
+{
+ Blip_Buffer* outputs [4]; // NULL, right, left, center
+ Blip_Buffer* output;
+ int output_select;
+
+ int delay;
+ int last_amp;
+ int volume;
+
+ Sms_Osc();
+ void reset();
+};
+
+struct Sms_Square : Sms_Osc
+{
+ int period;
+ int phase;
+
+ typedef Blip_Synth<blip_good_quality,1> Synth;
+ const Synth* synth;
+
+ void reset();
+ void run( blip_time_t, blip_time_t );
+};
+
+struct Sms_Noise : Sms_Osc
+{
+ const int* period;
+ unsigned shifter;
+ unsigned feedback;
+
+ typedef Blip_Synth<blip_med_quality,1> Synth;
+ Synth synth;
+
+ void reset();
+ void run( blip_time_t, blip_time_t );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Snes_Spc.cpp b/plugins/gme/game-music-emu-svn/gme/Snes_Spc.cpp
new file mode 100644
index 00000000..186a30f0
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Snes_Spc.cpp
@@ -0,0 +1,380 @@
+// SPC emulation support: init, sample buffering, reset, SPC loading
+
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Snes_Spc.h"
+
+#include <string.h>
+
+/* Copyright (C) 2004-2007 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+#define RAM (m.ram.ram)
+#define REGS (m.smp_regs [0])
+#define REGS_IN (m.smp_regs [1])
+
+// (n ? n : 256)
+#define IF_0_THEN_256( n ) ((uint8_t) ((n) - 1) + 1)
+
+
+//// Init
+
+blargg_err_t Snes_Spc::init()
+{
+ memset( &m, 0, sizeof m );
+ dsp.init( RAM );
+
+ m.tempo = tempo_unit;
+
+ // Most SPC music doesn't need ROM, and almost all the rest only rely
+ // on these two bytes
+ m.rom [0x3E] = 0xFF;
+ m.rom [0x3F] = 0xC0;
+
+ static unsigned char const cycle_table [128] =
+ {// 01 23 45 67 89 AB CD EF
+ 0x28,0x47,0x34,0x36,0x26,0x54,0x54,0x68, // 0
+ 0x48,0x47,0x45,0x56,0x55,0x65,0x22,0x46, // 1
+ 0x28,0x47,0x34,0x36,0x26,0x54,0x54,0x74, // 2
+ 0x48,0x47,0x45,0x56,0x55,0x65,0x22,0x38, // 3
+ 0x28,0x47,0x34,0x36,0x26,0x44,0x54,0x66, // 4
+ 0x48,0x47,0x45,0x56,0x55,0x45,0x22,0x43, // 5
+ 0x28,0x47,0x34,0x36,0x26,0x44,0x54,0x75, // 6
+ 0x48,0x47,0x45,0x56,0x55,0x55,0x22,0x36, // 7
+ 0x28,0x47,0x34,0x36,0x26,0x54,0x52,0x45, // 8
+ 0x48,0x47,0x45,0x56,0x55,0x55,0x22,0xC5, // 9
+ 0x38,0x47,0x34,0x36,0x26,0x44,0x52,0x44, // A
+ 0x48,0x47,0x45,0x56,0x55,0x55,0x22,0x34, // B
+ 0x38,0x47,0x45,0x47,0x25,0x64,0x52,0x49, // C
+ 0x48,0x47,0x56,0x67,0x45,0x55,0x22,0x83, // D
+ 0x28,0x47,0x34,0x36,0x24,0x53,0x43,0x40, // E
+ 0x48,0x47,0x45,0x56,0x34,0x54,0x22,0x60, // F
+ };
+
+ // unpack cycle table
+ for ( int i = 0; i < 128; i++ )
+ {
+ int n = cycle_table [i];
+ m.cycle_table [i * 2 + 0] = n >> 4;
+ m.cycle_table [i * 2 + 1] = n & 0x0F;
+ }
+
+ #if SPC_LESS_ACCURATE
+ memcpy( reg_times, reg_times_, sizeof reg_times );
+ #endif
+
+ reset();
+ return 0;
+}
+
+void Snes_Spc::init_rom( uint8_t const in [rom_size] )
+{
+ memcpy( m.rom, in, sizeof m.rom );
+}
+
+void Snes_Spc::set_tempo( int t )
+{
+ m.tempo = t;
+ int const timer2_shift = 4; // 64 kHz
+ int const other_shift = 3; // 8 kHz
+
+ #if SPC_DISABLE_TEMPO
+ m.timers [2].prescaler = timer2_shift;
+ m.timers [1].prescaler = timer2_shift + other_shift;
+ m.timers [0].prescaler = timer2_shift + other_shift;
+ #else
+ if ( !t )
+ t = 1;
+ int const timer2_rate = 1 << timer2_shift;
+ int rate = (timer2_rate * tempo_unit + (t >> 1)) / t;
+ if ( rate < timer2_rate / 4 )
+ rate = timer2_rate / 4; // max 4x tempo
+ m.timers [2].prescaler = rate;
+ m.timers [1].prescaler = rate << other_shift;
+ m.timers [0].prescaler = rate << other_shift;
+ #endif
+}
+
+// Timer registers have been loaded. Applies these to the timers. Does not
+// reset timer prescalers or dividers.
+void Snes_Spc::timers_loaded()
+{
+ int i;
+ for ( i = 0; i < timer_count; i++ )
+ {
+ Timer* t = &m.timers [i];
+ t->period = IF_0_THEN_256( REGS [r_t0target + i] );
+ t->enabled = REGS [r_control] >> i & 1;
+ t->counter = REGS_IN [r_t0out + i] & 0x0F;
+ }
+
+ set_tempo( m.tempo );
+}
+
+// Loads registers from unified 16-byte format
+void Snes_Spc::load_regs( uint8_t const in [reg_count] )
+{
+ memcpy( REGS, in, reg_count );
+ memcpy( REGS_IN, REGS, reg_count );
+
+ // These always read back as 0
+ REGS_IN [r_test ] = 0;
+ REGS_IN [r_control ] = 0;
+ REGS_IN [r_t0target] = 0;
+ REGS_IN [r_t1target] = 0;
+ REGS_IN [r_t2target] = 0;
+}
+
+// RAM was just loaded from SPC, with $F0-$FF containing SMP registers
+// and timer counts. Copies these to proper registers.
+void Snes_Spc::ram_loaded()
+{
+ m.rom_enabled = 0;
+ load_regs( &RAM [0xF0] );
+
+ // Put STOP instruction around memory to catch PC underflow/overflow
+ memset( m.ram.padding1, cpu_pad_fill, sizeof m.ram.padding1 );
+ memset( m.ram.padding2, cpu_pad_fill, sizeof m.ram.padding2 );
+}
+
+// Registers were just loaded. Applies these new values.
+void Snes_Spc::regs_loaded()
+{
+ enable_rom( REGS [r_control] & 0x80 );
+ timers_loaded();
+}
+
+void Snes_Spc::reset_time_regs()
+{
+ m.cpu_error = 0;
+ m.echo_accessed = 0;
+ m.spc_time = 0;
+ m.dsp_time = 0;
+ #if SPC_LESS_ACCURATE
+ m.dsp_time = clocks_per_sample + 1;
+ #endif
+
+ for ( int i = 0; i < timer_count; i++ )
+ {
+ Timer* t = &m.timers [i];
+ t->next_time = 1;
+ t->divider = 0;
+ }
+
+ regs_loaded();
+
+ m.extra_clocks = 0;
+ reset_buf();
+}
+
+void Snes_Spc::reset_common( int timer_counter_init )
+{
+ int i;
+ for ( i = 0; i < timer_count; i++ )
+ REGS_IN [r_t0out + i] = timer_counter_init;
+
+ // Run IPL ROM
+ memset( &m.cpu_regs, 0, sizeof m.cpu_regs );
+ m.cpu_regs.pc = rom_addr;
+
+ REGS [r_test ] = 0x0A;
+ REGS [r_control] = 0xB0; // ROM enabled, clear ports
+ for ( i = 0; i < port_count; i++ )
+ REGS_IN [r_cpuio0 + i] = 0;
+
+ reset_time_regs();
+}
+
+void Snes_Spc::soft_reset()
+{
+ reset_common( 0 );
+ dsp.soft_reset();
+}
+
+void Snes_Spc::reset()
+{
+ memset( RAM, 0xFF, 0x10000 );
+ ram_loaded();
+ reset_common( 0x0F );
+ dsp.reset();
+}
+
+char const Snes_Spc::signature [signature_size + 1] =
+ "SNES-SPC700 Sound File Data v0.30\x1A\x1A";
+
+blargg_err_t Snes_Spc::load_spc( void const* data, long size )
+{
+ spc_file_t const* const spc = (spc_file_t const*) data;
+
+ // be sure compiler didn't insert any padding into fle_t
+ assert( sizeof (spc_file_t) == spc_min_file_size + 0x80 );
+
+ // Check signature and file size
+ if ( size < signature_size || memcmp( spc, signature, 27 ) )
+ return "Not an SPC file";
+
+ if ( size < spc_min_file_size )
+ return "Corrupt SPC file";
+
+ // CPU registers
+ m.cpu_regs.pc = spc->pch * 0x100 + spc->pcl;
+ m.cpu_regs.a = spc->a;
+ m.cpu_regs.x = spc->x;
+ m.cpu_regs.y = spc->y;
+ m.cpu_regs.psw = spc->psw;
+ m.cpu_regs.sp = spc->sp;
+
+ // RAM and registers
+ memcpy( RAM, spc->ram, 0x10000 );
+ ram_loaded();
+
+ // DSP registers
+ dsp.load( spc->dsp );
+
+ reset_time_regs();
+
+ return 0;
+}
+
+void Snes_Spc::clear_echo()
+{
+ if ( !(dsp.read( Spc_Dsp::r_flg ) & 0x20) )
+ {
+ int addr = 0x100 * dsp.read( Spc_Dsp::r_esa );
+ int end = addr + 0x800 * (dsp.read( Spc_Dsp::r_edl ) & 0x0F);
+ if ( end > 0x10000 )
+ end = 0x10000;
+ memset( &RAM [addr], 0xFF, end - addr );
+ }
+}
+
+
+//// Sample output
+
+void Snes_Spc::reset_buf()
+{
+ // Start with half extra buffer of silence
+ sample_t* out = m.extra_buf;
+ while ( out < &m.extra_buf [extra_size / 2] )
+ *out++ = 0;
+
+ m.extra_pos = out;
+ m.buf_begin = 0;
+
+ dsp.set_output( 0, 0 );
+}
+
+void Snes_Spc::set_output( sample_t* out, int size )
+{
+ require( (size & 1) == 0 ); // size must be even
+
+ m.extra_clocks &= clocks_per_sample - 1;
+ if ( out )
+ {
+ sample_t const* out_end = out + size;
+ m.buf_begin = out;
+ m.buf_end = out_end;
+
+ // Copy extra to output
+ sample_t const* in = m.extra_buf;
+ while ( in < m.extra_pos && out < out_end )
+ *out++ = *in++;
+
+ // Handle output being full already
+ if ( out >= out_end )
+ {
+ // Have DSP write to remaining extra space
+ out = dsp.extra();
+ out_end = &dsp.extra() [extra_size];
+
+ // Copy any remaining extra samples as if DSP wrote them
+ while ( in < m.extra_pos )
+ *out++ = *in++;
+ assert( out <= out_end );
+ }
+
+ dsp.set_output( out, out_end - out );
+ }
+ else
+ {
+ reset_buf();
+ }
+}
+
+void Snes_Spc::save_extra()
+{
+ // Get end pointers
+ sample_t const* main_end = m.buf_end; // end of data written to buf
+ sample_t const* dsp_end = dsp.out_pos(); // end of data written to dsp.extra()
+ if ( m.buf_begin <= dsp_end && dsp_end <= main_end )
+ {
+ main_end = dsp_end;
+ dsp_end = dsp.extra(); // nothing in DSP's extra
+ }
+
+ // Copy any extra samples at these ends into extra_buf
+ sample_t* out = m.extra_buf;
+ sample_t const* in;
+ for ( in = m.buf_begin + sample_count(); in < main_end; in++ )
+ *out++ = *in;
+ for ( in = dsp.extra(); in < dsp_end ; in++ )
+ *out++ = *in;
+
+ m.extra_pos = out;
+ assert( out <= &m.extra_buf [extra_size] );
+}
+
+blargg_err_t Snes_Spc::play( int count, sample_t* out )
+{
+ require( (count & 1) == 0 ); // must be even
+ if ( count )
+ {
+ set_output( out, count );
+ end_frame( count * (clocks_per_sample / 2) );
+ }
+
+ const char* err = m.cpu_error;
+ m.cpu_error = 0;
+ return err;
+}
+
+blargg_err_t Snes_Spc::skip( int count )
+{
+ #if SPC_LESS_ACCURATE
+ if ( count > 2 * sample_rate * 2 )
+ {
+ set_output( 0, 0 );
+
+ // Skip a multiple of 4 samples
+ time_t end = count;
+ count = (count & 3) + 1 * sample_rate * 2;
+ end = (end - count) * (clocks_per_sample / 2);
+
+ m.skipped_kon = 0;
+ m.skipped_koff = 0;
+
+ // Preserve DSP and timer synchronization
+ // TODO: verify that this really preserves it
+ int old_dsp_time = m.dsp_time + m.spc_time;
+ m.dsp_time = end - m.spc_time + skipping_time;
+ end_frame( end );
+ m.dsp_time = m.dsp_time - skipping_time + old_dsp_time;
+
+ dsp.write( Spc_Dsp::r_koff, m.skipped_koff & ~m.skipped_kon );
+ dsp.write( Spc_Dsp::r_kon , m.skipped_kon );
+ clear_echo();
+ }
+ #endif
+
+ return play( count, 0 );
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Snes_Spc.h b/plugins/gme/game-music-emu-svn/gme/Snes_Spc.h
new file mode 100644
index 00000000..188a2c21
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Snes_Spc.h
@@ -0,0 +1,287 @@
+// SNES SPC-700 APU emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef SNES_SPC_H
+#define SNES_SPC_H
+
+#include "Spc_Dsp.h"
+#include "blargg_endian.h"
+
+struct Snes_Spc {
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+ // Must be called once before using
+ blargg_err_t init();
+
+ // Sample pairs generated per second
+ enum { sample_rate = 32000 };
+
+// Emulator use
+
+ // Sets IPL ROM data. Library does not include ROM data. Most SPC music files
+ // don't need ROM, but a full emulator must provide this.
+ enum { rom_size = 0x40 };
+ void init_rom( uint8_t const rom [rom_size] );
+
+ // Sets destination for output samples
+ typedef short sample_t;
+ void set_output( sample_t* out, int out_size );
+
+ // Number of samples written to output since last set
+ int sample_count() const;
+
+ // Resets SPC to power-on state. This resets your output buffer, so you must
+ // call set_output() after this.
+ void reset();
+
+ // Emulates pressing reset switch on SNES. This resets your output buffer, so
+ // you must call set_output() after this.
+ void soft_reset();
+
+ // 1024000 SPC clocks per second, sample pair every 32 clocks
+ typedef int time_t;
+ enum { clock_rate = 1024000 };
+ enum { clocks_per_sample = 32 };
+
+ // Emulated port read/write at specified time
+ enum { port_count = 4 };
+ int read_port ( time_t, int port );
+ void write_port( time_t, int port, int data );
+
+ // Runs SPC to end_time and starts a new time frame at 0
+ void end_frame( time_t end_time );
+
+// Sound control
+
+ // Mutes voices corresponding to non-zero bits in mask (issues repeated KOFF events).
+ // Reduces emulation accuracy.
+ enum { voice_count = 8 };
+ void mute_voices( int mask );
+
+ // If true, prevents channels and global volumes from being phase-negated.
+ // Only supported by fast DSP.
+ void disable_surround( bool disable = true );
+
+ // Sets tempo, where tempo_unit = normal, tempo_unit / 2 = half speed, etc.
+ enum { tempo_unit = 0x100 };
+ void set_tempo( int );
+
+// SPC music files
+
+ // Loads SPC data into emulator
+ enum { spc_min_file_size = 0x10180 };
+ enum { spc_file_size = 0x10200 };
+ blargg_err_t load_spc( void const* in, long size );
+
+ // Clears echo region. Useful after loading an SPC as many have garbage in echo.
+ void clear_echo();
+
+ // Plays for count samples and write samples to out. Discards samples if out
+ // is NULL. Count must be a multiple of 2 since output is stereo.
+ blargg_err_t play( int count, sample_t* out );
+
+ // Skips count samples. Several times faster than play() when using fast DSP.
+ blargg_err_t skip( int count );
+
+// State save/load (only available with accurate DSP)
+
+#if !SPC_NO_COPY_STATE_FUNCS
+ // Saves/loads state
+ enum { state_size = 67 * 1024L }; // maximum space needed when saving
+ typedef Spc_Dsp::copy_func_t copy_func_t;
+ void copy_state( unsigned char** io, copy_func_t );
+
+ // Writes minimal header to spc_out
+ static void init_header( void* spc_out );
+
+ // Saves emulator state as SPC file data. Writes spc_file_size bytes to spc_out.
+ // Does not set up SPC header; use init_header() for that.
+ void save_spc( void* spc_out );
+
+ // Returns true if new key-on events occurred since last check. Useful for
+ // trimming silence while saving an SPC.
+ bool check_kon();
+#endif
+
+public:
+ // TODO: document
+ struct regs_t
+ {
+ int pc;
+ int a;
+ int x;
+ int y;
+ int psw;
+ int sp;
+ };
+ regs_t& smp_regs() { return m.cpu_regs; }
+
+ uint8_t* smp_ram() { return m.ram.ram; }
+
+ void run_until( time_t t ) { run_until_( t ); }
+public:
+ BLARGG_DISABLE_NOTHROW
+
+ typedef BOOST::uint16_t uint16_t;
+
+ // Time relative to m_spc_time. Speeds up code a bit by eliminating need to
+ // constantly add m_spc_time to time from CPU. CPU uses time that ends at
+ // 0 to eliminate reloading end time every instruction. It pays off.
+ typedef int rel_time_t;
+
+ struct Timer
+ {
+ rel_time_t next_time; // time of next event
+ int prescaler;
+ int period;
+ int divider;
+ int enabled;
+ int counter;
+ };
+ enum { reg_count = 0x10 };
+ enum { timer_count = 3 };
+ enum { extra_size = Spc_Dsp::extra_size };
+
+ enum { signature_size = 35 };
+
+private:
+ Spc_Dsp dsp;
+
+ #if SPC_LESS_ACCURATE
+ static signed char const reg_times_ [256];
+ signed char reg_times [256];
+ #endif
+
+ struct state_t
+ {
+ Timer timers [timer_count];
+
+ uint8_t smp_regs [2] [reg_count];
+
+ regs_t cpu_regs;
+
+ rel_time_t dsp_time;
+ time_t spc_time;
+ bool echo_accessed;
+
+ int tempo;
+ int skipped_kon;
+ int skipped_koff;
+ const char* cpu_error;
+
+ int extra_clocks;
+ sample_t* buf_begin;
+ sample_t const* buf_end;
+ sample_t* extra_pos;
+ sample_t extra_buf [extra_size];
+
+ int rom_enabled;
+ uint8_t rom [rom_size];
+ uint8_t hi_ram [rom_size];
+
+ unsigned char cycle_table [256];
+
+ struct
+ {
+ // padding to neutralize address overflow
+ union {
+ uint8_t padding1 [0x100];
+ uint16_t align; // makes compiler align data for 16-bit access
+ } padding1 [1];
+ uint8_t ram [0x10000];
+ uint8_t padding2 [0x100];
+ } ram;
+ };
+ state_t m;
+
+ enum { rom_addr = 0xFFC0 };
+
+ enum { skipping_time = 127 };
+
+ // Value that padding should be filled with
+ enum { cpu_pad_fill = 0xFF };
+
+ enum {
+ r_test = 0x0, r_control = 0x1,
+ r_dspaddr = 0x2, r_dspdata = 0x3,
+ r_cpuio0 = 0x4, r_cpuio1 = 0x5,
+ r_cpuio2 = 0x6, r_cpuio3 = 0x7,
+ r_f8 = 0x8, r_f9 = 0x9,
+ r_t0target = 0xA, r_t1target = 0xB, r_t2target = 0xC,
+ r_t0out = 0xD, r_t1out = 0xE, r_t2out = 0xF
+ };
+
+ void timers_loaded();
+ void enable_rom( int enable );
+ void reset_buf();
+ void save_extra();
+ void load_regs( uint8_t const in [reg_count] );
+ void ram_loaded();
+ void regs_loaded();
+ void reset_time_regs();
+ void reset_common( int timer_counter_init );
+
+ Timer* run_timer_ ( Timer* t, rel_time_t );
+ Timer* run_timer ( Timer* t, rel_time_t );
+ int dsp_read ( rel_time_t );
+ void dsp_write ( int data, rel_time_t );
+ void cpu_write_smp_reg_( int data, rel_time_t, int addr );
+ void cpu_write_smp_reg ( int data, rel_time_t, int addr );
+ void cpu_write_high ( int data, int i, rel_time_t );
+ void cpu_write ( int data, int addr, rel_time_t );
+ int cpu_read_smp_reg ( int i, rel_time_t );
+ int cpu_read ( int addr, rel_time_t );
+ unsigned CPU_mem_bit ( uint8_t const* pc, rel_time_t );
+
+ bool check_echo_access ( int addr );
+ uint8_t* run_until_( time_t end_time );
+
+ struct spc_file_t
+ {
+ char signature [signature_size];
+ uint8_t has_id666;
+ uint8_t version;
+ uint8_t pcl, pch;
+ uint8_t a;
+ uint8_t x;
+ uint8_t y;
+ uint8_t psw;
+ uint8_t sp;
+ char text [212];
+ uint8_t ram [0x10000];
+ uint8_t dsp [128];
+ uint8_t unused [0x40];
+ uint8_t ipl_rom [0x40];
+ };
+
+ static char const signature [signature_size + 1];
+
+ void save_regs( uint8_t out [reg_count] );
+};
+
+#include <assert.h>
+
+inline int Snes_Spc::sample_count() const { return (m.extra_clocks >> 5) * 2; }
+
+inline int Snes_Spc::read_port( time_t t, int port )
+{
+ assert( (unsigned) port < port_count );
+ return run_until_( t ) [port];
+}
+
+inline void Snes_Spc::write_port( time_t t, int port, int data )
+{
+ assert( (unsigned) port < port_count );
+ run_until_( t ) [0x10 + port] = data;
+}
+
+inline void Snes_Spc::mute_voices( int mask ) { dsp.mute_voices( mask ); }
+
+inline void Snes_Spc::disable_surround( bool disable ) { dsp.disable_surround( disable ); }
+
+#if !SPC_NO_COPY_STATE_FUNCS
+inline bool Snes_Spc::check_kon() { return dsp.check_kon(); }
+#endif
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Cpu.cpp b/plugins/gme/game-music-emu-svn/gme/Spc_Cpu.cpp
new file mode 100644
index 00000000..52cb25c5
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Cpu.cpp
@@ -0,0 +1,565 @@
+// Core SPC emulation: CPU, timers, SMP registers, memory
+
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Snes_Spc.h"
+
+#include <string.h>
+
+/* Copyright (C) 2004-2007 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+#define RAM (m.ram.ram)
+#define REGS (m.smp_regs [0])
+#define REGS_IN (m.smp_regs [1])
+
+// (n ? n : 256)
+#define IF_0_THEN_256( n ) ((uint8_t) ((n) - 1) + 1)
+
+// Note: SPC_MORE_ACCURACY exists mainly so I can run my validation tests, which
+// do crazy echo buffer accesses.
+#ifndef SPC_MORE_ACCURACY
+ #define SPC_MORE_ACCURACY 0
+#endif
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+
+//// Timers
+
+#if SPC_DISABLE_TEMPO
+ #define TIMER_DIV( t, n ) ((n) >> t->prescaler)
+ #define TIMER_MUL( t, n ) ((n) << t->prescaler)
+#else
+ #define TIMER_DIV( t, n ) ((n) / t->prescaler)
+ #define TIMER_MUL( t, n ) ((n) * t->prescaler)
+#endif
+
+Snes_Spc::Timer* Snes_Spc::run_timer_( Timer* t, rel_time_t time )
+{
+ int elapsed = TIMER_DIV( t, time - t->next_time ) + 1;
+ t->next_time += TIMER_MUL( t, elapsed );
+
+ if ( t->enabled )
+ {
+ int remain = IF_0_THEN_256( t->period - t->divider );
+ int divider = t->divider + elapsed;
+ int over = elapsed - remain;
+ if ( over >= 0 )
+ {
+ int n = over / t->period;
+ t->counter = (t->counter + 1 + n) & 0x0F;
+ divider = over - n * t->period;
+ }
+ t->divider = (uint8_t) divider;
+ }
+ return t;
+}
+
+inline Snes_Spc::Timer* Snes_Spc::run_timer( Timer* t, rel_time_t time )
+{
+ if ( time >= t->next_time )
+ t = run_timer_( t, time );
+ return t;
+}
+
+
+//// ROM
+
+void Snes_Spc::enable_rom( int enable )
+{
+ if ( m.rom_enabled != enable )
+ {
+ m.rom_enabled = enable;
+ if ( enable )
+ memcpy( m.hi_ram, &RAM [rom_addr], sizeof m.hi_ram );
+ memcpy( &RAM [rom_addr], (enable ? m.rom : m.hi_ram), rom_size );
+ // TODO: ROM can still get overwritten when DSP writes to echo buffer
+ }
+}
+
+
+//// DSP
+
+#if SPC_LESS_ACCURATE
+ int const max_reg_time = 29;
+
+ signed char const Snes_Spc::reg_times_ [256] =
+ {
+ -1, 0,-11,-10,-15,-11, -2, -2, 4, 3, 14, 14, 26, 26, 14, 22,
+ 2, 3, 0, 1,-12, 0, 1, 1, 7, 6, 14, 14, 27, 14, 14, 23,
+ 5, 6, 3, 4, -1, 3, 4, 4, 10, 9, 14, 14, 26, -5, 14, 23,
+ 8, 9, 6, 7, 2, 6, 7, 7, 13, 12, 14, 14, 27, -4, 14, 24,
+ 11, 12, 9, 10, 5, 9, 10, 10, 16, 15, 14, 14, -2, -4, 14, 24,
+ 14, 15, 12, 13, 8, 12, 13, 13, 19, 18, 14, 14, -2,-36, 14, 24,
+ 17, 18, 15, 16, 11, 15, 16, 16, 22, 21, 14, 14, 28, -3, 14, 25,
+ 20, 21, 18, 19, 14, 18, 19, 19, 25, 24, 14, 14, 14, 29, 14, 25,
+
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ };
+
+ #define RUN_DSP( time, offset ) \
+ int count = (time) - (offset) - m.dsp_time;\
+ if ( count >= 0 )\
+ {\
+ int clock_count = (count & ~(clocks_per_sample - 1)) + clocks_per_sample;\
+ m.dsp_time += clock_count;\
+ dsp.run( clock_count );\
+ }
+#else
+ #define RUN_DSP( time, offset ) \
+ {\
+ int count = (time) - m.dsp_time;\
+ if ( !SPC_MORE_ACCURACY || count )\
+ {\
+ assert( count > 0 );\
+ m.dsp_time = (time);\
+ dsp.run( count );\
+ }\
+ }
+#endif
+
+int Snes_Spc::dsp_read( rel_time_t time )
+{
+ RUN_DSP( time, reg_times [REGS [r_dspaddr] & 0x7F] );
+
+ int result = dsp.read( REGS [r_dspaddr] & 0x7F );
+
+ #ifdef SPC_DSP_READ_HOOK
+ SPC_DSP_READ_HOOK( spc_time + time, (REGS [r_dspaddr] & 0x7F), result );
+ #endif
+
+ return result;
+}
+
+inline void Snes_Spc::dsp_write( int data, rel_time_t time )
+{
+ RUN_DSP( time, reg_times [REGS [r_dspaddr]] )
+ #if SPC_LESS_ACCURATE
+ else if ( m.dsp_time == skipping_time )
+ {
+ int r = REGS [r_dspaddr];
+ if ( r == Spc_Dsp::r_kon )
+ m.skipped_kon |= data & ~dsp.read( Spc_Dsp::r_koff );
+
+ if ( r == Spc_Dsp::r_koff )
+ {
+ m.skipped_koff |= data;
+ m.skipped_kon &= ~data;
+ }
+ }
+ #endif
+
+ #ifdef SPC_DSP_WRITE_HOOK
+ SPC_DSP_WRITE_HOOK( m.spc_time + time, REGS [r_dspaddr], (uint8_t) data );
+ #endif
+
+ if ( REGS [r_dspaddr] <= 0x7F )
+ dsp.write( REGS [r_dspaddr], data );
+ else if ( !SPC_MORE_ACCURACY )
+ debug_printf( "SPC wrote to DSP register > $7F\n" );
+}
+
+
+//// Memory access extras
+
+#if SPC_MORE_ACCURACY
+ #define MEM_ACCESS( time, addr ) \
+ {\
+ if ( time >= m.dsp_time )\
+ {\
+ RUN_DSP( time, max_reg_time );\
+ }\
+ }
+#elif !defined (NDEBUG)
+ // Debug-only check for read/write within echo buffer, since this might result in
+ // inaccurate emulation due to the DSP not being caught up to the present.
+
+ bool Snes_Spc::check_echo_access( int addr )
+ {
+ if ( !(dsp.read( Spc_Dsp::r_flg ) & 0x20) )
+ {
+ int start = 0x100 * dsp.read( Spc_Dsp::r_esa );
+ int size = 0x800 * (dsp.read( Spc_Dsp::r_edl ) & 0x0F);
+ int end = start + (size ? size : 4);
+ if ( start <= addr && addr < end )
+ {
+ if ( !m.echo_accessed )
+ {
+ m.echo_accessed = 1;
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ #define MEM_ACCESS( time, addr ) check( !check_echo_access( (uint16_t) addr ) );
+#else
+ #define MEM_ACCESS( time, addr )
+#endif
+
+
+//// CPU write
+
+#if SPC_MORE_ACCURACY
+static unsigned char const glitch_probs [3] [256] =
+{
+ 0xC3,0x92,0x5B,0x1C,0xD1,0x92,0x5B,0x1C,0xDB,0x9C,0x72,0x18,0xCD,0x5C,0x38,0x0B,
+ 0xE1,0x9C,0x74,0x17,0xCF,0x75,0x45,0x0C,0xCF,0x6E,0x4A,0x0D,0xA3,0x3A,0x1D,0x08,
+ 0xDB,0xA0,0x82,0x19,0xD9,0x73,0x3C,0x0E,0xCB,0x76,0x52,0x0B,0xA5,0x46,0x1D,0x09,
+ 0xDA,0x74,0x55,0x0F,0xA2,0x3F,0x21,0x05,0x9A,0x40,0x20,0x07,0x63,0x1E,0x10,0x01,
+ 0xDF,0xA9,0x85,0x1D,0xD3,0x84,0x4B,0x0E,0xCF,0x6F,0x49,0x0F,0xB3,0x48,0x1E,0x05,
+ 0xD8,0x77,0x52,0x12,0xB7,0x49,0x23,0x06,0xAA,0x45,0x28,0x07,0x7D,0x28,0x0F,0x07,
+ 0xCC,0x7B,0x4A,0x0E,0xB2,0x4F,0x24,0x07,0xAD,0x43,0x2C,0x06,0x86,0x29,0x11,0x07,
+ 0xAE,0x48,0x1F,0x0A,0x76,0x21,0x19,0x05,0x76,0x21,0x14,0x05,0x44,0x11,0x0B,0x01,
+ 0xE7,0xAD,0x96,0x23,0xDC,0x86,0x59,0x0E,0xDC,0x7C,0x5F,0x15,0xBB,0x53,0x2E,0x09,
+ 0xD6,0x7C,0x4A,0x16,0xBB,0x4A,0x25,0x08,0xB3,0x4F,0x28,0x0B,0x8E,0x23,0x15,0x08,
+ 0xCF,0x7F,0x57,0x11,0xB5,0x4A,0x23,0x0A,0xAA,0x42,0x28,0x05,0x7D,0x22,0x12,0x03,
+ 0xA6,0x49,0x28,0x09,0x82,0x2B,0x0D,0x04,0x7A,0x20,0x0F,0x04,0x3D,0x0F,0x09,0x03,
+ 0xD1,0x7C,0x4C,0x0F,0xAF,0x4E,0x21,0x09,0xA8,0x46,0x2A,0x07,0x85,0x1F,0x0E,0x07,
+ 0xA6,0x3F,0x26,0x07,0x7C,0x24,0x14,0x07,0x78,0x22,0x16,0x04,0x46,0x12,0x0A,0x02,
+ 0xA6,0x41,0x2C,0x0A,0x7E,0x28,0x11,0x05,0x73,0x1B,0x14,0x05,0x3D,0x11,0x0A,0x02,
+ 0x70,0x22,0x17,0x05,0x48,0x13,0x08,0x03,0x3C,0x07,0x0D,0x07,0x26,0x07,0x06,0x01,
+
+ 0xE0,0x9F,0xDA,0x7C,0x4F,0x18,0x28,0x0D,0xE9,0x9F,0xDA,0x7C,0x4F,0x18,0x1F,0x07,
+ 0xE6,0x97,0xD8,0x72,0x64,0x13,0x26,0x09,0xDC,0x67,0xA9,0x38,0x21,0x07,0x15,0x06,
+ 0xE9,0x91,0xD2,0x6B,0x63,0x14,0x2B,0x0E,0xD6,0x61,0xB7,0x41,0x2B,0x0E,0x10,0x09,
+ 0xCF,0x59,0xB0,0x2F,0x35,0x08,0x0F,0x07,0xB6,0x30,0x7A,0x21,0x17,0x07,0x09,0x03,
+ 0xE7,0xA3,0xE5,0x6B,0x65,0x1F,0x34,0x09,0xD8,0x6B,0xBE,0x45,0x27,0x07,0x10,0x07,
+ 0xDA,0x54,0xB1,0x39,0x2E,0x0E,0x17,0x08,0xA9,0x3C,0x86,0x22,0x16,0x06,0x07,0x03,
+ 0xD4,0x51,0xBC,0x3D,0x38,0x0A,0x13,0x06,0xB2,0x37,0x79,0x1C,0x17,0x05,0x0E,0x06,
+ 0xA7,0x31,0x74,0x1C,0x11,0x06,0x0C,0x02,0x6D,0x1A,0x38,0x10,0x0B,0x05,0x06,0x03,
+ 0xEB,0x9A,0xE1,0x7A,0x6F,0x13,0x34,0x0E,0xE6,0x75,0xC5,0x45,0x3E,0x0B,0x1A,0x05,
+ 0xD8,0x63,0xC1,0x40,0x3C,0x1B,0x19,0x06,0xB3,0x42,0x83,0x29,0x18,0x0A,0x08,0x04,
+ 0xD4,0x58,0xBA,0x43,0x3F,0x0A,0x1F,0x09,0xB1,0x33,0x8A,0x1F,0x1F,0x06,0x0D,0x05,
+ 0xAF,0x3C,0x7A,0x1F,0x16,0x08,0x0A,0x01,0x72,0x1B,0x52,0x0D,0x0B,0x09,0x06,0x01,
+ 0xCF,0x63,0xB7,0x47,0x40,0x10,0x14,0x06,0xC0,0x41,0x96,0x20,0x1C,0x09,0x10,0x05,
+ 0xA6,0x35,0x82,0x1A,0x20,0x0C,0x0E,0x04,0x80,0x1F,0x53,0x0F,0x0B,0x02,0x06,0x01,
+ 0xA6,0x31,0x81,0x1B,0x1D,0x01,0x08,0x08,0x7B,0x20,0x4D,0x19,0x0E,0x05,0x07,0x03,
+ 0x6B,0x17,0x49,0x07,0x0E,0x03,0x0A,0x05,0x37,0x0B,0x1F,0x06,0x04,0x02,0x07,0x01,
+
+ 0xF0,0xD6,0xED,0xAD,0xEC,0xB1,0xEB,0x79,0xAC,0x22,0x47,0x1E,0x6E,0x1B,0x32,0x0A,
+ 0xF0,0xD6,0xEA,0xA4,0xED,0xC4,0xDE,0x82,0x98,0x1F,0x50,0x13,0x52,0x15,0x2A,0x0A,
+ 0xF1,0xD1,0xEB,0xA2,0xEB,0xB7,0xD8,0x69,0xA2,0x1F,0x5B,0x18,0x55,0x18,0x2C,0x0A,
+ 0xED,0xB5,0xDE,0x7E,0xE6,0x85,0xD3,0x59,0x59,0x0F,0x2C,0x09,0x24,0x07,0x15,0x09,
+ 0xF1,0xD6,0xEA,0xA0,0xEC,0xBB,0xDA,0x77,0xA9,0x23,0x58,0x14,0x5D,0x12,0x2F,0x09,
+ 0xF1,0xC1,0xE3,0x86,0xE4,0x87,0xD2,0x4E,0x68,0x15,0x26,0x0B,0x27,0x09,0x15,0x02,
+ 0xEE,0xA6,0xE0,0x5C,0xE0,0x77,0xC3,0x41,0x67,0x1B,0x3C,0x07,0x2A,0x06,0x19,0x07,
+ 0xE4,0x75,0xC6,0x43,0xCC,0x50,0x95,0x23,0x35,0x09,0x14,0x04,0x15,0x05,0x0B,0x04,
+ 0xEE,0xD6,0xED,0xAD,0xEC,0xB1,0xEB,0x79,0xAC,0x22,0x56,0x14,0x5A,0x12,0x26,0x0A,
+ 0xEE,0xBB,0xE7,0x7E,0xE9,0x8D,0xCB,0x49,0x67,0x11,0x34,0x07,0x2B,0x0B,0x14,0x07,
+ 0xED,0xA7,0xE5,0x76,0xE3,0x7E,0xC4,0x4B,0x77,0x14,0x34,0x08,0x27,0x07,0x14,0x04,
+ 0xE7,0x8B,0xD2,0x4C,0xCA,0x56,0x9E,0x31,0x36,0x0C,0x11,0x07,0x14,0x04,0x0A,0x02,
+ 0xF0,0x9B,0xEA,0x6F,0xE5,0x81,0xC4,0x43,0x74,0x10,0x30,0x0B,0x2D,0x08,0x1B,0x06,
+ 0xE6,0x83,0xCA,0x48,0xD9,0x56,0xA7,0x23,0x3B,0x09,0x12,0x09,0x15,0x07,0x0A,0x03,
+ 0xE5,0x5F,0xCB,0x3C,0xCF,0x48,0x91,0x22,0x31,0x0A,0x17,0x08,0x15,0x04,0x0D,0x02,
+ 0xD1,0x43,0x91,0x20,0xA9,0x2D,0x54,0x12,0x17,0x07,0x09,0x02,0x0C,0x04,0x05,0x03,
+};
+#endif
+
+// Read/write handlers are divided into multiple functions to keep rarely-used
+// functionality separate so often-used functionality can be optimized better
+// by compiler.
+
+// If write isn't preceded by read, data has this added to it
+int const no_read_before_write = 0x2000;
+
+void Snes_Spc::cpu_write_smp_reg_( int data, rel_time_t time, int addr )
+{
+ switch ( addr )
+ {
+ case r_t0target:
+ case r_t1target:
+ case r_t2target: {
+ Timer* t = &m.timers [addr - r_t0target];
+ int period = IF_0_THEN_256( data );
+ if ( t->period != period )
+ {
+ t = run_timer( t, time );
+ #if SPC_MORE_ACCURACY
+ // Insane behavior when target is written just after counter is
+ // clocked and counter matches new period and new period isn't 1, 2, 4, or 8
+ if ( t->divider == (period & 0xFF) &&
+ t->next_time == time + TIMER_MUL( t, 1 ) &&
+ ((period - 1) | ~0x0F) & period )
+ {
+ //debug_printf( "SPC pathological timer target write\n" );
+
+ // If the period is 3, 5, or 9, there's a probability this behavior won't occur,
+ // based on the previous period
+ int prob = 0xFF;
+ int old_period = t->period & 0xFF;
+ if ( period == 3 ) prob = glitch_probs [0] [old_period];
+ if ( period == 5 ) prob = glitch_probs [1] [old_period];
+ if ( period == 9 ) prob = glitch_probs [2] [old_period];
+
+ // The glitch suppresses incrementing of one of the counter bits, based on
+ // the lowest set bit in the new period
+ int b = 1;
+ while ( !(period & b) )
+ b <<= 1;
+
+ if ( (rand() >> 4 & 0xFF) <= prob )
+ t->divider = (t->divider - b) & 0xFF;
+ }
+ #endif
+ t->period = period;
+ }
+ break;
+ }
+
+ case r_t0out:
+ case r_t1out:
+ case r_t2out:
+ if ( !SPC_MORE_ACCURACY )
+ debug_printf( "SPC wrote to counter %d\n", (int) addr - r_t0out );
+
+ if ( data < no_read_before_write / 2 )
+ run_timer( &m.timers [addr - r_t0out], time - 1 )->counter = 0;
+ break;
+
+ // Registers that act like RAM
+ case 0x8:
+ case 0x9:
+ REGS_IN [addr] = (uint8_t) data;
+ break;
+
+ case r_test:
+ if ( (uint8_t) data != 0x0A )
+ debug_printf( "SPC wrote to test register\n" );
+ break;
+
+ case r_control:
+ // port clears
+ if ( data & 0x10 )
+ {
+ REGS_IN [r_cpuio0] = 0;
+ REGS_IN [r_cpuio1] = 0;
+ }
+ if ( data & 0x20 )
+ {
+ REGS_IN [r_cpuio2] = 0;
+ REGS_IN [r_cpuio3] = 0;
+ }
+
+ // timers
+ {
+ for ( int i = 0; i < timer_count; i++ )
+ {
+ Timer* t = &m.timers [i];
+ int enabled = data >> i & 1;
+ if ( t->enabled != enabled )
+ {
+ t = run_timer( t, time );
+ t->enabled = enabled;
+ if ( enabled )
+ {
+ t->divider = 0;
+ t->counter = 0;
+ }
+ }
+ }
+ }
+ enable_rom( data & 0x80 );
+ break;
+ }
+}
+
+void Snes_Spc::cpu_write_smp_reg( int data, rel_time_t time, int addr )
+{
+ if ( addr == r_dspdata ) // 99%
+ dsp_write( data, time );
+ else
+ cpu_write_smp_reg_( data, time, addr );
+}
+
+void Snes_Spc::cpu_write_high( int data, int i, rel_time_t time )
+{
+ if ( i < rom_size )
+ {
+ m.hi_ram [i] = (uint8_t) data;
+ if ( m.rom_enabled )
+ RAM [i + rom_addr] = m.rom [i]; // restore overwritten ROM
+ }
+ else
+ {
+ assert( RAM [i + rom_addr] == (uint8_t) data );
+ RAM [i + rom_addr] = cpu_pad_fill; // restore overwritten padding
+ cpu_write( data, i + rom_addr - 0x10000, time );
+ }
+}
+
+int const bits_in_int = CHAR_BIT * sizeof (int);
+
+void Snes_Spc::cpu_write( int data, int addr, rel_time_t time )
+{
+ MEM_ACCESS( time, addr )
+
+ // RAM
+ RAM [addr] = (uint8_t) data;
+ int reg = addr - 0xF0;
+ if ( reg >= 0 ) // 64%
+ {
+ // $F0-$FF
+ if ( reg < reg_count ) // 87%
+ {
+ REGS [reg] = (uint8_t) data;
+
+ // Ports
+ #ifdef SPC_PORT_WRITE_HOOK
+ if ( (unsigned) (reg - r_cpuio0) < port_count )
+ SPC_PORT_WRITE_HOOK( m.spc_time + time, (reg - r_cpuio0),
+ (uint8_t) data, &REGS [r_cpuio0] );
+ #endif
+
+ // Registers other than $F2 and $F4-$F7
+ //if ( reg != 2 && reg != 4 && reg != 5 && reg != 6 && reg != 7 )
+ // TODO: this is a bit on the fragile side
+ if ( ((~0x2F00 << (bits_in_int - 16)) << reg) < 0 ) // 36%
+ cpu_write_smp_reg( data, time, reg );
+ }
+ // High mem/address wrap-around
+ else
+ {
+ reg -= rom_addr - 0xF0;
+ if ( reg >= 0 ) // 1% in IPL ROM area or address wrapped around
+ cpu_write_high( data, reg, time );
+ }
+ }
+}
+
+
+//// CPU read
+
+inline int Snes_Spc::cpu_read_smp_reg( int reg, rel_time_t time )
+{
+ int result = REGS_IN [reg];
+ reg -= r_dspaddr;
+ // DSP addr and data
+ if ( (unsigned) reg <= 1 ) // 4% 0xF2 and 0xF3
+ {
+ result = REGS [r_dspaddr];
+ if ( (unsigned) reg == 1 )
+ result = dsp_read( time ); // 0xF3
+ }
+ return result;
+}
+
+int Snes_Spc::cpu_read( int addr, rel_time_t time )
+{
+ MEM_ACCESS( time, addr )
+
+ // RAM
+ int result = RAM [addr];
+ int reg = addr - 0xF0;
+ if ( reg >= 0 ) // 40%
+ {
+ reg -= 0x10;
+ if ( (unsigned) reg >= 0xFF00 ) // 21%
+ {
+ reg += 0x10 - r_t0out;
+
+ // Timers
+ if ( (unsigned) reg < timer_count ) // 90%
+ {
+ Timer* t = &m.timers [reg];
+ if ( time >= t->next_time )
+ t = run_timer_( t, time );
+ result = t->counter;
+ t->counter = 0;
+ }
+ // Other registers
+ else if ( reg < 0 ) // 10%
+ {
+ result = cpu_read_smp_reg( reg + r_t0out, time );
+ }
+ else // 1%
+ {
+ assert( reg + (r_t0out + 0xF0 - 0x10000) < 0x100 );
+ result = cpu_read( reg + (r_t0out + 0xF0 - 0x10000), time );
+ }
+ }
+ }
+
+ return result;
+}
+
+
+//// Run
+
+// Prefix and suffix for CPU emulator function
+#define SPC_CPU_RUN_FUNC \
+BOOST::uint8_t* Snes_Spc::run_until_( time_t end_time )\
+{\
+ rel_time_t rel_time = m.spc_time - end_time;\
+ assert( rel_time <= 0 );\
+ m.spc_time = end_time;\
+ m.dsp_time += rel_time;\
+ m.timers [0].next_time += rel_time;\
+ m.timers [1].next_time += rel_time;\
+ m.timers [2].next_time += rel_time;
+
+#define SPC_CPU_RUN_FUNC_END \
+ m.spc_time += rel_time;\
+ m.dsp_time -= rel_time;\
+ m.timers [0].next_time -= rel_time;\
+ m.timers [1].next_time -= rel_time;\
+ m.timers [2].next_time -= rel_time;\
+ assert( m.spc_time <= end_time );\
+ return &REGS [r_cpuio0];\
+}
+
+int const cpu_lag_max = 12 - 1; // DIV YA,X takes 12 clocks
+
+void Snes_Spc::end_frame( time_t end_time )
+{
+ // Catch CPU up to as close to end as possible. If final instruction
+ // would exceed end, does NOT execute it and leaves m.spc_time < end.
+ if ( end_time > m.spc_time )
+ run_until_( end_time );
+
+ m.spc_time -= end_time;
+ m.extra_clocks += end_time;
+
+ // Greatest number of clocks early that emulation can stop early due to
+ // not being able to execute current instruction without going over
+ // allowed time.
+ assert( -cpu_lag_max <= m.spc_time && m.spc_time <= 0 );
+
+ // Catch timers up to CPU
+ for ( int i = 0; i < timer_count; i++ )
+ run_timer( &m.timers [i], 0 );
+
+ // Catch DSP up to CPU
+ if ( m.dsp_time < 0 )
+ {
+ RUN_DSP( 0, max_reg_time );
+ }
+
+ // Save any extra samples beyond what should be generated
+ if ( m.buf_begin )
+ save_extra();
+}
+
+// Inclusion here allows static memory access functions and better optimization
+#include "Spc_Cpu.h"
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Cpu.h b/plugins/gme/game-music-emu-svn/gme/Spc_Cpu.h
new file mode 100644
index 00000000..7394475c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Cpu.h
@@ -0,0 +1,1220 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+/* Copyright (C) 2004-2007 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+//// Memory access
+
+#if SPC_MORE_ACCURACY
+ #define SUSPICIOUS_OPCODE( name ) ((void) 0)
+#else
+ #define SUSPICIOUS_OPCODE( name ) debug_printf( "SPC: suspicious opcode: " name "\n" )
+#endif
+
+#define CPU_READ( time, offset, addr )\
+ cpu_read( addr, time + offset )
+
+#define CPU_WRITE( time, offset, addr, data )\
+ cpu_write( data, addr, time + offset )
+
+#if SPC_MORE_ACCURACY
+ #define CPU_READ_TIMER( time, offset, addr, out )\
+ { out = CPU_READ( time, offset, addr ); }
+
+#else
+ // timers are by far the most common thing read from dp
+ #define CPU_READ_TIMER( time, offset, addr_, out )\
+ {\
+ rel_time_t adj_time = time + offset;\
+ int dp_addr = addr_;\
+ int ti = dp_addr - (r_t0out + 0xF0);\
+ if ( (unsigned) ti < timer_count )\
+ {\
+ Timer* t = &m.timers [ti];\
+ if ( adj_time >= t->next_time )\
+ t = run_timer_( t, adj_time );\
+ out = t->counter;\
+ t->counter = 0;\
+ }\
+ else\
+ {\
+ out = ram [dp_addr];\
+ int i = dp_addr - 0xF0;\
+ if ( (unsigned) i < 0x10 )\
+ out = cpu_read_smp_reg( i, adj_time );\
+ }\
+ }
+#endif
+
+#define TIME_ADJ( n ) (n)
+
+#define READ_TIMER( time, addr, out ) CPU_READ_TIMER( rel_time, TIME_ADJ(time), (addr), out )
+#define READ( time, addr ) CPU_READ ( rel_time, TIME_ADJ(time), (addr) )
+#define WRITE( time, addr, data ) CPU_WRITE( rel_time, TIME_ADJ(time), (addr), (data) )
+
+#define DP_ADDR( addr ) (dp + (addr))
+
+#define READ_DP_TIMER( time, addr, out ) CPU_READ_TIMER( rel_time, TIME_ADJ(time), DP_ADDR( addr ), out )
+#define READ_DP( time, addr ) READ ( time, DP_ADDR( addr ) )
+#define WRITE_DP( time, addr, data ) WRITE( time, DP_ADDR( addr ), data )
+
+#define READ_PROG16( addr ) GET_LE16( ram + (addr) )
+
+#define SET_PC( n ) (pc = ram + (n))
+#define GET_PC() (pc - ram)
+#define READ_PC( pc ) (*(pc))
+#define READ_PC16( pc ) GET_LE16( pc )
+
+// TODO: remove non-wrapping versions?
+#define SPC_NO_SP_WRAPAROUND 0
+
+#define SET_SP( v ) (sp = ram + 0x101 + (v))
+#define GET_SP() (sp - 0x101 - ram)
+
+#if SPC_NO_SP_WRAPAROUND
+#define PUSH16( v ) (sp -= 2, SET_LE16( sp, v ))
+#define PUSH( v ) (void) (*--sp = (uint8_t) (v))
+#define POP( out ) (void) ((out) = *sp++)
+
+#else
+#define PUSH16( data )\
+{\
+ int addr = (sp -= 2) - ram;\
+ if ( addr > 0x100 )\
+ {\
+ SET_LE16( sp, data );\
+ }\
+ else\
+ {\
+ ram [(uint8_t) addr + 0x100] = (uint8_t) data;\
+ sp [1] = (uint8_t) (data >> 8);\
+ sp += 0x100;\
+ }\
+}
+
+#define PUSH( data )\
+{\
+ *--sp = (uint8_t) (data);\
+ if ( sp - ram == 0x100 )\
+ sp += 0x100;\
+}
+
+#define POP( out )\
+{\
+ out = *sp++;\
+ if ( sp - ram == 0x201 )\
+ {\
+ out = sp [-0x101];\
+ sp -= 0x100;\
+ }\
+}
+
+#endif
+
+#define MEM_BIT( rel ) CPU_mem_bit( pc, rel_time + rel )
+
+unsigned Snes_Spc::CPU_mem_bit( uint8_t const* pc, rel_time_t rel_time )
+{
+ unsigned addr = READ_PC16( pc );
+ unsigned t = READ( 0, addr & 0x1FFF ) >> (addr >> 13);
+ return t << 8 & 0x100;
+}
+
+//// Status flag handling
+
+// Hex value in name to clarify code and bit shifting.
+// Flag stored in indicated variable during emulation
+int const n80 = 0x80; // nz
+int const v40 = 0x40; // psw
+int const p20 = 0x20; // dp
+int const b10 = 0x10; // psw
+int const h08 = 0x08; // psw
+int const i04 = 0x04; // psw
+int const z02 = 0x02; // nz
+int const c01 = 0x01; // c
+
+int const nz_neg_mask = 0x880; // either bit set indicates N flag set
+
+#define GET_PSW( out )\
+{\
+ out = psw & ~(n80 | p20 | z02 | c01);\
+ out |= c >> 8 & c01;\
+ out |= dp >> 3 & p20;\
+ out |= ((nz >> 4) | nz) & n80;\
+ if ( !(uint8_t) nz ) out |= z02;\
+}
+
+#define SET_PSW( in )\
+{\
+ psw = in;\
+ c = in << 8;\
+ dp = in << 3 & 0x100;\
+ nz = (in << 4 & 0x800) | (~in & z02);\
+}
+
+SPC_CPU_RUN_FUNC
+{
+ uint8_t* const ram = RAM;
+ int a = m.cpu_regs.a;
+ int x = m.cpu_regs.x;
+ int y = m.cpu_regs.y;
+ uint8_t const* pc;
+ uint8_t* sp;
+ int psw;
+ int c;
+ int nz;
+ int dp;
+
+ SET_PC( m.cpu_regs.pc );
+ SET_SP( m.cpu_regs.sp );
+ SET_PSW( m.cpu_regs.psw );
+
+ goto loop;
+
+
+ // Main loop
+
+cbranch_taken_loop:
+ pc += *(BOOST::int8_t const*) pc;
+inc_pc_loop:
+ pc++;
+loop:
+{
+ unsigned opcode;
+ unsigned data;
+
+ check( (unsigned) a < 0x100 );
+ check( (unsigned) x < 0x100 );
+ check( (unsigned) y < 0x100 );
+
+ opcode = *pc;
+ if ( (rel_time += m.cycle_table [opcode]) > 0 )
+ goto out_of_time;
+
+ #ifdef SPC_CPU_OPCODE_HOOK
+ SPC_CPU_OPCODE_HOOK( GET_PC(), opcode );
+ #endif
+ /*
+ //SUB_CASE_COUNTER( 1 );
+ #define PROFILE_TIMER_LOOP( op, addr, len )\
+ if ( opcode == op )\
+ {\
+ int cond = (unsigned) ((addr) - 0xFD) < 3 &&\
+ pc [len] == 0xF0 && pc [len+1] == 0xFE - len;\
+ SUB_CASE_COUNTER( op && cond );\
+ }
+
+ PROFILE_TIMER_LOOP( 0xEC, GET_LE16( pc + 1 ), 3 );
+ PROFILE_TIMER_LOOP( 0xEB, pc [1], 2 );
+ PROFILE_TIMER_LOOP( 0xE4, pc [1], 2 );
+ */
+
+ // TODO: if PC is at end of memory, this will get wrong operand (very obscure)
+ data = *++pc;
+ switch ( opcode )
+ {
+
+// Common instructions
+
+#define BRANCH( cond )\
+{\
+ pc++;\
+ pc += (BOOST::int8_t) data;\
+ if ( cond )\
+ goto loop;\
+ pc -= (BOOST::int8_t) data;\
+ rel_time -= 2;\
+ goto loop;\
+}
+
+ case 0xF0: // BEQ
+ BRANCH( !(uint8_t) nz ) // 89% taken
+
+ case 0xD0: // BNE
+ BRANCH( (uint8_t) nz )
+
+ case 0x3F:{// CALL
+ int old_addr = GET_PC() + 2;
+ SET_PC( READ_PC16( pc ) );
+ PUSH16( old_addr );
+ goto loop;
+ }
+
+ case 0x6F:// RET
+ #if SPC_NO_SP_WRAPAROUND
+ {
+ SET_PC( GET_LE16( sp ) );
+ sp += 2;
+ }
+ #else
+ {
+ int addr = sp - ram;
+ SET_PC( GET_LE16( sp ) );
+ sp += 2;
+ if ( addr < 0x1FF )
+ goto loop;
+
+ SET_PC( sp [-0x101] * 0x100 + ram [(uint8_t) addr + 0x100] );
+ sp -= 0x100;
+ }
+ #endif
+ goto loop;
+
+ case 0xE4: // MOV a,dp
+ ++pc;
+ // 80% from timer
+ READ_DP_TIMER( 0, data, a = nz );
+ goto loop;
+
+ case 0xFA:{// MOV dp,dp
+ int temp;
+ READ_DP_TIMER( -2, data, temp );
+ data = temp + no_read_before_write ;
+ }
+ // fall through
+ case 0x8F:{// MOV dp,#imm
+ int temp = READ_PC( pc + 1 );
+ pc += 2;
+
+ #if !SPC_MORE_ACCURACY
+ {
+ int i = dp + temp;
+ ram [i] = (uint8_t) data;
+ i -= 0xF0;
+ if ( (unsigned) i < 0x10 ) // 76%
+ {
+ REGS [i] = (uint8_t) data;
+
+ // Registers other than $F2 and $F4-$F7
+ //if ( i != 2 && i != 4 && i != 5 && i != 6 && i != 7 )
+ if ( ((~0x2F00 << (bits_in_int - 16)) << i) < 0 ) // 12%
+ cpu_write_smp_reg( data, rel_time, i );
+ }
+ }
+ #else
+ WRITE_DP( 0, temp, data );
+ #endif
+ goto loop;
+ }
+
+ case 0xC4: // MOV dp,a
+ ++pc;
+ #if !SPC_MORE_ACCURACY
+ {
+ int i = dp + data;
+ ram [i] = (uint8_t) a;
+ i -= 0xF0;
+ if ( (unsigned) i < 0x10 ) // 39%
+ {
+ unsigned sel = i - 2;
+ REGS [i] = (uint8_t) a;
+
+ if ( sel == 1 ) // 51% $F3
+ dsp_write( a, rel_time );
+ else if ( sel > 1 ) // 1% not $F2 or $F3
+ cpu_write_smp_reg_( a, rel_time, i );
+ }
+ }
+ #else
+ WRITE_DP( 0, data, a );
+ #endif
+ goto loop;
+
+#define CASE( n ) case n:
+
+// Define common address modes based on opcode for immediate mode. Execution
+// ends with data set to the address of the operand.
+#define ADDR_MODES_( op )\
+ CASE( op - 0x02 ) /* (X) */\
+ data = x + dp;\
+ pc--;\
+ goto end_##op;\
+ CASE( op + 0x0F ) /* (dp)+Y */\
+ data = READ_PROG16( data + dp ) + y;\
+ goto end_##op;\
+ CASE( op - 0x01 ) /* (dp+X) */\
+ data = READ_PROG16( ((uint8_t) (data + x)) + dp );\
+ goto end_##op;\
+ CASE( op + 0x0E ) /* abs+Y */\
+ data += y;\
+ goto abs_##op;\
+ CASE( op + 0x0D ) /* abs+X */\
+ data += x;\
+ CASE( op - 0x03 ) /* abs */\
+ abs_##op:\
+ data += 0x100 * READ_PC( ++pc );\
+ goto end_##op;\
+ CASE( op + 0x0C ) /* dp+X */\
+ data = (uint8_t) (data + x);
+
+#define ADDR_MODES_NO_DP( op )\
+ ADDR_MODES_( op )\
+ data += dp;\
+ end_##op:
+
+#define ADDR_MODES( op )\
+ ADDR_MODES_( op )\
+ CASE( op - 0x04 ) /* dp */\
+ data += dp;\
+ end_##op:
+
+// 1. 8-bit Data Transmission Commands. Group I
+
+ ADDR_MODES_NO_DP( 0xE8 ) // MOV A,addr
+ a = nz = READ( 0, data );
+ goto inc_pc_loop;
+
+ case 0xBF:{// MOV A,(X)+
+ int temp = x + dp;
+ x = (uint8_t) (x + 1);
+ a = nz = READ( -1, temp );
+ goto loop;
+ }
+
+ case 0xE8: // MOV A,imm
+ a = data;
+ nz = data;
+ goto inc_pc_loop;
+
+ case 0xF9: // MOV X,dp+Y
+ data = (uint8_t) (data + y);
+ case 0xF8: // MOV X,dp
+ READ_DP_TIMER( 0, data, x = nz );
+ goto inc_pc_loop;
+
+ case 0xE9: // MOV X,abs
+ data = READ_PC16( pc );
+ ++pc;
+ data = READ( 0, data );
+ case 0xCD: // MOV X,imm
+ x = data;
+ nz = data;
+ goto inc_pc_loop;
+
+ case 0xFB: // MOV Y,dp+X
+ data = (uint8_t) (data + x);
+ case 0xEB: // MOV Y,dp
+ // 70% from timer
+ pc++;
+ READ_DP_TIMER( 0, data, y = nz );
+ goto loop;
+
+ case 0xEC:{// MOV Y,abs
+ int temp = READ_PC16( pc );
+ pc += 2;
+ READ_TIMER( 0, temp, y = nz );
+ //y = nz = READ( 0, temp );
+ goto loop;
+ }
+
+ case 0x8D: // MOV Y,imm
+ y = data;
+ nz = data;
+ goto inc_pc_loop;
+
+// 2. 8-BIT DATA TRANSMISSION COMMANDS, GROUP 2
+
+ ADDR_MODES_NO_DP( 0xC8 ) // MOV addr,A
+ WRITE( 0, data, a );
+ goto inc_pc_loop;
+
+ {
+ int temp;
+ case 0xCC: // MOV abs,Y
+ temp = y;
+ goto mov_abs_temp;
+ case 0xC9: // MOV abs,X
+ temp = x;
+ mov_abs_temp:
+ WRITE( 0, READ_PC16( pc ), temp );
+ pc += 2;
+ goto loop;
+ }
+
+ case 0xD9: // MOV dp+Y,X
+ data = (uint8_t) (data + y);
+ case 0xD8: // MOV dp,X
+ WRITE( 0, data + dp, x );
+ goto inc_pc_loop;
+
+ case 0xDB: // MOV dp+X,Y
+ data = (uint8_t) (data + x);
+ case 0xCB: // MOV dp,Y
+ WRITE( 0, data + dp, y );
+ goto inc_pc_loop;
+
+// 3. 8-BIT DATA TRANSMISSIN COMMANDS, GROUP 3.
+
+ case 0x7D: // MOV A,X
+ a = x;
+ nz = x;
+ goto loop;
+
+ case 0xDD: // MOV A,Y
+ a = y;
+ nz = y;
+ goto loop;
+
+ case 0x5D: // MOV X,A
+ x = a;
+ nz = a;
+ goto loop;
+
+ case 0xFD: // MOV Y,A
+ y = a;
+ nz = a;
+ goto loop;
+
+ case 0x9D: // MOV X,SP
+ x = nz = GET_SP();
+ goto loop;
+
+ case 0xBD: // MOV SP,X
+ SET_SP( x );
+ goto loop;
+
+ //case 0xC6: // MOV (X),A (handled by MOV addr,A in group 2)
+
+ case 0xAF: // MOV (X)+,A
+ WRITE_DP( 0, x, a + no_read_before_write );
+ x++;
+ goto loop;
+
+// 5. 8-BIT LOGIC OPERATION COMMANDS
+
+#define LOGICAL_OP( op, func )\
+ ADDR_MODES( op ) /* addr */\
+ data = READ( 0, data );\
+ case op: /* imm */\
+ nz = a func##= data;\
+ goto inc_pc_loop;\
+ { unsigned addr;\
+ case op + 0x11: /* X,Y */\
+ data = READ_DP( -2, y );\
+ addr = x + dp;\
+ goto addr_##op;\
+ case op + 0x01: /* dp,dp */\
+ data = READ_DP( -3, data );\
+ case op + 0x10:{/*dp,imm*/\
+ uint8_t const* addr2 = pc + 1;\
+ pc += 2;\
+ addr = READ_PC( addr2 ) + dp;\
+ }\
+ addr_##op:\
+ nz = data func READ( -1, addr );\
+ WRITE( 0, addr, nz );\
+ goto loop;\
+ }
+
+ LOGICAL_OP( 0x28, & ); // AND
+
+ LOGICAL_OP( 0x08, | ); // OR
+
+ LOGICAL_OP( 0x48, ^ ); // EOR
+
+// 4. 8-BIT ARITHMETIC OPERATION COMMANDS
+
+ ADDR_MODES( 0x68 ) // CMP addr
+ data = READ( 0, data );
+ case 0x68: // CMP imm
+ nz = a - data;
+ c = ~nz;
+ nz &= 0xFF;
+ goto inc_pc_loop;
+
+ case 0x79: // CMP (X),(Y)
+ data = READ_DP( -2, y );
+ nz = READ_DP( -1, x ) - data;
+ c = ~nz;
+ nz &= 0xFF;
+ goto loop;
+
+ case 0x69: // CMP dp,dp
+ data = READ_DP( -3, data );
+ case 0x78: // CMP dp,imm
+ nz = READ_DP( -1, READ_PC( ++pc ) ) - data;
+ c = ~nz;
+ nz &= 0xFF;
+ goto inc_pc_loop;
+
+ case 0x3E: // CMP X,dp
+ data += dp;
+ goto cmp_x_addr;
+ case 0x1E: // CMP X,abs
+ data = READ_PC16( pc );
+ pc++;
+ cmp_x_addr:
+ data = READ( 0, data );
+ case 0xC8: // CMP X,imm
+ nz = x - data;
+ c = ~nz;
+ nz &= 0xFF;
+ goto inc_pc_loop;
+
+ case 0x7E: // CMP Y,dp
+ data += dp;
+ goto cmp_y_addr;
+ case 0x5E: // CMP Y,abs
+ data = READ_PC16( pc );
+ pc++;
+ cmp_y_addr:
+ data = READ( 0, data );
+ case 0xAD: // CMP Y,imm
+ nz = y - data;
+ c = ~nz;
+ nz &= 0xFF;
+ goto inc_pc_loop;
+
+ {
+ int addr;
+ case 0xB9: // SBC (x),(y)
+ case 0x99: // ADC (x),(y)
+ pc--; // compensate for inc later
+ data = READ_DP( -2, y );
+ addr = x + dp;
+ goto adc_addr;
+ case 0xA9: // SBC dp,dp
+ case 0x89: // ADC dp,dp
+ data = READ_DP( -3, data );
+ case 0xB8: // SBC dp,imm
+ case 0x98: // ADC dp,imm
+ addr = READ_PC( ++pc ) + dp;
+ adc_addr:
+ nz = READ( -1, addr );
+ goto adc_data;
+
+// catch ADC and SBC together, then decode later based on operand
+#undef CASE
+#define CASE( n ) case n: case (n) + 0x20:
+ ADDR_MODES( 0x88 ) // ADC/SBC addr
+ data = READ( 0, data );
+ case 0xA8: // SBC imm
+ case 0x88: // ADC imm
+ addr = -1; // A
+ nz = a;
+ adc_data: {
+ int flags;
+ if ( opcode >= 0xA0 ) // SBC
+ data ^= 0xFF;
+
+ flags = data ^ nz;
+ nz += data + (c >> 8 & 1);
+ flags ^= nz;
+
+ psw = (psw & ~(v40 | h08)) |
+ (flags >> 1 & h08) |
+ ((flags + 0x80) >> 2 & v40);
+ c = nz;
+ if ( addr < 0 )
+ {
+ a = (uint8_t) nz;
+ goto inc_pc_loop;
+ }
+ WRITE( 0, addr, /*(uint8_t)*/ nz );
+ goto inc_pc_loop;
+ }
+
+ }
+
+// 6. ADDITION & SUBTRACTION COMMANDS
+
+#define INC_DEC_REG( reg, op )\
+ nz = reg op;\
+ reg = (uint8_t) nz;\
+ goto loop;
+
+ case 0xBC: INC_DEC_REG( a, + 1 ) // INC A
+ case 0x3D: INC_DEC_REG( x, + 1 ) // INC X
+ case 0xFC: INC_DEC_REG( y, + 1 ) // INC Y
+
+ case 0x9C: INC_DEC_REG( a, - 1 ) // DEC A
+ case 0x1D: INC_DEC_REG( x, - 1 ) // DEC X
+ case 0xDC: INC_DEC_REG( y, - 1 ) // DEC Y
+
+ case 0x9B: // DEC dp+X
+ case 0xBB: // INC dp+X
+ data = (uint8_t) (data + x);
+ case 0x8B: // DEC dp
+ case 0xAB: // INC dp
+ data += dp;
+ goto inc_abs;
+ case 0x8C: // DEC abs
+ case 0xAC: // INC abs
+ data = READ_PC16( pc );
+ pc++;
+ inc_abs:
+ nz = (opcode >> 4 & 2) - 1;
+ nz += READ( -1, data );
+ WRITE( 0, data, /*(uint8_t)*/ nz );
+ goto inc_pc_loop;
+
+// 7. SHIFT, ROTATION COMMANDS
+
+ case 0x5C: // LSR A
+ c = 0;
+ case 0x7C:{// ROR A
+ nz = (c >> 1 & 0x80) | (a >> 1);
+ c = a << 8;
+ a = nz;
+ goto loop;
+ }
+
+ case 0x1C: // ASL A
+ c = 0;
+ case 0x3C:{// ROL A
+ int temp = c >> 8 & 1;
+ c = a << 1;
+ nz = c | temp;
+ a = (uint8_t) nz;
+ goto loop;
+ }
+
+ case 0x0B: // ASL dp
+ c = 0;
+ data += dp;
+ goto rol_mem;
+ case 0x1B: // ASL dp+X
+ c = 0;
+ case 0x3B: // ROL dp+X
+ data = (uint8_t) (data + x);
+ case 0x2B: // ROL dp
+ data += dp;
+ goto rol_mem;
+ case 0x0C: // ASL abs
+ c = 0;
+ case 0x2C: // ROL abs
+ data = READ_PC16( pc );
+ pc++;
+ rol_mem:
+ nz = c >> 8 & 1;
+ nz |= (c = READ( -1, data ) << 1);
+ WRITE( 0, data, /*(uint8_t)*/ nz );
+ goto inc_pc_loop;
+
+ case 0x4B: // LSR dp
+ c = 0;
+ data += dp;
+ goto ror_mem;
+ case 0x5B: // LSR dp+X
+ c = 0;
+ case 0x7B: // ROR dp+X
+ data = (uint8_t) (data + x);
+ case 0x6B: // ROR dp
+ data += dp;
+ goto ror_mem;
+ case 0x4C: // LSR abs
+ c = 0;
+ case 0x6C: // ROR abs
+ data = READ_PC16( pc );
+ pc++;
+ ror_mem: {
+ int temp = READ( -1, data );
+ nz = (c >> 1 & 0x80) | (temp >> 1);
+ c = temp << 8;
+ WRITE( 0, data, nz );
+ goto inc_pc_loop;
+ }
+
+ case 0x9F: // XCN
+ nz = a = (a >> 4) | (uint8_t) (a << 4);
+ goto loop;
+
+// 8. 16-BIT TRANSMISION COMMANDS
+
+ case 0xBA: // MOVW YA,dp
+ a = READ_DP( -2, data );
+ nz = (a & 0x7F) | (a >> 1);
+ y = READ_DP( 0, (uint8_t) (data + 1) );
+ nz |= y;
+ goto inc_pc_loop;
+
+ case 0xDA: // MOVW dp,YA
+ WRITE_DP( -1, data, a );
+ WRITE_DP( 0, (uint8_t) (data + 1), y + no_read_before_write );
+ goto inc_pc_loop;
+
+// 9. 16-BIT OPERATION COMMANDS
+
+ case 0x3A: // INCW dp
+ case 0x1A:{// DECW dp
+ int temp;
+ // low byte
+ data += dp;
+ temp = READ( -3, data );
+ temp += (opcode >> 4 & 2) - 1; // +1 for INCW, -1 for DECW
+ nz = ((temp >> 1) | temp) & 0x7F;
+ WRITE( -2, data, /*(uint8_t)*/ temp );
+
+ // high byte
+ data = (uint8_t) (data + 1) + dp;
+ temp = (uint8_t) ((temp >> 8) + READ( -1, data ));
+ nz |= temp;
+ WRITE( 0, data, temp );
+
+ goto inc_pc_loop;
+ }
+
+ case 0x7A: // ADDW YA,dp
+ case 0x9A:{// SUBW YA,dp
+ int lo = READ_DP( -2, data );
+ int hi = READ_DP( 0, (uint8_t) (data + 1) );
+ int result;
+ int flags;
+
+ if ( opcode == 0x9A ) // SUBW
+ {
+ lo = (lo ^ 0xFF) + 1;
+ hi ^= 0xFF;
+ }
+
+ lo += a;
+ result = y + hi + (lo >> 8);
+ flags = hi ^ y ^ result;
+
+ psw = (psw & ~(v40 | h08)) |
+ (flags >> 1 & h08) |
+ ((flags + 0x80) >> 2 & v40);
+ c = result;
+ a = (uint8_t) lo;
+ result = (uint8_t) result;
+ y = result;
+ nz = (((lo >> 1) | lo) & 0x7F) | result;
+
+ goto inc_pc_loop;
+ }
+
+ case 0x5A: { // CMPW YA,dp
+ int temp = a - READ_DP( -1, data );
+ nz = ((temp >> 1) | temp) & 0x7F;
+ temp = y + (temp >> 8);
+ temp -= READ_DP( 0, (uint8_t) (data + 1) );
+ nz |= temp;
+ c = ~temp;
+ nz &= 0xFF;
+ goto inc_pc_loop;
+ }
+
+// 10. MULTIPLICATION & DIVISON COMMANDS
+
+ case 0xCF: { // MUL YA
+ unsigned temp = y * a;
+ a = (uint8_t) temp;
+ nz = ((temp >> 1) | temp) & 0x7F;
+ y = temp >> 8;
+ nz |= y;
+ goto loop;
+ }
+
+ case 0x9E: // DIV YA,X
+ {
+ unsigned ya = y * 0x100 + a;
+
+ psw &= ~(h08 | v40);
+
+ if ( y >= x )
+ psw |= v40;
+
+ if ( (y & 15) >= (x & 15) )
+ psw |= h08;
+
+ if ( y < x * 2 )
+ {
+ a = ya / x;
+ y = ya - a * x;
+ }
+ else
+ {
+ a = 255 - (ya - x * 0x200) / (256 - x);
+ y = x + (ya - x * 0x200) % (256 - x);
+ }
+
+ nz = (uint8_t) a;
+ a = (uint8_t) a;
+
+ goto loop;
+ }
+
+// 11. DECIMAL COMPENSATION COMMANDS
+
+ case 0xDF: // DAA
+ SUSPICIOUS_OPCODE( "DAA" );
+ if ( a > 0x99 || c & 0x100 )
+ {
+ a += 0x60;
+ c = 0x100;
+ }
+
+ if ( (a & 0x0F) > 9 || psw & h08 )
+ a += 0x06;
+
+ nz = a;
+ a = (uint8_t) a;
+ goto loop;
+
+ case 0xBE: // DAS
+ SUSPICIOUS_OPCODE( "DAS" );
+ if ( a > 0x99 || !(c & 0x100) )
+ {
+ a -= 0x60;
+ c = 0;
+ }
+
+ if ( (a & 0x0F) > 9 || !(psw & h08) )
+ a -= 0x06;
+
+ nz = a;
+ a = (uint8_t) a;
+ goto loop;
+
+// 12. BRANCHING COMMANDS
+
+ case 0x2F: // BRA rel
+ pc += (BOOST::int8_t) data;
+ goto inc_pc_loop;
+
+ case 0x30: // BMI
+ BRANCH( (nz & nz_neg_mask) )
+
+ case 0x10: // BPL
+ BRANCH( !(nz & nz_neg_mask) )
+
+ case 0xB0: // BCS
+ BRANCH( c & 0x100 )
+
+ case 0x90: // BCC
+ BRANCH( !(c & 0x100) )
+
+ case 0x70: // BVS
+ BRANCH( psw & v40 )
+
+ case 0x50: // BVC
+ BRANCH( !(psw & v40) )
+
+ #define CBRANCH( cond )\
+ {\
+ pc++;\
+ if ( cond )\
+ goto cbranch_taken_loop;\
+ rel_time -= 2;\
+ goto inc_pc_loop;\
+ }
+
+ case 0x03: // BBS dp.bit,rel
+ case 0x23:
+ case 0x43:
+ case 0x63:
+ case 0x83:
+ case 0xA3:
+ case 0xC3:
+ case 0xE3:
+ CBRANCH( READ_DP( -4, data ) >> (opcode >> 5) & 1 )
+
+ case 0x13: // BBC dp.bit,rel
+ case 0x33:
+ case 0x53:
+ case 0x73:
+ case 0x93:
+ case 0xB3:
+ case 0xD3:
+ case 0xF3:
+ CBRANCH( !(READ_DP( -4, data ) >> (opcode >> 5) & 1) )
+
+ case 0xDE: // CBNE dp+X,rel
+ data = (uint8_t) (data + x);
+ // fall through
+ case 0x2E:{// CBNE dp,rel
+ int temp;
+ // 61% from timer
+ READ_DP_TIMER( -4, data, temp );
+ CBRANCH( temp != a )
+ }
+
+ case 0x6E: { // DBNZ dp,rel
+ unsigned temp = READ_DP( -4, data ) - 1;
+ WRITE_DP( -3, (uint8_t) data, /*(uint8_t)*/ temp + no_read_before_write );
+ CBRANCH( temp )
+ }
+
+ case 0xFE: // DBNZ Y,rel
+ y = (uint8_t) (y - 1);
+ BRANCH( y )
+
+ case 0x1F: // JMP [abs+X]
+ SET_PC( READ_PC16( pc ) + x );
+ // fall through
+ case 0x5F: // JMP abs
+ SET_PC( READ_PC16( pc ) );
+ goto loop;
+
+// 13. SUB-ROUTINE CALL RETURN COMMANDS
+
+ case 0x0F:{// BRK
+ int temp;
+ int ret_addr = GET_PC();
+ SUSPICIOUS_OPCODE( "BRK" );
+ SET_PC( READ_PROG16( 0xFFDE ) ); // vector address verified
+ PUSH16( ret_addr );
+ GET_PSW( temp );
+ psw = (psw | b10) & ~i04;
+ PUSH( temp );
+ goto loop;
+ }
+
+ case 0x4F:{// PCALL offset
+ int ret_addr = GET_PC() + 1;
+ SET_PC( 0xFF00 | data );
+ PUSH16( ret_addr );
+ goto loop;
+ }
+
+ case 0x01: // TCALL n
+ case 0x11:
+ case 0x21:
+ case 0x31:
+ case 0x41:
+ case 0x51:
+ case 0x61:
+ case 0x71:
+ case 0x81:
+ case 0x91:
+ case 0xA1:
+ case 0xB1:
+ case 0xC1:
+ case 0xD1:
+ case 0xE1:
+ case 0xF1: {
+ int ret_addr = GET_PC();
+ SET_PC( READ_PROG16( 0xFFDE - (opcode >> 3) ) );
+ PUSH16( ret_addr );
+ goto loop;
+ }
+
+// 14. STACK OPERATION COMMANDS
+
+ {
+ int temp;
+ case 0x7F: // RET1
+ temp = *sp;
+ SET_PC( GET_LE16( sp + 1 ) );
+ sp += 3;
+ goto set_psw;
+ case 0x8E: // POP PSW
+ POP( temp );
+ set_psw:
+ SET_PSW( temp );
+ goto loop;
+ }
+
+ case 0x0D: { // PUSH PSW
+ int temp;
+ GET_PSW( temp );
+ PUSH( temp );
+ goto loop;
+ }
+
+ case 0x2D: // PUSH A
+ PUSH( a );
+ goto loop;
+
+ case 0x4D: // PUSH X
+ PUSH( x );
+ goto loop;
+
+ case 0x6D: // PUSH Y
+ PUSH( y );
+ goto loop;
+
+ case 0xAE: // POP A
+ POP( a );
+ goto loop;
+
+ case 0xCE: // POP X
+ POP( x );
+ goto loop;
+
+ case 0xEE: // POP Y
+ POP( y );
+ goto loop;
+
+// 15. BIT OPERATION COMMANDS
+
+ case 0x02: // SET1
+ case 0x22:
+ case 0x42:
+ case 0x62:
+ case 0x82:
+ case 0xA2:
+ case 0xC2:
+ case 0xE2:
+ case 0x12: // CLR1
+ case 0x32:
+ case 0x52:
+ case 0x72:
+ case 0x92:
+ case 0xB2:
+ case 0xD2:
+ case 0xF2: {
+ int bit = 1 << (opcode >> 5);
+ int mask = ~bit;
+ if ( opcode & 0x10 )
+ bit = 0;
+ data += dp;
+ WRITE( 0, data, (READ( -1, data ) & mask) | bit );
+ goto inc_pc_loop;
+ }
+
+ case 0x0E: // TSET1 abs
+ case 0x4E: // TCLR1 abs
+ data = READ_PC16( pc );
+ pc += 2;
+ {
+ unsigned temp = READ( -2, data );
+ nz = (uint8_t) (a - temp);
+ temp &= ~a;
+ if ( opcode == 0x0E )
+ temp |= a;
+ WRITE( 0, data, temp );
+ }
+ goto loop;
+
+ case 0x4A: // AND1 C,mem.bit
+ c &= MEM_BIT( 0 );
+ pc += 2;
+ goto loop;
+
+ case 0x6A: // AND1 C,/mem.bit
+ c &= ~MEM_BIT( 0 );
+ pc += 2;
+ goto loop;
+
+ case 0x0A: // OR1 C,mem.bit
+ c |= MEM_BIT( -1 );
+ pc += 2;
+ goto loop;
+
+ case 0x2A: // OR1 C,/mem.bit
+ c |= ~MEM_BIT( -1 );
+ pc += 2;
+ goto loop;
+
+ case 0x8A: // EOR1 C,mem.bit
+ c ^= MEM_BIT( -1 );
+ pc += 2;
+ goto loop;
+
+ case 0xEA: // NOT1 mem.bit
+ data = READ_PC16( pc );
+ pc += 2;
+ {
+ unsigned temp = READ( -1, data & 0x1FFF );
+ temp ^= 1 << (data >> 13);
+ WRITE( 0, data & 0x1FFF, temp );
+ }
+ goto loop;
+
+ case 0xCA: // MOV1 mem.bit,C
+ data = READ_PC16( pc );
+ pc += 2;
+ {
+ unsigned temp = READ( -2, data & 0x1FFF );
+ unsigned bit = data >> 13;
+ temp = (temp & ~(1 << bit)) | ((c >> 8 & 1) << bit);
+ WRITE( 0, data & 0x1FFF, temp + no_read_before_write );
+ }
+ goto loop;
+
+ case 0xAA: // MOV1 C,mem.bit
+ c = MEM_BIT( 0 );
+ pc += 2;
+ goto loop;
+
+// 16. PROGRAM PSW FLAG OPERATION COMMANDS
+
+ case 0x60: // CLRC
+ c = 0;
+ goto loop;
+
+ case 0x80: // SETC
+ c = ~0;
+ goto loop;
+
+ case 0xED: // NOTC
+ c ^= 0x100;
+ goto loop;
+
+ case 0xE0: // CLRV
+ psw &= ~(v40 | h08);
+ goto loop;
+
+ case 0x20: // CLRP
+ dp = 0;
+ goto loop;
+
+ case 0x40: // SETP
+ dp = 0x100;
+ goto loop;
+
+ case 0xA0: // EI
+ SUSPICIOUS_OPCODE( "EI" );
+ psw |= i04;
+ goto loop;
+
+ case 0xC0: // DI
+ SUSPICIOUS_OPCODE( "DI" );
+ psw &= ~i04;
+ goto loop;
+
+// 17. OTHER COMMANDS
+
+ case 0x00: // NOP
+ goto loop;
+
+ case 0xFF:{// STOP
+ // handle PC wrap-around
+ unsigned addr = GET_PC() - 1;
+ if ( addr >= 0x10000 )
+ {
+ addr &= 0xFFFF;
+ SET_PC( addr );
+ debug_printf( "SPC: PC wrapped around\n" );
+ goto loop;
+ }
+ }
+ // fall through
+ case 0xEF: // SLEEP
+ SUSPICIOUS_OPCODE( "STOP/SLEEP" );
+ --pc;
+ rel_time = 0;
+ m.cpu_error = "SPC emulation error";
+ goto stop;
+ } // switch
+
+ assert( 0 ); // catch any unhandled instructions
+}
+out_of_time:
+ rel_time -= m.cycle_table [*pc]; // undo partial execution of opcode
+stop:
+
+ // Uncache registers
+ if ( GET_PC() >= 0x10000 )
+ debug_printf( "SPC: PC wrapped around\n" );
+ m.cpu_regs.pc = (uint16_t) GET_PC();
+ m.cpu_regs.sp = ( uint8_t) GET_SP();
+ m.cpu_regs.a = ( uint8_t) a;
+ m.cpu_regs.x = ( uint8_t) x;
+ m.cpu_regs.y = ( uint8_t) y;
+ {
+ int temp;
+ GET_PSW( temp );
+ m.cpu_regs.psw = (uint8_t) temp;
+ }
+}
+SPC_CPU_RUN_FUNC_END
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Dsp.cpp b/plugins/gme/game-music-emu-svn/gme/Spc_Dsp.cpp
new file mode 100644
index 00000000..65f83fe5
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Dsp.cpp
@@ -0,0 +1,703 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Spc_Dsp.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+
+/* Copyright (C) 2007 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+#if INT_MAX < 0x7FFFFFFF
+ #error "Requires that int type have at least 32 bits"
+#endif
+
+
+// TODO: add to blargg_endian.h
+#define GET_LE16SA( addr ) ((BOOST::int16_t) GET_LE16( addr ))
+#define GET_LE16A( addr ) GET_LE16( addr )
+#define SET_LE16A( addr, data ) SET_LE16( addr, data )
+
+static BOOST::uint8_t const initial_regs [Spc_Dsp::register_count] =
+{
+ 0x45,0x8B,0x5A,0x9A,0xE4,0x82,0x1B,0x78,0x00,0x00,0xAA,0x96,0x89,0x0E,0xE0,0x80,
+ 0x2A,0x49,0x3D,0xBA,0x14,0xA0,0xAC,0xC5,0x00,0x00,0x51,0xBB,0x9C,0x4E,0x7B,0xFF,
+ 0xF4,0xFD,0x57,0x32,0x37,0xD9,0x42,0x22,0x00,0x00,0x5B,0x3C,0x9F,0x1B,0x87,0x9A,
+ 0x6F,0x27,0xAF,0x7B,0xE5,0x68,0x0A,0xD9,0x00,0x00,0x9A,0xC5,0x9C,0x4E,0x7B,0xFF,
+ 0xEA,0x21,0x78,0x4F,0xDD,0xED,0x24,0x14,0x00,0x00,0x77,0xB1,0xD1,0x36,0xC1,0x67,
+ 0x52,0x57,0x46,0x3D,0x59,0xF4,0x87,0xA4,0x00,0x00,0x7E,0x44,0x9C,0x4E,0x7B,0xFF,
+ 0x75,0xF5,0x06,0x97,0x10,0xC3,0x24,0xBB,0x00,0x00,0x7B,0x7A,0xE0,0x60,0x12,0x0F,
+ 0xF7,0x74,0x1C,0xE5,0x39,0x3D,0x73,0xC1,0x00,0x00,0x7A,0xB3,0xFF,0x4E,0x7B,0xFF
+};
+
+// if ( io < -32768 ) io = -32768;
+// if ( io > 32767 ) io = 32767;
+#define CLAMP16( io )\
+{\
+ if ( (int16_t) io != io )\
+ io = (io >> 31) ^ 0x7FFF;\
+}
+
+// Access global DSP register
+#define REG(n) m.regs [r_##n]
+
+// Access voice DSP register
+#define VREG(r,n) r [v_##n]
+
+#define WRITE_SAMPLES( l, r, out ) \
+{\
+ out [0] = l;\
+ out [1] = r;\
+ out += 2;\
+ if ( out >= m.out_end )\
+ {\
+ check( out == m.out_end );\
+ check( m.out_end != &m.extra [extra_size] || \
+ (m.extra <= m.out_begin && m.extra < &m.extra [extra_size]) );\
+ out = m.extra;\
+ m.out_end = &m.extra [extra_size];\
+ }\
+}\
+
+void Spc_Dsp::set_output( sample_t* out, int size )
+{
+ require( (size & 1) == 0 ); // must be even
+ if ( !out )
+ {
+ out = m.extra;
+ size = extra_size;
+ }
+ m.out_begin = out;
+ m.out = out;
+ m.out_end = out + size;
+}
+
+// Volume registers and efb are signed! Easy to forget int8_t cast.
+// Prefixes are to avoid accidental use of locals with same names.
+
+// Interleved gauss table (to improve cache coherency)
+// interleved_gauss [i] = gauss [(i & 1) * 256 + 255 - (i >> 1 & 0xFF)]
+static short const interleved_gauss [512] =
+{
+ 370,1305, 366,1305, 362,1304, 358,1304, 354,1304, 351,1304, 347,1304, 343,1303,
+ 339,1303, 336,1303, 332,1302, 328,1302, 325,1301, 321,1300, 318,1300, 314,1299,
+ 311,1298, 307,1297, 304,1297, 300,1296, 297,1295, 293,1294, 290,1293, 286,1292,
+ 283,1291, 280,1290, 276,1288, 273,1287, 270,1286, 267,1284, 263,1283, 260,1282,
+ 257,1280, 254,1279, 251,1277, 248,1275, 245,1274, 242,1272, 239,1270, 236,1269,
+ 233,1267, 230,1265, 227,1263, 224,1261, 221,1259, 218,1257, 215,1255, 212,1253,
+ 210,1251, 207,1248, 204,1246, 201,1244, 199,1241, 196,1239, 193,1237, 191,1234,
+ 188,1232, 186,1229, 183,1227, 180,1224, 178,1221, 175,1219, 173,1216, 171,1213,
+ 168,1210, 166,1207, 163,1205, 161,1202, 159,1199, 156,1196, 154,1193, 152,1190,
+ 150,1186, 147,1183, 145,1180, 143,1177, 141,1174, 139,1170, 137,1167, 134,1164,
+ 132,1160, 130,1157, 128,1153, 126,1150, 124,1146, 122,1143, 120,1139, 118,1136,
+ 117,1132, 115,1128, 113,1125, 111,1121, 109,1117, 107,1113, 106,1109, 104,1106,
+ 102,1102, 100,1098, 99,1094, 97,1090, 95,1086, 94,1082, 92,1078, 90,1074,
+ 89,1070, 87,1066, 86,1061, 84,1057, 83,1053, 81,1049, 80,1045, 78,1040,
+ 77,1036, 76,1032, 74,1027, 73,1023, 71,1019, 70,1014, 69,1010, 67,1005,
+ 66,1001, 65, 997, 64, 992, 62, 988, 61, 983, 60, 978, 59, 974, 58, 969,
+ 56, 965, 55, 960, 54, 955, 53, 951, 52, 946, 51, 941, 50, 937, 49, 932,
+ 48, 927, 47, 923, 46, 918, 45, 913, 44, 908, 43, 904, 42, 899, 41, 894,
+ 40, 889, 39, 884, 38, 880, 37, 875, 36, 870, 36, 865, 35, 860, 34, 855,
+ 33, 851, 32, 846, 32, 841, 31, 836, 30, 831, 29, 826, 29, 821, 28, 816,
+ 27, 811, 27, 806, 26, 802, 25, 797, 24, 792, 24, 787, 23, 782, 23, 777,
+ 22, 772, 21, 767, 21, 762, 20, 757, 20, 752, 19, 747, 19, 742, 18, 737,
+ 17, 732, 17, 728, 16, 723, 16, 718, 15, 713, 15, 708, 15, 703, 14, 698,
+ 14, 693, 13, 688, 13, 683, 12, 678, 12, 674, 11, 669, 11, 664, 11, 659,
+ 10, 654, 10, 649, 10, 644, 9, 640, 9, 635, 9, 630, 8, 625, 8, 620,
+ 8, 615, 7, 611, 7, 606, 7, 601, 6, 596, 6, 592, 6, 587, 6, 582,
+ 5, 577, 5, 573, 5, 568, 5, 563, 4, 559, 4, 554, 4, 550, 4, 545,
+ 4, 540, 3, 536, 3, 531, 3, 527, 3, 522, 3, 517, 2, 513, 2, 508,
+ 2, 504, 2, 499, 2, 495, 2, 491, 2, 486, 1, 482, 1, 477, 1, 473,
+ 1, 469, 1, 464, 1, 460, 1, 456, 1, 451, 1, 447, 1, 443, 1, 439,
+ 0, 434, 0, 430, 0, 426, 0, 422, 0, 418, 0, 414, 0, 410, 0, 405,
+ 0, 401, 0, 397, 0, 393, 0, 389, 0, 385, 0, 381, 0, 378, 0, 374,
+};
+
+
+//// Counters
+
+#define RATE( rate, div )\
+ (rate >= div ? rate / div * 8 - 1 : rate - 1)
+
+static unsigned const counter_mask [32] =
+{
+ RATE( 2,2), RATE(2048,4), RATE(1536,3),
+ RATE(1280,5), RATE(1024,4), RATE( 768,3),
+ RATE( 640,5), RATE( 512,4), RATE( 384,3),
+ RATE( 320,5), RATE( 256,4), RATE( 192,3),
+ RATE( 160,5), RATE( 128,4), RATE( 96,3),
+ RATE( 80,5), RATE( 64,4), RATE( 48,3),
+ RATE( 40,5), RATE( 32,4), RATE( 24,3),
+ RATE( 20,5), RATE( 16,4), RATE( 12,3),
+ RATE( 10,5), RATE( 8,4), RATE( 6,3),
+ RATE( 5,5), RATE( 4,4), RATE( 3,3),
+ RATE( 2,4),
+ RATE( 1,4)
+};
+#undef RATE
+
+inline void Spc_Dsp::init_counter()
+{
+ // counters start out with this synchronization
+ m.counters [0] = 1;
+ m.counters [1] = 0;
+ m.counters [2] = -0x20u;
+ m.counters [3] = 0x0B;
+
+ int n = 2;
+ for ( int i = 1; i < 32; i++ )
+ {
+ m.counter_select [i] = &m.counters [n];
+ if ( !--n )
+ n = 3;
+ }
+ m.counter_select [ 0] = &m.counters [0];
+ m.counter_select [30] = &m.counters [2];
+}
+
+inline void Spc_Dsp::run_counter( int i )
+{
+ int n = m.counters [i];
+ if ( !(n-- & 7) )
+ n -= 6 - i;
+ m.counters [i] = n;
+}
+
+#define READ_COUNTER( rate )\
+ (*m.counter_select [rate] & counter_mask [rate])
+
+
+//// Emulation
+
+void Spc_Dsp::run( int clock_count )
+{
+ int new_phase = m.phase + clock_count;
+ int count = new_phase >> 5;
+ m.phase = new_phase & 31;
+ if ( !count )
+ return;
+
+ uint8_t* const ram = m.ram;
+ uint8_t const* const dir = &ram [REG(dir) * 0x100];
+ int const slow_gaussian = (REG(pmon) >> 1) | REG(non);
+ int const noise_rate = REG(flg) & 0x1F;
+
+ // Global volume
+ int mvoll = (int8_t) REG(mvoll);
+ int mvolr = (int8_t) REG(mvolr);
+ if ( mvoll * mvolr < m.surround_threshold )
+ mvoll = -mvoll; // eliminate surround
+
+ do
+ {
+ // KON/KOFF reading
+ if ( (m.every_other_sample ^= 1) != 0 )
+ {
+ m.new_kon &= ~m.kon;
+ m.kon = m.new_kon;
+ m.t_koff = REG(koff);
+ }
+
+ run_counter( 1 );
+ run_counter( 2 );
+ run_counter( 3 );
+
+ // Noise
+ if ( !READ_COUNTER( noise_rate ) )
+ {
+ int feedback = (m.noise << 13) ^ (m.noise << 14);
+ m.noise = (feedback & 0x4000) ^ (m.noise >> 1);
+ }
+
+ // Voices
+ int pmon_input = 0;
+ int main_out_l = 0;
+ int main_out_r = 0;
+ int echo_out_l = 0;
+ int echo_out_r = 0;
+ voice_t* v = m.voices;
+ uint8_t* v_regs = m.regs;
+ int vbit = 1;
+ do
+ {
+ #define SAMPLE_PTR(i) GET_LE16A( &dir [VREG(v_regs,srcn) * 4 + i * 2] )
+
+ int brr_header = ram [v->brr_addr];
+ int kon_delay = v->kon_delay;
+
+ // Pitch
+ int pitch = GET_LE16A( &VREG(v_regs,pitchl) ) & 0x3FFF;
+ if ( REG(pmon) & vbit )
+ pitch += ((pmon_input >> 5) * pitch) >> 10;
+
+ // KON phases
+ if ( --kon_delay >= 0 )
+ {
+ v->kon_delay = kon_delay;
+
+ // Get ready to start BRR decoding on next sample
+ if ( kon_delay == 4 )
+ {
+ v->brr_addr = SAMPLE_PTR( 0 );
+ v->brr_offset = 1;
+ v->buf_pos = v->buf;
+ brr_header = 0; // header is ignored on this sample
+ }
+
+ // Envelope is never run during KON
+ v->env = 0;
+ v->hidden_env = 0;
+
+ // Disable BRR decoding until last three samples
+ v->interp_pos = (kon_delay & 3 ? 0x4000 : 0);
+
+ // Pitch is never added during KON
+ pitch = 0;
+ }
+
+ int env = v->env;
+
+ // Gaussian interpolation
+ {
+ int output = 0;
+ VREG(v_regs,envx) = (uint8_t) (env >> 4);
+ if ( env )
+ {
+ // Make pointers into gaussian based on fractional position between samples
+ int offset = (unsigned) v->interp_pos >> 3 & 0x1FE;
+ short const* fwd = interleved_gauss + offset;
+ short const* rev = interleved_gauss + 510 - offset; // mirror left half of gaussian
+
+ int const* in = &v->buf_pos [(unsigned) v->interp_pos >> 12];
+
+ if ( !(slow_gaussian & vbit) ) // 99%
+ {
+ // Faster approximation when exact sample value isn't necessary for pitch mod
+ output = (fwd [0] * in [0] +
+ fwd [1] * in [1] +
+ rev [1] * in [2] +
+ rev [0] * in [3]) >> 11;
+ output = (output * env) >> 11;
+ }
+ else
+ {
+ output = (int16_t) (m.noise * 2);
+ if ( !(REG(non) & vbit) )
+ {
+ output = (fwd [0] * in [0]) >> 11;
+ output += (fwd [1] * in [1]) >> 11;
+ output += (rev [1] * in [2]) >> 11;
+ output = (int16_t) output;
+ output += (rev [0] * in [3]) >> 11;
+
+ CLAMP16( output );
+ output &= ~1;
+ }
+ output = (output * env) >> 11 & ~1;
+ }
+
+ // Output
+ int l = output * v->volume [0];
+ int r = output * v->volume [1];
+
+ main_out_l += l;
+ main_out_r += r;
+
+ if ( REG(eon) & vbit )
+ {
+ echo_out_l += l;
+ echo_out_r += r;
+ }
+ }
+
+ pmon_input = output;
+ VREG(v_regs,outx) = (uint8_t) (output >> 8);
+ }
+
+ // Soft reset or end of sample
+ if ( REG(flg) & 0x80 || (brr_header & 3) == 1 )
+ {
+ v->env_mode = env_release;
+ env = 0;
+ }
+
+ if ( m.every_other_sample )
+ {
+ // KOFF
+ if ( m.t_koff & vbit )
+ v->env_mode = env_release;
+
+ // KON
+ if ( m.kon & vbit )
+ {
+ v->kon_delay = 5;
+ v->env_mode = env_attack;
+ REG(endx) &= ~vbit;
+ }
+ }
+
+ // Envelope
+ if ( !v->kon_delay )
+ {
+ if ( v->env_mode == env_release ) // 97%
+ {
+ env -= 0x8;
+ v->env = env;
+ if ( env <= 0 )
+ {
+ v->env = 0;
+ goto skip_brr; // no BRR decoding for you!
+ }
+ }
+ else // 3%
+ {
+ int rate;
+ int const adsr0 = VREG(v_regs,adsr0);
+ int env_data = VREG(v_regs,adsr1);
+ if ( adsr0 >= 0x80 ) // 97% ADSR
+ {
+ if ( v->env_mode > env_decay ) // 89%
+ {
+ env--;
+ env -= env >> 8;
+ rate = env_data & 0x1F;
+
+ // optimized handling
+ v->hidden_env = env;
+ if ( READ_COUNTER( rate ) )
+ goto exit_env;
+ v->env = env;
+ goto exit_env;
+ }
+ else if ( v->env_mode == env_decay )
+ {
+ env--;
+ env -= env >> 8;
+ rate = (adsr0 >> 3 & 0x0E) + 0x10;
+ }
+ else // env_attack
+ {
+ rate = (adsr0 & 0x0F) * 2 + 1;
+ env += rate < 31 ? 0x20 : 0x400;
+ }
+ }
+ else // GAIN
+ {
+ int mode;
+ env_data = VREG(v_regs,gain);
+ mode = env_data >> 5;
+ if ( mode < 4 ) // direct
+ {
+ env = env_data * 0x10;
+ rate = 31;
+ }
+ else
+ {
+ rate = env_data & 0x1F;
+ if ( mode == 4 ) // 4: linear decrease
+ {
+ env -= 0x20;
+ }
+ else if ( mode < 6 ) // 5: exponential decrease
+ {
+ env--;
+ env -= env >> 8;
+ }
+ else // 6,7: linear increase
+ {
+ env += 0x20;
+ if ( mode > 6 && (unsigned) v->hidden_env >= 0x600 )
+ env += 0x8 - 0x20; // 7: two-slope linear increase
+ }
+ }
+ }
+
+ // Sustain level
+ if ( (env >> 8) == (env_data >> 5) && v->env_mode == env_decay )
+ v->env_mode = env_sustain;
+
+ v->hidden_env = env;
+
+ // unsigned cast because linear decrease going negative also triggers this
+ if ( (unsigned) env > 0x7FF )
+ {
+ env = (env < 0 ? 0 : 0x7FF);
+ if ( v->env_mode == env_attack )
+ v->env_mode = env_decay;
+ }
+
+ if ( !READ_COUNTER( rate ) )
+ v->env = env; // nothing else is controlled by the counter
+ }
+ }
+ exit_env:
+
+ {
+ // Apply pitch
+ int old_pos = v->interp_pos;
+ int interp_pos = (old_pos & 0x3FFF) + pitch;
+ if ( interp_pos > 0x7FFF )
+ interp_pos = 0x7FFF;
+ v->interp_pos = interp_pos;
+
+ // BRR decode if necessary
+ if ( old_pos >= 0x4000 )
+ {
+ // Arrange the four input nybbles in 0xABCD order for easy decoding
+ int nybbles = ram [(v->brr_addr + v->brr_offset) & 0xFFFF] * 0x100 +
+ ram [(v->brr_addr + v->brr_offset + 1) & 0xFFFF];
+
+ // Advance read position
+ int const brr_block_size = 9;
+ int brr_offset = v->brr_offset;
+ if ( (brr_offset += 2) >= brr_block_size )
+ {
+ // Next BRR block
+ int brr_addr = (v->brr_addr + brr_block_size) & 0xFFFF;
+ assert( brr_offset == brr_block_size );
+ if ( brr_header & 1 )
+ {
+ brr_addr = SAMPLE_PTR( 1 );
+ if ( !v->kon_delay )
+ REG(endx) |= vbit;
+ }
+ v->brr_addr = brr_addr;
+ brr_offset = 1;
+ }
+ v->brr_offset = brr_offset;
+
+ // Decode
+
+ // 0: >>1 1: <<0 2: <<1 ... 12: <<11 13-15: >>4 <<11
+ static unsigned char const shifts [16 * 2] = {
+ 13,12,12,12,12,12,12,12,12,12,12, 12, 12, 16, 16, 16,
+ 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 11, 11
+ };
+ int const scale = brr_header >> 4;
+ int const right_shift = shifts [scale];
+ int const left_shift = shifts [scale + 16];
+
+ // Write to next four samples in circular buffer
+ int* pos = v->buf_pos;
+ int* end;
+
+ // Decode four samples
+ for ( end = pos + 4; pos < end; pos++, nybbles <<= 4 )
+ {
+ // Extract upper nybble and scale appropriately
+ int s = ((int16_t) nybbles >> right_shift) << left_shift;
+
+ // Apply IIR filter (8 is the most commonly used)
+ int const filter = brr_header & 0x0C;
+ int const p1 = pos [brr_buf_size - 1];
+ int const p2 = pos [brr_buf_size - 2] >> 1;
+ if ( filter >= 8 )
+ {
+ s += p1;
+ s -= p2;
+ if ( filter == 8 ) // s += p1 * 0.953125 - p2 * 0.46875
+ {
+ s += p2 >> 4;
+ s += (p1 * -3) >> 6;
+ }
+ else // s += p1 * 0.8984375 - p2 * 0.40625
+ {
+ s += (p1 * -13) >> 7;
+ s += (p2 * 3) >> 4;
+ }
+ }
+ else if ( filter ) // s += p1 * 0.46875
+ {
+ s += p1 >> 1;
+ s += (-p1) >> 5;
+ }
+
+ // Adjust and write sample
+ CLAMP16( s );
+ s = (int16_t) (s * 2);
+ pos [brr_buf_size] = pos [0] = s; // second copy simplifies wrap-around
+ }
+
+ if ( pos >= &v->buf [brr_buf_size] )
+ pos = v->buf;
+ v->buf_pos = pos;
+ }
+ }
+skip_brr:
+ // Next voice
+ vbit <<= 1;
+ v_regs += 0x10;
+ v++;
+ }
+ while ( vbit < 0x100 );
+
+ // Echo position
+ int echo_offset = m.echo_offset;
+ uint8_t* const echo_ptr = &ram [(REG(esa) * 0x100 + echo_offset) & 0xFFFF];
+ if ( !echo_offset )
+ m.echo_length = (REG(edl) & 0x0F) * 0x800;
+ echo_offset += 4;
+ if ( echo_offset >= m.echo_length )
+ echo_offset = 0;
+ m.echo_offset = echo_offset;
+
+ // FIR
+ int echo_in_l = GET_LE16SA( echo_ptr + 0 );
+ int echo_in_r = GET_LE16SA( echo_ptr + 2 );
+
+ int (*echo_hist_pos) [2] = m.echo_hist_pos;
+ if ( ++echo_hist_pos >= &m.echo_hist [echo_hist_size] )
+ echo_hist_pos = m.echo_hist;
+ m.echo_hist_pos = echo_hist_pos;
+
+ echo_hist_pos [0] [0] = echo_hist_pos [8] [0] = echo_in_l;
+ echo_hist_pos [0] [1] = echo_hist_pos [8] [1] = echo_in_r;
+
+ #define CALC_FIR_( i, in ) ((in) * (int8_t) REG(fir + i * 0x10))
+ echo_in_l = CALC_FIR_( 7, echo_in_l );
+ echo_in_r = CALC_FIR_( 7, echo_in_r );
+
+ #define CALC_FIR( i, ch ) CALC_FIR_( i, echo_hist_pos [i + 1] [ch] )
+ #define DO_FIR( i )\
+ echo_in_l += CALC_FIR( i, 0 );\
+ echo_in_r += CALC_FIR( i, 1 );
+ DO_FIR( 0 );
+ DO_FIR( 1 );
+ DO_FIR( 2 );
+ #if defined (__MWERKS__) && __MWERKS__ < 0x3200
+ __eieio(); // keeps compiler from stupidly "caching" things in memory
+ #endif
+ DO_FIR( 3 );
+ DO_FIR( 4 );
+ DO_FIR( 5 );
+ DO_FIR( 6 );
+
+ // Echo out
+ if ( !(REG(flg) & 0x20) )
+ {
+ int l = (echo_out_l >> 7) + ((echo_in_l * (int8_t) REG(efb)) >> 14);
+ int r = (echo_out_r >> 7) + ((echo_in_r * (int8_t) REG(efb)) >> 14);
+
+ // just to help pass more validation tests
+ #if SPC_MORE_ACCURACY
+ l &= ~1;
+ r &= ~1;
+ #endif
+
+ CLAMP16( l );
+ CLAMP16( r );
+
+ SET_LE16A( echo_ptr + 0, l );
+ SET_LE16A( echo_ptr + 2, r );
+ }
+
+ // Sound out
+ int l = (main_out_l * mvoll + echo_in_l * (int8_t) REG(evoll)) >> 14;
+ int r = (main_out_r * mvolr + echo_in_r * (int8_t) REG(evolr)) >> 14;
+
+ CLAMP16( l );
+ CLAMP16( r );
+
+ if ( (REG(flg) & 0x40) )
+ {
+ l = 0;
+ r = 0;
+ }
+
+ sample_t* out = m.out;
+ WRITE_SAMPLES( l, r, out );
+ m.out = out;
+ }
+ while ( --count );
+}
+
+
+//// Setup
+
+void Spc_Dsp::mute_voices( int mask )
+{
+ m.mute_mask = mask;
+ for ( int i = 0; i < voice_count; i++ )
+ {
+ m.voices [i].enabled = (mask >> i & 1) - 1;
+ update_voice_vol( i * 0x10 );
+ }
+}
+
+void Spc_Dsp::init( void* ram_64k )
+{
+ m.ram = (uint8_t*) ram_64k;
+ mute_voices( 0 );
+ disable_surround( false );
+ set_output( 0, 0 );
+ reset();
+
+ #ifndef NDEBUG
+ // be sure this sign-extends
+ assert( (int16_t) 0x8000 == -0x8000 );
+
+ // be sure right shift preserves sign
+ assert( (-1 >> 1) == -1 );
+
+ // check clamp macro
+ int i;
+ i = +0x8000; CLAMP16( i ); assert( i == +0x7FFF );
+ i = -0x8001; CLAMP16( i ); assert( i == -0x8000 );
+
+ blargg_verify_byte_order();
+ #endif
+}
+
+void Spc_Dsp::soft_reset_common()
+{
+ require( m.ram ); // init() must have been called already
+
+ m.noise = 0x4000;
+ m.echo_hist_pos = m.echo_hist;
+ m.every_other_sample = 1;
+ m.echo_offset = 0;
+ m.phase = 0;
+
+ init_counter();
+}
+
+void Spc_Dsp::soft_reset()
+{
+ REG(flg) = 0xE0;
+ soft_reset_common();
+}
+
+void Spc_Dsp::load( uint8_t const regs [register_count] )
+{
+ memcpy( m.regs, regs, sizeof m.regs );
+ memset( &m.regs [register_count], 0, offsetof (state_t,ram) - register_count );
+
+ // Internal state
+ int i;
+ for ( i = voice_count; --i >= 0; )
+ {
+ voice_t& v = m.voices [i];
+ v.brr_offset = 1;
+ v.buf_pos = v.buf;
+ }
+ m.new_kon = REG(kon);
+
+ mute_voices( m.mute_mask );
+ soft_reset_common();
+}
+
+void Spc_Dsp::reset() { load( initial_regs ); }
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Dsp.h b/plugins/gme/game-music-emu-svn/gme/Spc_Dsp.h
new file mode 100644
index 00000000..bc0efe5f
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Dsp.h
@@ -0,0 +1,212 @@
+// Fast SNES SPC-700 DSP emulator (about 3x speed of accurate one)
+
+// Game_Music_Emu 0.5.5
+#ifndef SPC_DSP_H
+#define SPC_DSP_H
+
+#include "blargg_common.h"
+
+struct Spc_Dsp {
+public:
+ typedef BOOST::uint8_t uint8_t;
+
+// Setup
+
+ // Initializes DSP and has it use the 64K RAM provided
+ void init( void* ram_64k );
+
+ // Sets destination for output samples. If out is NULL or out_size is 0,
+ // doesn't generate any.
+ typedef short sample_t;
+ void set_output( sample_t* out, int out_size );
+
+ // Number of samples written to output since it was last set, always
+ // a multiple of 2. Undefined if more samples were generated than
+ // output buffer could hold.
+ int sample_count() const;
+
+// Emulation
+
+ // Resets DSP to power-on state
+ void reset();
+
+ // Emulates pressing reset switch on SNES
+ void soft_reset();
+
+ // Reads/writes DSP registers. For accuracy, you must first call spc_run_dsp()
+ // to catch the DSP up to present.
+ int read ( int addr ) const;
+ void write( int addr, int data );
+
+ // Runs DSP for specified number of clocks (~1024000 per second). Every 32 clocks
+ // a pair of samples is be generated.
+ void run( int clock_count );
+
+// Sound control
+
+ // Mutes voices corresponding to non-zero bits in mask (overrides VxVOL with 0).
+ // Reduces emulation accuracy.
+ enum { voice_count = 8 };
+ void mute_voices( int mask );
+
+ // If true, prevents channels and global volumes from being phase-negated
+ void disable_surround( bool disable = true );
+
+// State
+
+ // Resets DSP and uses supplied values to initialize registers
+ enum { register_count = 128 };
+ void load( uint8_t const regs [register_count] );
+
+// DSP register addresses
+
+ // Global registers
+ enum {
+ r_mvoll = 0x0C, r_mvolr = 0x1C,
+ r_evoll = 0x2C, r_evolr = 0x3C,
+ r_kon = 0x4C, r_koff = 0x5C,
+ r_flg = 0x6C, r_endx = 0x7C,
+ r_efb = 0x0D, r_pmon = 0x2D,
+ r_non = 0x3D, r_eon = 0x4D,
+ r_dir = 0x5D, r_esa = 0x6D,
+ r_edl = 0x7D,
+ r_fir = 0x0F // 8 coefficients at 0x0F, 0x1F ... 0x7F
+ };
+
+ // Voice registers
+ enum {
+ v_voll = 0x00, v_volr = 0x01,
+ v_pitchl = 0x02, v_pitchh = 0x03,
+ v_srcn = 0x04, v_adsr0 = 0x05,
+ v_adsr1 = 0x06, v_gain = 0x07,
+ v_envx = 0x08, v_outx = 0x09
+ };
+
+public:
+ enum { extra_size = 16 };
+ sample_t* extra() { return m.extra; }
+ sample_t const* out_pos() const { return m.out; }
+public:
+ BLARGG_DISABLE_NOTHROW
+
+ typedef BOOST::int8_t int8_t;
+ typedef BOOST::int16_t int16_t;
+
+ enum { echo_hist_size = 8 };
+
+ enum env_mode_t { env_release, env_attack, env_decay, env_sustain };
+ enum { brr_buf_size = 12 };
+ struct voice_t
+ {
+ int buf [brr_buf_size*2];// decoded samples (twice the size to simplify wrap handling)
+ int* buf_pos; // place in buffer where next samples will be decoded
+ int interp_pos; // relative fractional position in sample (0x1000 = 1.0)
+ int brr_addr; // address of current BRR block
+ int brr_offset; // current decoding offset in BRR block
+ int kon_delay; // KON delay/current setup phase
+ env_mode_t env_mode;
+ int env; // current envelope level
+ int hidden_env; // used by GAIN mode 7, very obscure quirk
+ int volume [2]; // copy of volume from DSP registers, with surround disabled
+ int enabled; // -1 if enabled, 0 if muted
+ };
+private:
+ struct state_t
+ {
+ uint8_t regs [register_count];
+
+ // Echo history keeps most recent 8 samples (twice the size to simplify wrap handling)
+ int echo_hist [echo_hist_size * 2] [2];
+ int (*echo_hist_pos) [2]; // &echo_hist [0 to 7]
+
+ int every_other_sample; // toggles every sample
+ int kon; // KON value when last checked
+ int noise;
+ int echo_offset; // offset from ESA in echo buffer
+ int echo_length; // number of bytes that echo_offset will stop at
+ int phase; // next clock cycle to run (0-31)
+ unsigned counters [4];
+
+ int new_kon;
+ int t_koff;
+
+ voice_t voices [voice_count];
+
+ unsigned* counter_select [32];
+
+ // non-emulation state
+ uint8_t* ram; // 64K shared RAM between DSP and SMP
+ int mute_mask;
+ int surround_threshold;
+ sample_t* out;
+ sample_t* out_end;
+ sample_t* out_begin;
+ sample_t extra [extra_size];
+ };
+ state_t m;
+
+ void init_counter();
+ void run_counter( int );
+ void soft_reset_common();
+ void write_outline( int addr, int data );
+ void update_voice_vol( int addr );
+};
+
+#include <assert.h>
+
+inline int Spc_Dsp::sample_count() const { return m.out - m.out_begin; }
+
+inline int Spc_Dsp::read( int addr ) const
+{
+ assert( (unsigned) addr < register_count );
+ return m.regs [addr];
+}
+
+inline void Spc_Dsp::update_voice_vol( int addr )
+{
+ int l = (int8_t) m.regs [addr + v_voll];
+ int r = (int8_t) m.regs [addr + v_volr];
+
+ if ( l * r < m.surround_threshold )
+ {
+ // signs differ, so negate those that are negative
+ l ^= l >> 7;
+ r ^= r >> 7;
+ }
+
+ voice_t& v = m.voices [addr >> 4];
+ int enabled = v.enabled;
+ v.volume [0] = l & enabled;
+ v.volume [1] = r & enabled;
+}
+
+inline void Spc_Dsp::write( int addr, int data )
+{
+ assert( (unsigned) addr < register_count );
+
+ m.regs [addr] = (uint8_t) data;
+ int low = addr & 0x0F;
+ if ( low < 0x2 ) // voice volumes
+ {
+ update_voice_vol( low ^ addr );
+ }
+ else if ( low == 0xC )
+ {
+ if ( addr == r_kon )
+ m.new_kon = (uint8_t) data;
+
+ if ( addr == r_endx ) // always cleared, regardless of data written
+ m.regs [r_endx] = 0;
+ }
+}
+
+inline void Spc_Dsp::disable_surround( bool disable )
+{
+ m.surround_threshold = disable ? 0 : -0x4000;
+}
+
+#define SPC_NO_COPY_STATE_FUNCS 1
+
+#define SPC_LESS_ACCURATE 1
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Spc_Emu.cpp
new file mode 100644
index 00000000..e652e7ee
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Emu.cpp
@@ -0,0 +1,352 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Spc_Emu.h"
+
+#include "blargg_endian.h"
+#include <stdlib.h>
+#include <string.h>
+
+/* Copyright (C) 2004-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+// TODO: support Spc_Filter's bass
+
+Spc_Emu::Spc_Emu()
+{
+ set_type( gme_spc_type );
+
+ static const char* const names [Snes_Spc::voice_count] = {
+ "DSP 1", "DSP 2", "DSP 3", "DSP 4", "DSP 5", "DSP 6", "DSP 7", "DSP 8"
+ };
+ set_voice_names( names );
+
+ set_gain( 1.4 );
+}
+
+Spc_Emu::~Spc_Emu() { }
+
+// Track info
+
+long const trailer_offset = 0x10200;
+
+byte const* Spc_Emu::trailer() const { return &file_data [min( file_size, trailer_offset )]; }
+
+long Spc_Emu::trailer_size() const { return max( 0L, file_size - trailer_offset ); }
+
+static void get_spc_xid6( byte const* begin, long size, track_info_t* out )
+{
+ // header
+ byte const* end = begin + size;
+ if ( size < 8 || memcmp( begin, "xid6", 4 ) )
+ {
+ check( false );
+ return;
+ }
+ long info_size = get_le32( begin + 4 );
+ byte const* in = begin + 8;
+ if ( end - in > info_size )
+ {
+ debug_printf( "Extra data after SPC xid6 info\n" );
+ end = in + info_size;
+ }
+
+ int year = 0;
+ char copyright [256 + 5];
+ int copyright_len = 0;
+ int const year_len = 5;
+
+ while ( end - in >= 4 )
+ {
+ // header
+ int id = in [0];
+ int data = in [3] * 0x100 + in [2];
+ int type = in [1];
+ int len = type ? data : 0;
+ in += 4;
+ if ( len > end - in )
+ {
+ check( false );
+ break; // block goes past end of data
+ }
+
+ // handle specific block types
+ char* field = 0;
+ switch ( id )
+ {
+ case 0x01: field = out->song; break;
+ case 0x02: field = out->game; break;
+ case 0x03: field = out->author; break;
+ case 0x04: field = out->dumper; break;
+ case 0x07: field = out->comment; break;
+ case 0x14: year = data; break;
+
+ //case 0x30: // intro length
+ // Many SPCs have intro length set wrong for looped tracks, making it useless
+ /*
+ case 0x30:
+ check( len == 4 );
+ if ( len >= 4 )
+ {
+ out->intro_length = get_le32( in ) / 64;
+ if ( out->length > 0 )
+ {
+ long loop = out->length - out->intro_length;
+ if ( loop >= 2000 )
+ out->loop_length = loop;
+ }
+ }
+ break;
+ */
+
+ case 0x13:
+ copyright_len = min( len, (int) sizeof copyright - year_len );
+ memcpy( &copyright [year_len], in, copyright_len );
+ break;
+
+ default:
+ if ( id < 0x01 || (id > 0x07 && id < 0x10) ||
+ (id > 0x14 && id < 0x30) || id > 0x36 )
+ debug_printf( "Unknown SPC xid6 block: %X\n", (int) id );
+ break;
+ }
+ if ( field )
+ {
+ check( type == 1 );
+ Gme_File::copy_field_( field, (char const*) in, len );
+ }
+
+ // skip to next block
+ in += len;
+
+ // blocks are supposed to be 4-byte aligned with zero-padding...
+ byte const* unaligned = in;
+ while ( (in - begin) & 3 && in < end )
+ {
+ if ( *in++ != 0 )
+ {
+ // ...but some files have no padding
+ in = unaligned;
+ debug_printf( "SPC info tag wasn't properly padded to align\n" );
+ break;
+ }
+ }
+ }
+
+ char* p = &copyright [year_len];
+ if ( year )
+ {
+ *--p = ' ';
+ for ( int n = 4; n--; )
+ {
+ *--p = char (year % 10 + '0');
+ year /= 10;
+ }
+ copyright_len += year_len;
+ }
+ if ( copyright_len )
+ Gme_File::copy_field_( out->copyright, p, copyright_len );
+
+ check( in == end );
+}
+
+static void get_spc_info( Spc_Emu::header_t const& h, byte const* xid6, long xid6_size,
+ track_info_t* out )
+{
+ // decode length (can be in text or binary format, sometimes ambiguous ugh)
+ long len_secs = 0;
+ for ( int i = 0; i < 3; i++ )
+ {
+ unsigned n = h.len_secs [i] - '0';
+ if ( n > 9 )
+ {
+ // ignore single-digit text lengths
+ // (except if author field is present and begins at offset 1, ugh)
+ if ( i == 1 && (h.author [0] || !h.author [1]) )
+ len_secs = 0;
+ break;
+ }
+ len_secs *= 10;
+ len_secs += n;
+ }
+ if ( !len_secs || len_secs > 0x1FFF )
+ len_secs = get_le16( h.len_secs );
+ if ( len_secs < 0x1FFF )
+ out->length = len_secs * 1000;
+
+ int offset = (h.author [0] < ' ' || unsigned (h.author [0] - '0') <= 9);
+ Gme_File::copy_field_( out->author, &h.author [offset], sizeof h.author - offset );
+
+ GME_COPY_FIELD( h, out, song );
+ GME_COPY_FIELD( h, out, game );
+ GME_COPY_FIELD( h, out, dumper );
+ GME_COPY_FIELD( h, out, comment );
+
+ if ( xid6_size )
+ get_spc_xid6( xid6, xid6_size, out );
+}
+
+blargg_err_t Spc_Emu::track_info_( track_info_t* out, int ) const
+{
+ get_spc_info( header(), trailer(), trailer_size(), out );
+ return 0;
+}
+
+static blargg_err_t check_spc_header( void const* header )
+{
+ if ( memcmp( header, "SNES-SPC700 Sound File Data", 27 ) )
+ return gme_wrong_file_type;
+ return 0;
+}
+
+struct Spc_File : Gme_Info_
+{
+ Spc_Emu::header_t header;
+ blargg_vector<byte> xid6;
+
+ Spc_File() { set_type( gme_spc_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ long file_size = in.remain();
+ if ( file_size < Snes_Spc::spc_min_file_size )
+ return gme_wrong_file_type;
+ RETURN_ERR( in.read( &header, Spc_Emu::header_size ) );
+ RETURN_ERR( check_spc_header( header.tag ) );
+ long const xid6_offset = 0x10200;
+ long xid6_size = file_size - xid6_offset;
+ if ( xid6_size > 0 )
+ {
+ RETURN_ERR( xid6.resize( xid6_size ) );
+ RETURN_ERR( in.skip( xid6_offset - Spc_Emu::header_size ) );
+ RETURN_ERR( in.read( xid6.begin(), xid6.size() ) );
+ }
+ return 0;
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ get_spc_info( header, xid6.begin(), xid6.size(), out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_spc_emu () { return BLARGG_NEW Spc_Emu ; }
+static Music_Emu* new_spc_file() { return BLARGG_NEW Spc_File; }
+
+static gme_type_t_ const gme_spc_type_ = { "Super Nintendo", 1, &new_spc_emu, &new_spc_file, "SPC", 0 };
+gme_type_t const gme_spc_type = &gme_spc_type_;
+
+
+// Setup
+
+blargg_err_t Spc_Emu::set_sample_rate_( long sample_rate )
+{
+ RETURN_ERR( apu.init() );
+ enable_accuracy( false );
+ if ( sample_rate != native_sample_rate )
+ {
+ RETURN_ERR( resampler.buffer_size( native_sample_rate / 20 * 2 ) );
+ resampler.time_ratio( (double) native_sample_rate / sample_rate, 0.9965 );
+ }
+ return 0;
+}
+
+void Spc_Emu::enable_accuracy_( bool b )
+{
+ Music_Emu::enable_accuracy_( b );
+ filter.enable( b );
+}
+
+void Spc_Emu::mute_voices_( int m )
+{
+ Music_Emu::mute_voices_( m );
+ apu.mute_voices( m );
+}
+
+blargg_err_t Spc_Emu::load_mem_( byte const* in, long size )
+{
+ assert( offsetof (header_t,unused2 [46]) == header_size );
+ file_data = in;
+ file_size = size;
+ set_voice_count( Snes_Spc::voice_count );
+ if ( size < Snes_Spc::spc_min_file_size )
+ return gme_wrong_file_type;
+ return check_spc_header( in );
+}
+
+// Emulation
+
+void Spc_Emu::set_tempo_( double t )
+{
+ apu.set_tempo( (int) (t * apu.tempo_unit) );
+}
+
+blargg_err_t Spc_Emu::start_track_( int track )
+{
+ RETURN_ERR( Music_Emu::start_track_( track ) );
+ resampler.clear();
+ filter.clear();
+ RETURN_ERR( apu.load_spc( file_data, file_size ) );
+ filter.set_gain( (int) (gain() * SPC_Filter::gain_unit) );
+ apu.clear_echo();
+ return 0;
+}
+
+blargg_err_t Spc_Emu::play_and_filter( long count, sample_t out [] )
+{
+ RETURN_ERR( apu.play( count, out ) );
+ filter.run( out, count );
+ return 0;
+}
+
+blargg_err_t Spc_Emu::skip_( long count )
+{
+ if ( sample_rate() != native_sample_rate )
+ {
+ count = long (count * resampler.ratio()) & ~1;
+ count -= resampler.skip_input( count );
+ }
+
+ // TODO: shouldn't skip be adjusted for the 64 samples read afterwards?
+
+ if ( count > 0 )
+ {
+ RETURN_ERR( apu.skip( count ) );
+ filter.clear();
+ }
+
+ // eliminate pop due to resampler
+ const int resampler_latency = 64;
+ sample_t buf [resampler_latency];
+ return play_( resampler_latency, buf );
+}
+
+blargg_err_t Spc_Emu::play_( long count, sample_t* out )
+{
+ if ( sample_rate() == native_sample_rate )
+ return play_and_filter( count, out );
+
+ long remain = count;
+ while ( remain > 0 )
+ {
+ remain -= resampler.read( &out [count - remain], remain );
+ if ( remain > 0 )
+ {
+ long n = resampler.max_write();
+ RETURN_ERR( play_and_filter( n, resampler.buffer() ) );
+ resampler.write( n );
+ }
+ }
+ check( remain == 0 );
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Emu.h b/plugins/gme/game-music-emu-svn/gme/Spc_Emu.h
new file mode 100644
index 00000000..ab034ad3
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Emu.h
@@ -0,0 +1,82 @@
+// Super Nintendo SPC music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef SPC_EMU_H
+#define SPC_EMU_H
+
+#include "Fir_Resampler.h"
+#include "Music_Emu.h"
+#include "Snes_Spc.h"
+#include "Spc_Filter.h"
+
+class Spc_Emu : public Music_Emu {
+public:
+ // The Super Nintendo hardware samples at 32kHz. Other sample rates are
+ // handled by resampling the 32kHz output; emulation accuracy is not affected.
+ enum { native_sample_rate = 32000 };
+
+ // SPC file header
+ enum { header_size = 0x100 };
+ struct header_t
+ {
+ char tag [35];
+ byte format;
+ byte version;
+ byte pc [2];
+ byte a, x, y, psw, sp;
+ byte unused [2];
+ char song [32];
+ char game [32];
+ char dumper [16];
+ char comment [32];
+ byte date [11];
+ byte len_secs [3];
+ byte fade_msec [4];
+ char author [32]; // sometimes first char should be skipped (see official SPC spec)
+ byte mute_mask;
+ byte emulator;
+ byte unused2 [46];
+ };
+
+ // Header for currently loaded file
+ header_t const& header() const { return *(header_t const*) file_data; }
+
+ // Prevents channels and global volumes from being phase-negated
+ void disable_surround( bool disable = true );
+
+ static gme_type_t static_type() { return gme_spc_type; }
+
+public:
+ // deprecated
+ Music_Emu::load;
+ blargg_err_t load( header_t const& h, Data_Reader& in ) // use Remaining_Reader
+ { return load_remaining_( &h, sizeof h, in ); }
+ byte const* trailer() const; // use track_info()
+ long trailer_size() const;
+
+public:
+ Spc_Emu();
+ ~Spc_Emu();
+protected:
+ blargg_err_t load_mem_( byte const*, long );
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t set_sample_rate_( long );
+ blargg_err_t start_track_( int );
+ blargg_err_t play_( long, sample_t* );
+ blargg_err_t skip_( long );
+ void mute_voices_( int );
+ void set_tempo_( double );
+ void enable_accuracy_( bool );
+private:
+ byte const* file_data;
+ long file_size;
+ Fir_Resampler<24> resampler;
+ SPC_Filter filter;
+ Snes_Spc apu;
+
+ blargg_err_t play_and_filter( long count, sample_t out [] );
+};
+
+inline void Spc_Emu::disable_surround( bool b ) { apu.disable_surround( b ); }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Filter.cpp b/plugins/gme/game-music-emu-svn/gme/Spc_Filter.cpp
new file mode 100644
index 00000000..9b7ace98
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Filter.cpp
@@ -0,0 +1,83 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Spc_Filter.h"
+
+#include <string.h>
+
+/* Copyright (C) 2007 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+void SPC_Filter::clear() { memset( ch, 0, sizeof ch ); }
+
+SPC_Filter::SPC_Filter()
+{
+ enabled = true;
+ gain = gain_unit;
+ bass = bass_norm;
+ clear();
+}
+
+void SPC_Filter::run( short* io, int count )
+{
+ require( (count & 1) == 0 ); // must be even
+
+ int const gain = this->gain;
+ if ( enabled )
+ {
+ int const bass = this->bass;
+ chan_t* c = &ch [2];
+ do
+ {
+ // cache in registers
+ int sum = (--c)->sum;
+ int pp1 = c->pp1;
+ int p1 = c->p1;
+
+ for ( int i = 0; i < count; i += 2 )
+ {
+ // Low-pass filter (two point FIR with coeffs 0.25, 0.75)
+ int f = io [i] + p1;
+ p1 = io [i] * 3;
+
+ // High-pass filter ("leaky integrator")
+ int delta = f - pp1;
+ pp1 = f;
+ int s = sum >> (gain_bits + 2);
+ sum += (delta * gain) - (sum >> bass);
+
+ // Clamp to 16 bits
+ if ( (short) s != s )
+ s = (s >> 31) ^ 0x7FFF;
+
+ io [i] = (short) s;
+ }
+
+ c->p1 = p1;
+ c->pp1 = pp1;
+ c->sum = sum;
+ ++io;
+ }
+ while ( c != ch );
+ }
+ else if ( gain != gain_unit )
+ {
+ short* const end = io + count;
+ while ( io < end )
+ {
+ int s = (*io * gain) >> gain_bits;
+ if ( (short) s != s )
+ s = (s >> 31) ^ 0x7FFF;
+ *io++ = (short) s;
+ }
+ }
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Spc_Filter.h b/plugins/gme/game-music-emu-svn/gme/Spc_Filter.h
new file mode 100644
index 00000000..9de56b18
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Spc_Filter.h
@@ -0,0 +1,53 @@
+// Simple low-pass and high-pass filter to better match sound output of a SNES
+
+// Game_Music_Emu 0.5.5
+#ifndef SPC_FILTER_H
+#define SPC_FILTER_H
+
+#include "blargg_common.h"
+
+struct SPC_Filter {
+public:
+
+ // Filters count samples of stereo sound in place. Count must be a multiple of 2.
+ typedef short sample_t;
+ void run( sample_t* io, int count );
+
+// Optional features
+
+ // Clears filter to silence
+ void clear();
+
+ // Sets gain (volume), where gain_unit is normal. Gains greater than gain_unit
+ // are fine, since output is clamped to 16-bit sample range.
+ enum { gain_unit = 0x100 };
+ void set_gain( int gain );
+
+ // Enables/disables filtering (when disabled, gain is still applied)
+ void enable( bool b );
+
+ // Sets amount of bass (logarithmic scale)
+ enum { bass_none = 0 };
+ enum { bass_norm = 8 }; // normal amount
+ enum { bass_max = 31 };
+ void set_bass( int bass );
+
+public:
+ SPC_Filter();
+ BLARGG_DISABLE_NOTHROW
+private:
+ enum { gain_bits = 8 };
+ int gain;
+ int bass;
+ bool enabled;
+ struct chan_t { int p1, pp1, sum; };
+ chan_t ch [2];
+};
+
+inline void SPC_Filter::enable( bool b ) { enabled = b; }
+
+inline void SPC_Filter::set_gain( int g ) { gain = g; }
+
+inline void SPC_Filter::set_bass( int b ) { bass = b; }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Vgm_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu.cpp
new file mode 100644
index 00000000..6a7cb98a
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu.cpp
@@ -0,0 +1,416 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Vgm_Emu.h"
+
+#include "blargg_endian.h"
+#include <string.h>
+#include <math.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+double const fm_gain = 3.0; // FM emulators are internally quieter to avoid 16-bit overflow
+double const rolloff = 0.990;
+double const oversample_factor = 1.5;
+
+Vgm_Emu::Vgm_Emu()
+{
+ disable_oversampling_ = false;
+ psg_rate = 0;
+ set_type( gme_vgm_type );
+
+ static int const types [8] = {
+ wave_type | 1, wave_type | 0, wave_type | 2, noise_type | 0
+ };
+ set_voice_types( types );
+
+ set_silence_lookahead( 1 ); // tracks should already be trimmed
+
+ static equalizer_t const eq = { -14.0, 80 };
+ set_equalizer( eq );
+}
+
+Vgm_Emu::~Vgm_Emu() { }
+
+// Track info
+
+static byte const* skip_gd3_str( byte const* in, byte const* end )
+{
+ while ( end - in >= 2 )
+ {
+ in += 2;
+ if ( !(in [-2] | in [-1]) )
+ break;
+ }
+ return in;
+}
+
+static byte const* get_gd3_str( byte const* in, byte const* end, char* field )
+{
+ byte const* mid = skip_gd3_str( in, end );
+ int len = (mid - in) / 2 - 1;
+ if ( len > 0 )
+ {
+ len = min( len, (int) Gme_File::max_field_ );
+ field [len] = 0;
+ for ( int i = 0; i < len; i++ )
+ field [i] = (in [i * 2 + 1] ? '?' : in [i * 2]); // TODO: convert to utf-8
+ }
+ return mid;
+}
+
+static byte const* get_gd3_pair( byte const* in, byte const* end, char* field )
+{
+ return skip_gd3_str( get_gd3_str( in, end, field ), end );
+}
+
+static void parse_gd3( byte const* in, byte const* end, track_info_t* out )
+{
+ in = get_gd3_pair( in, end, out->song );
+ in = get_gd3_pair( in, end, out->game );
+ in = get_gd3_pair( in, end, out->system );
+ in = get_gd3_pair( in, end, out->author );
+ in = get_gd3_str ( in, end, out->copyright );
+ in = get_gd3_pair( in, end, out->dumper );
+ in = get_gd3_str ( in, end, out->comment );
+}
+
+int const gd3_header_size = 12;
+
+static long check_gd3_header( byte const* h, long remain )
+{
+ if ( remain < gd3_header_size ) return 0;
+ if ( memcmp( h, "Gd3 ", 4 ) ) return 0;
+ if ( get_le32( h + 4 ) >= 0x200 ) return 0;
+
+ long gd3_size = get_le32( h + 8 );
+ if ( gd3_size > remain - gd3_header_size ) return 0;
+
+ return gd3_size;
+}
+
+byte const* Vgm_Emu::gd3_data( int* size ) const
+{
+ if ( size )
+ *size = 0;
+
+ long gd3_offset = get_le32( header().gd3_offset ) - 0x2C;
+ if ( gd3_offset < 0 )
+ return 0;
+
+ byte const* gd3 = data + header_size + gd3_offset;
+ long gd3_size = check_gd3_header( gd3, data_end - gd3 );
+ if ( !gd3_size )
+ return 0;
+
+ if ( size )
+ *size = gd3_size + gd3_header_size;
+
+ return gd3;
+}
+
+static void get_vgm_length( Vgm_Emu::header_t const& h, track_info_t* out )
+{
+ long length = get_le32( h.track_duration ) * 10 / 441;
+ if ( length > 0 )
+ {
+ long loop = get_le32( h.loop_duration );
+ if ( loop > 0 && get_le32( h.loop_offset ) )
+ {
+ out->loop_length = loop * 10 / 441;
+ out->intro_length = length - out->loop_length;
+ }
+ else
+ {
+ out->length = length; // 1000 / 44100 (VGM files used 44100 as timebase)
+ out->intro_length = length; // make it clear that track is no longer than length
+ out->loop_length = 0;
+ }
+ }
+}
+
+blargg_err_t Vgm_Emu::track_info_( track_info_t* out, int ) const
+{
+ get_vgm_length( header(), out );
+
+ int size;
+ byte const* gd3 = gd3_data( &size );
+ if ( gd3 )
+ parse_gd3( gd3 + gd3_header_size, gd3 + size, out );
+
+ return 0;
+}
+
+static blargg_err_t check_vgm_header( Vgm_Emu::header_t const& h )
+{
+ if ( memcmp( h.tag, "Vgm ", 4 ) )
+ return gme_wrong_file_type;
+ return 0;
+}
+
+struct Vgm_File : Gme_Info_
+{
+ Vgm_Emu::header_t h;
+ blargg_vector<byte> gd3;
+
+ Vgm_File() { set_type( gme_vgm_type ); }
+
+ blargg_err_t load_( Data_Reader& in )
+ {
+ long file_size = in.remain();
+ if ( file_size <= Vgm_Emu::header_size )
+ return gme_wrong_file_type;
+
+ RETURN_ERR( in.read( &h, Vgm_Emu::header_size ) );
+ RETURN_ERR( check_vgm_header( h ) );
+
+ long gd3_offset = get_le32( h.gd3_offset ) - 0x2C;
+ long remain = file_size - Vgm_Emu::header_size - gd3_offset;
+ byte gd3_h [gd3_header_size];
+ if ( gd3_offset > 0 && remain >= gd3_header_size )
+ {
+ RETURN_ERR( in.skip( gd3_offset ) );
+ RETURN_ERR( in.read( gd3_h, sizeof gd3_h ) );
+ long gd3_size = check_gd3_header( gd3_h, remain );
+ if ( gd3_size )
+ {
+ RETURN_ERR( gd3.resize( gd3_size ) );
+ RETURN_ERR( in.read( gd3.begin(), gd3.size() ) );
+ }
+ }
+ return 0;
+ }
+
+ blargg_err_t track_info_( track_info_t* out, int ) const
+ {
+ get_vgm_length( h, out );
+ if ( gd3.size() )
+ parse_gd3( gd3.begin(), gd3.end(), out );
+ return 0;
+ }
+};
+
+static Music_Emu* new_vgm_emu () { return BLARGG_NEW Vgm_Emu ; }
+static Music_Emu* new_vgm_file() { return BLARGG_NEW Vgm_File; }
+
+static gme_type_t_ const gme_vgm_type_ = { "Sega SMS/Genesis", 1, &new_vgm_emu, &new_vgm_file, "VGM", 1 };
+gme_type_t const gme_vgm_type = &gme_vgm_type_;
+
+static gme_type_t_ const gme_vgz_type_ = { "Sega SMS/Genesis", 1, &new_vgm_emu, &new_vgm_file, "VGZ", 1 };
+gme_type_t const gme_vgz_type = &gme_vgz_type_;
+
+
+// Setup
+
+void Vgm_Emu::set_tempo_( double t )
+{
+ if ( psg_rate )
+ {
+ vgm_rate = (long) (44100 * t + 0.5);
+ blip_time_factor = (long) floor( double (1L << blip_time_bits) / vgm_rate * psg_rate + 0.5 );
+ //debug_printf( "blip_time_factor: %ld\n", blip_time_factor );
+ //debug_printf( "vgm_rate: %ld\n", vgm_rate );
+ // TODO: remove? calculates vgm_rate more accurately (above differs at most by one Hz only)
+ //blip_time_factor = (long) floor( double (1L << blip_time_bits) * psg_rate / 44100 / t + 0.5 );
+ //vgm_rate = (long) floor( double (1L << blip_time_bits) * psg_rate / blip_time_factor + 0.5 );
+
+ fm_time_factor = 2 + (long) floor( fm_rate * (1L << fm_time_bits) / vgm_rate + 0.5 );
+ }
+}
+
+blargg_err_t Vgm_Emu::set_sample_rate_( long sample_rate )
+{
+ RETURN_ERR( blip_buf.set_sample_rate( sample_rate, 1000 / 30 ) );
+ return Classic_Emu::set_sample_rate_( sample_rate );
+}
+
+void Vgm_Emu::update_eq( blip_eq_t const& eq )
+{
+ psg.treble_eq( eq );
+ dac_synth.treble_eq( eq );
+}
+
+void Vgm_Emu::set_voice( int i, Blip_Buffer* c, Blip_Buffer* l, Blip_Buffer* r )
+{
+ if ( i < psg.osc_count )
+ psg.osc_output( i, c, l, r );
+}
+
+void Vgm_Emu::mute_voices_( int mask )
+{
+ Classic_Emu::mute_voices_( mask );
+ dac_synth.output( &blip_buf );
+ if ( uses_fm )
+ {
+ psg.output( (mask & 0x80) ? 0 : &blip_buf );
+ if ( ym2612.enabled() )
+ {
+ dac_synth.volume( (mask & 0x40) ? 0.0 : 0.1115 / 256 * fm_gain * gain() );
+ ym2612.mute_voices( mask );
+ }
+
+ if ( ym2413.enabled() )
+ {
+ int m = mask & 0x3F;
+ if ( mask & 0x20 )
+ m |= 0x01E0; // channels 5-8
+ if ( mask & 0x40 )
+ m |= 0x3E00;
+ ym2413.mute_voices( m );
+ }
+ }
+}
+
+blargg_err_t Vgm_Emu::load_mem_( byte const* new_data, long new_size )
+{
+ assert( offsetof (header_t,unused2 [8]) == header_size );
+
+ if ( new_size <= header_size )
+ return gme_wrong_file_type;
+
+ header_t const& h = *(header_t const*) new_data;
+
+ RETURN_ERR( check_vgm_header( h ) );
+
+ check( get_le32( h.version ) <= 0x150 );
+
+ // psg rate
+ psg_rate = get_le32( h.psg_rate );
+ if ( !psg_rate )
+ psg_rate = 3579545;
+ blip_buf.clock_rate( psg_rate );
+
+ data = new_data;
+ data_end = new_data + new_size;
+
+ // get loop
+ loop_begin = data_end;
+ if ( get_le32( h.loop_offset ) )
+ loop_begin = &data [get_le32( h.loop_offset ) + offsetof (header_t,loop_offset)];
+
+ set_voice_count( psg.osc_count );
+
+ RETURN_ERR( setup_fm() );
+
+ static const char* const fm_names [] = {
+ "FM 1", "FM 2", "FM 3", "FM 4", "FM 5", "FM 6", "PCM", "PSG"
+ };
+ static const char* const psg_names [] = { "Square 1", "Square 2", "Square 3", "Noise" };
+ set_voice_names( uses_fm ? fm_names : psg_names );
+
+ // do after FM in case output buffer is changed
+ return Classic_Emu::setup_buffer( psg_rate );
+}
+
+blargg_err_t Vgm_Emu::setup_fm()
+{
+ long ym2612_rate = get_le32( header().ym2612_rate );
+ long ym2413_rate = get_le32( header().ym2413_rate );
+ if ( ym2413_rate && get_le32( header().version ) < 0x110 )
+ update_fm_rates( &ym2413_rate, &ym2612_rate );
+
+ uses_fm = false;
+
+ fm_rate = blip_buf.sample_rate() * oversample_factor;
+
+ if ( ym2612_rate )
+ {
+ uses_fm = true;
+ if ( disable_oversampling_ )
+ fm_rate = ym2612_rate / 144.0;
+ Dual_Resampler::setup( fm_rate / blip_buf.sample_rate(), rolloff, fm_gain * gain() );
+ RETURN_ERR( ym2612.set_rate( fm_rate, ym2612_rate ) );
+ ym2612.enable( true );
+ set_voice_count( 8 );
+ }
+
+ if ( !uses_fm && ym2413_rate )
+ {
+ uses_fm = true;
+ if ( disable_oversampling_ )
+ fm_rate = ym2413_rate / 72.0;
+ Dual_Resampler::setup( fm_rate / blip_buf.sample_rate(), rolloff, fm_gain * gain() );
+ int result = ym2413.set_rate( fm_rate, ym2413_rate );
+ if ( result == 2 )
+ return "YM2413 FM sound isn't supported";
+ CHECK_ALLOC( !result );
+ ym2413.enable( true );
+ set_voice_count( 8 );
+ }
+
+ if ( uses_fm )
+ {
+ RETURN_ERR( Dual_Resampler::reset( blip_buf.length() * blip_buf.sample_rate() / 1000 ) );
+ psg.volume( 0.135 * fm_gain * gain() );
+ }
+ else
+ {
+ ym2612.enable( false );
+ ym2413.enable( false );
+ psg.volume( gain() );
+ }
+
+ return 0;
+}
+
+// Emulation
+
+blargg_err_t Vgm_Emu::start_track_( int track )
+{
+ RETURN_ERR( Classic_Emu::start_track_( track ) );
+ psg.reset( get_le16( header().noise_feedback ), header().noise_width );
+
+ dac_disabled = -1;
+ pos = data + header_size;
+ pcm_data = pos;
+ pcm_pos = pos;
+ dac_amp = -1;
+ vgm_time = 0;
+ if ( get_le32( header().version ) >= 0x150 )
+ {
+ long data_offset = get_le32( header().data_offset );
+ check( data_offset );
+ if ( data_offset )
+ pos += data_offset + offsetof (header_t,data_offset) - 0x40;
+ }
+
+ if ( uses_fm )
+ {
+ if ( ym2413.enabled() )
+ ym2413.reset();
+
+ if ( ym2612.enabled() )
+ ym2612.reset();
+
+ fm_time_offset = 0;
+ blip_buf.clear();
+ Dual_Resampler::clear();
+ }
+ return 0;
+}
+
+blargg_err_t Vgm_Emu::run_clocks( blip_time_t& time_io, int msec )
+{
+ time_io = run_commands( msec * vgm_rate / 1000 );
+ psg.end_frame( time_io );
+ return 0;
+}
+
+blargg_err_t Vgm_Emu::play_( long count, sample_t* out )
+{
+ if ( !uses_fm )
+ return Classic_Emu::play_( count, out );
+
+ Dual_Resampler::dual_play( count, out, blip_buf );
+ return 0;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Vgm_Emu.h b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu.h
new file mode 100644
index 00000000..bcfa506b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu.h
@@ -0,0 +1,84 @@
+// Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro VGM music file emulator
+
+// Game_Music_Emu 0.5.5
+#ifndef VGM_EMU_H
+#define VGM_EMU_H
+
+#include "Vgm_Emu_Impl.h"
+
+// Emulates VGM music using SN76489/SN76496 PSG, YM2612, and YM2413 FM sound chips.
+// Supports custom sound buffer and frequency equalization when VGM uses just the PSG.
+// FM sound chips can be run at their proper rates, or slightly higher to reduce
+// aliasing on high notes. Currently YM2413 support requires that you supply a
+// YM2413 sound chip emulator. I can provide one I've modified to work with the library.
+class Vgm_Emu : public Vgm_Emu_Impl {
+public:
+ // True if custom buffer and custom equalization are supported
+ // TODO: move into Music_Emu and rename to something like supports_custom_buffer()
+ bool is_classic_emu() const { return !uses_fm; }
+
+ // Disable running FM chips at higher than normal rate. Will result in slightly
+ // more aliasing of high notes.
+ void disable_oversampling( bool disable = true ) { disable_oversampling_ = disable; }
+
+ // VGM header format
+ enum { header_size = 0x40 };
+ struct header_t
+ {
+ char tag [4];
+ byte data_size [4];
+ byte version [4];
+ byte psg_rate [4];
+ byte ym2413_rate [4];
+ byte gd3_offset [4];
+ byte track_duration [4];
+ byte loop_offset [4];
+ byte loop_duration [4];
+ byte frame_rate [4];
+ byte noise_feedback [2];
+ byte noise_width;
+ byte unused1;
+ byte ym2612_rate [4];
+ byte ym2151_rate [4];
+ byte data_offset [4];
+ byte unused2 [8];
+ };
+
+ // Header for currently loaded file
+ header_t const& header() const { return *(header_t const*) data; }
+
+ static gme_type_t static_type() { return gme_vgm_type; }
+
+public:
+ // deprecated
+ Music_Emu::load;
+ blargg_err_t load( header_t const& h, Data_Reader& in ) // use Remaining_Reader
+ { return load_remaining_( &h, sizeof h, in ); }
+ byte const* gd3_data( int* size_out = 0 ) const; // use track_info()
+
+public:
+ Vgm_Emu();
+ ~Vgm_Emu();
+protected:
+ blargg_err_t track_info_( track_info_t*, int track ) const;
+ blargg_err_t load_mem_( byte const*, long );
+ blargg_err_t set_sample_rate_( long sample_rate );
+ blargg_err_t start_track_( int );
+ blargg_err_t play_( long count, sample_t* );
+ blargg_err_t run_clocks( blip_time_t&, int );
+ void set_tempo_( double );
+ void mute_voices_( int mask );
+ void set_voice( int, Blip_Buffer*, Blip_Buffer*, Blip_Buffer* );
+ void update_eq( blip_eq_t const& );
+private:
+ // removed; use disable_oversampling() and set_tempo() instead
+ Vgm_Emu( bool oversample, double tempo = 1.0 );
+ double fm_rate;
+ long psg_rate;
+ long vgm_rate;
+ bool disable_oversampling_;
+ bool uses_fm;
+ blargg_err_t setup_fm();
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.cpp b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.cpp
new file mode 100644
index 00000000..5a9b724a
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.cpp
@@ -0,0 +1,314 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Vgm_Emu.h"
+
+#include <math.h>
+#include <string.h>
+#include "blargg_endian.h"
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+enum {
+ cmd_gg_stereo = 0x4F,
+ cmd_psg = 0x50,
+ cmd_ym2413 = 0x51,
+ cmd_ym2612_port0 = 0x52,
+ cmd_ym2612_port1 = 0x53,
+ cmd_ym2151 = 0x54,
+ cmd_delay = 0x61,
+ cmd_delay_735 = 0x62,
+ cmd_delay_882 = 0x63,
+ cmd_byte_delay = 0x64,
+ cmd_end = 0x66,
+ cmd_data_block = 0x67,
+ cmd_short_delay = 0x70,
+ cmd_pcm_delay = 0x80,
+ cmd_pcm_seek = 0xE0,
+
+ pcm_block_type = 0x00,
+ ym2612_dac_port = 0x2A
+};
+
+inline int command_len( int command )
+{
+ switch ( command >> 4 )
+ {
+ case 0x03:
+ case 0x04:
+ return 2;
+
+ case 0x05:
+ case 0x0A:
+ case 0x0B:
+ return 3;
+
+ case 0x0C:
+ case 0x0D:
+ return 4;
+
+ case 0x0E:
+ case 0x0F:
+ return 5;
+ }
+
+ check( false );
+ return 1;
+}
+
+template<class Emu>
+inline void Ym_Emu<Emu>::begin_frame( short* p )
+{
+ require( enabled() );
+ out = p;
+ last_time = 0;
+}
+
+template<class Emu>
+inline int Ym_Emu<Emu>::run_until( int time )
+{
+ int count = time - last_time;
+ if ( count > 0 )
+ {
+ if ( last_time < 0 )
+ return false;
+ last_time = time;
+ short* p = out;
+ out += count * Emu::out_chan_count;
+ Emu::run( count, p );
+ }
+ return true;
+}
+
+inline Vgm_Emu_Impl::fm_time_t Vgm_Emu_Impl::to_fm_time( vgm_time_t t ) const
+{
+ return (t * fm_time_factor + fm_time_offset) >> fm_time_bits;
+}
+
+inline blip_time_t Vgm_Emu_Impl::to_blip_time( vgm_time_t t ) const
+{
+ return (t * blip_time_factor) >> blip_time_bits;
+}
+
+void Vgm_Emu_Impl::write_pcm( vgm_time_t vgm_time, int amp )
+{
+ blip_time_t blip_time = to_blip_time( vgm_time );
+ int old = dac_amp;
+ int delta = amp - old;
+ dac_amp = amp;
+ if ( old >= 0 )
+ dac_synth.offset_inline( blip_time, delta, &blip_buf );
+ else
+ dac_amp |= dac_disabled;
+}
+
+blip_time_t Vgm_Emu_Impl::run_commands( vgm_time_t end_time )
+{
+ vgm_time_t vgm_time = this->vgm_time;
+ byte const* pos = this->pos;
+ if ( pos >= data_end )
+ {
+ set_track_ended();
+ if ( pos > data_end )
+ set_warning( "Stream lacked end event" );
+ }
+
+ while ( vgm_time < end_time && pos < data_end )
+ {
+ // TODO: be sure there are enough bytes left in stream for particular command
+ // so we don't read past end
+ switch ( *pos++ )
+ {
+ case cmd_end:
+ pos = loop_begin; // if not looped, loop_begin == data_end
+ break;
+
+ case cmd_delay_735:
+ vgm_time += 735;
+ break;
+
+ case cmd_delay_882:
+ vgm_time += 882;
+ break;
+
+ case cmd_gg_stereo:
+ psg.write_ggstereo( to_blip_time( vgm_time ), *pos++ );
+ break;
+
+ case cmd_psg:
+ psg.write_data( to_blip_time( vgm_time ), *pos++ );
+ break;
+
+ case cmd_delay:
+ vgm_time += pos [1] * 0x100L + pos [0];
+ pos += 2;
+ break;
+
+ case cmd_byte_delay:
+ vgm_time += *pos++;
+ break;
+
+ case cmd_ym2413:
+ if ( ym2413.run_until( to_fm_time( vgm_time ) ) )
+ ym2413.write( pos [0], pos [1] );
+ pos += 2;
+ break;
+
+ case cmd_ym2612_port0:
+ if ( pos [0] == ym2612_dac_port )
+ {
+ write_pcm( vgm_time, pos [1] );
+ }
+ else if ( ym2612.run_until( to_fm_time( vgm_time ) ) )
+ {
+ if ( pos [0] == 0x2B )
+ {
+ dac_disabled = (pos [1] >> 7 & 1) - 1;
+ dac_amp |= dac_disabled;
+ }
+ ym2612.write0( pos [0], pos [1] );
+ }
+ pos += 2;
+ break;
+
+ case cmd_ym2612_port1:
+ if ( ym2612.run_until( to_fm_time( vgm_time ) ) )
+ ym2612.write1( pos [0], pos [1] );
+ pos += 2;
+ break;
+
+ case cmd_data_block: {
+ check( *pos == cmd_end );
+ int type = pos [1];
+ long size = get_le32( pos + 2 );
+ pos += 6;
+ if ( type == pcm_block_type )
+ pcm_data = pos;
+ pos += size;
+ break;
+ }
+
+ case cmd_pcm_seek:
+ pcm_pos = pcm_data + pos [3] * 0x1000000L + pos [2] * 0x10000L +
+ pos [1] * 0x100L + pos [0];
+ pos += 4;
+ break;
+
+ default:
+ int cmd = pos [-1];
+ switch ( cmd & 0xF0 )
+ {
+ case cmd_pcm_delay:
+ write_pcm( vgm_time, *pcm_pos++ );
+ vgm_time += cmd & 0x0F;
+ break;
+
+ case cmd_short_delay:
+ vgm_time += (cmd & 0x0F) + 1;
+ break;
+
+ case 0x50:
+ pos += 2;
+ break;
+
+ default:
+ pos += command_len( cmd ) - 1;
+ set_warning( "Unknown stream event" );
+ }
+ }
+ }
+ vgm_time -= end_time;
+ this->pos = pos;
+ this->vgm_time = vgm_time;
+
+ return to_blip_time( end_time );
+}
+
+int Vgm_Emu_Impl::play_frame( blip_time_t blip_time, int sample_count, sample_t* buf )
+{
+ // to do: timing is working mostly by luck
+
+ int min_pairs = sample_count >> 1;
+ int vgm_time = ((long) min_pairs << fm_time_bits) / fm_time_factor - 1;
+ assert( to_fm_time( vgm_time ) <= min_pairs );
+ int pairs = min_pairs;
+ while ( (pairs = to_fm_time( vgm_time )) < min_pairs )
+ vgm_time++;
+ //debug_printf( "pairs: %d, min_pairs: %d\n", pairs, min_pairs );
+
+ if ( ym2612.enabled() )
+ {
+ ym2612.begin_frame( buf );
+ memset( buf, 0, pairs * stereo * sizeof *buf );
+ }
+ else if ( ym2413.enabled() )
+ {
+ ym2413.begin_frame( buf );
+ }
+
+ run_commands( vgm_time );
+ ym2612.run_until( pairs );
+ ym2413.run_until( pairs );
+
+ fm_time_offset = (vgm_time * fm_time_factor + fm_time_offset) -
+ ((long) pairs << fm_time_bits);
+
+ psg.end_frame( blip_time );
+
+ return pairs * stereo;
+}
+
+// Update pre-1.10 header FM rates by scanning commands
+void Vgm_Emu_Impl::update_fm_rates( long* ym2413_rate, long* ym2612_rate ) const
+{
+ byte const* p = data + 0x40;
+ while ( p < data_end )
+ {
+ switch ( *p )
+ {
+ case cmd_end:
+ return;
+
+ case cmd_psg:
+ case cmd_byte_delay:
+ p += 2;
+ break;
+
+ case cmd_delay:
+ p += 3;
+ break;
+
+ case cmd_data_block:
+ p += 7 + get_le32( p + 3 );
+ break;
+
+ case cmd_ym2413:
+ *ym2612_rate = 0;
+ return;
+
+ case cmd_ym2612_port0:
+ case cmd_ym2612_port1:
+ *ym2612_rate = *ym2413_rate;
+ *ym2413_rate = 0;
+ return;
+
+ case cmd_ym2151:
+ *ym2413_rate = 0;
+ *ym2612_rate = 0;
+ return;
+
+ default:
+ p += command_len( *p );
+ }
+ }
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.h b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.h
new file mode 100644
index 00000000..8a73c328
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Vgm_Emu_Impl.h
@@ -0,0 +1,71 @@
+// Low-level parts of Vgm_Emu
+
+// Game_Music_Emu 0.5.5
+#ifndef VGM_EMU_IMPL_H
+#define VGM_EMU_IMPL_H
+
+#include "Dual_Resampler.h"
+#include "Classic_Emu.h"
+#include "Ym2413_Emu.h"
+#include "Ym2612_Emu.h"
+#include "Sms_Apu.h"
+
+template<class Emu>
+class Ym_Emu : public Emu {
+protected:
+ int last_time;
+ short* out;
+ enum { disabled_time = -1 };
+public:
+ Ym_Emu() : last_time( disabled_time ), out( NULL ) { }
+ void enable( bool b ) { last_time = b ? 0 : disabled_time; }
+ bool enabled() const { return last_time != disabled_time; }
+ void begin_frame( short* p );
+ int run_until( int time );
+};
+
+class Vgm_Emu_Impl : public Classic_Emu, private Dual_Resampler {
+public:
+ typedef Classic_Emu::sample_t sample_t;
+protected:
+ enum { stereo = 2 };
+
+ typedef int vgm_time_t;
+
+ enum { fm_time_bits = 12 };
+ typedef int fm_time_t;
+ long fm_time_offset;
+ int fm_time_factor;
+ fm_time_t to_fm_time( vgm_time_t ) const;
+
+ enum { blip_time_bits = 12 };
+ int blip_time_factor;
+ blip_time_t to_blip_time( vgm_time_t ) const;
+
+ byte const* data;
+ byte const* loop_begin;
+ byte const* data_end;
+ void update_fm_rates( long* ym2413_rate, long* ym2612_rate ) const;
+
+ vgm_time_t vgm_time;
+ byte const* pos;
+ blip_time_t run_commands( vgm_time_t );
+ int play_frame( blip_time_t blip_time, int sample_count, sample_t* buf );
+
+ byte const* pcm_data;
+ byte const* pcm_pos;
+ int dac_amp;
+ int dac_disabled; // -1 if disabled
+ void write_pcm( vgm_time_t, int amp );
+
+ Ym_Emu<Ym2612_Emu> ym2612;
+ Ym_Emu<Ym2413_Emu> ym2413;
+
+ Blip_Buffer blip_buf;
+ Sms_Apu psg;
+ Blip_Synth<blip_med_quality,1> dac_synth;
+
+ friend class Vgm_Emu;
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.cpp
new file mode 100644
index 00000000..be5b2d8c
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.cpp
@@ -0,0 +1,21 @@
+
+// Use in place of Ym2413_Emu.cpp and ym2413.c to disable support for this chip
+
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Ym2413_Emu.h"
+
+Ym2413_Emu::Ym2413_Emu() { }
+
+Ym2413_Emu::~Ym2413_Emu() { }
+
+int Ym2413_Emu::set_rate( double, double ) { return 2; }
+
+void Ym2413_Emu::reset() { }
+
+void Ym2413_Emu::write( int, int ) { }
+
+void Ym2413_Emu::mute_voices( int ) { }
+
+void Ym2413_Emu::run( int, sample_t* ) { }
+
diff --git a/plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.h b/plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.h
new file mode 100644
index 00000000..42314435
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ym2413_Emu.h
@@ -0,0 +1,33 @@
+// YM2413 FM sound chip emulator interface
+
+// Game_Music_Emu 0.5.5
+#ifndef YM2413_EMU_H
+#define YM2413_EMU_H
+
+class Ym2413_Emu {
+ struct OPLL* opll;
+public:
+ Ym2413_Emu();
+ ~Ym2413_Emu();
+
+ // Set output sample rate and chip clock rates, in Hz. Returns non-zero
+ // if error.
+ int set_rate( double sample_rate, double clock_rate );
+
+ // Reset to power-up state
+ void reset();
+
+ // Mute voice n if bit n (1 << n) of mask is set
+ enum { channel_count = 14 };
+ void mute_voices( int mask );
+
+ // Write 'data' to 'addr'
+ void write( int addr, int data );
+
+ // Run and write pair_count samples to output
+ typedef short sample_t;
+ enum { out_chan_count = 2 }; // stereo
+ void run( int pair_count, sample_t* out );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.cpp b/plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.cpp
new file mode 100644
index 00000000..390fdfce
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.cpp
@@ -0,0 +1,1319 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+// Based on Gens 2.10 ym2612.c
+
+#include "Ym2612_Emu.h"
+
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+#include <stdio.h>
+#include <math.h>
+
+/* Copyright (C) 2002 Stphane Dallongeville (gens AT consolemul.com) */
+/* Copyright (C) 2004-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+// This is mostly the original source in its C style and all.
+//
+// Somewhat optimized and simplified. Uses a template to generate the many
+// variants of Update_Chan. Rewrote header file. In need of full rewrite by
+// someone more familiar with FM sound and the YM2612. Has some inaccuracies
+// compared to the Sega Genesis sound, particularly being mixed at such a
+// high sample accuracy (the Genesis sounds like it has only 8 bit samples).
+// - Shay
+
+#ifdef BLARGG_ENABLE_OPTIMIZER
+ #include BLARGG_ENABLE_OPTIMIZER
+#endif
+
+const int output_bits = 14;
+
+struct slot_t
+{
+ const int *DT; // parametre detune
+ int MUL; // parametre "multiple de frequence"
+ int TL; // Total Level = volume lorsque l'enveloppe est au plus haut
+ int TLL; // Total Level ajusted
+ int SLL; // Sustin Level (ajusted) = volume o l'enveloppe termine sa premiere phase de regression
+ int KSR_S; // Key Scale Rate Shift = facteur de prise en compte du KSL dans la variations de l'enveloppe
+ int KSR; // Key Scale Rate = cette valeur est calculee par rapport la frequence actuelle, elle va influer
+ // sur les differents parametres de l'enveloppe comme l'attaque, le decay ... comme dans la realite !
+ int SEG; // Type enveloppe SSG
+ int env_xor;
+ int env_max;
+
+ const int *AR; // Attack Rate (table pointeur) = Taux d'attaque (AR[KSR])
+ const int *DR; // Decay Rate (table pointeur) = Taux pour la regression (DR[KSR])
+ const int *SR; // Sustin Rate (table pointeur) = Taux pour le maintien (SR[KSR])
+ const int *RR; // Release Rate (table pointeur) = Taux pour le rel'chement (RR[KSR])
+ int Fcnt; // Frequency Count = compteur-frequence pour determiner l'amplitude actuelle (SIN[Finc >> 16])
+ int Finc; // frequency step = pas d'incrementation du compteur-frequence
+ // plus le pas est grand, plus la frequence est agu (ou haute)
+ int Ecurp; // Envelope current phase = cette variable permet de savoir dans quelle phase
+ // de l'enveloppe on se trouve, par exemple phase d'attaque ou phase de maintenue ...
+ // en fonction de la valeur de cette variable, on va appeler une fonction permettant
+ // de mettre jour l'enveloppe courante.
+ int Ecnt; // Envelope counter = le compteur-enveloppe permet de savoir o l'on se trouve dans l'enveloppe
+ int Einc; // Envelope step courant
+ int Ecmp; // Envelope counter limite pour la prochaine phase
+ int EincA; // Envelope step for Attack = pas d'incrementation du compteur durant la phase d'attaque
+ // cette valeur est egal AR[KSR]
+ int EincD; // Envelope step for Decay = pas d'incrementation du compteur durant la phase de regression
+ // cette valeur est egal DR[KSR]
+ int EincS; // Envelope step for Sustain = pas d'incrementation du compteur durant la phase de maintenue
+ // cette valeur est egal SR[KSR]
+ int EincR; // Envelope step for Release = pas d'incrementation du compteur durant la phase de rel'chement
+ // cette valeur est egal RR[KSR]
+ int *OUTp; // pointeur of SLOT output = pointeur permettant de connecter la sortie de ce slot l'entree
+ // d'un autre ou carrement la sortie de la voie
+ int INd; // input data of the slot = donnees en entree du slot
+ int ChgEnM; // Change envelop mask.
+ int AMS; // AMS depth level of this SLOT = degre de modulation de l'amplitude par le LFO
+ int AMSon; // AMS enable flag = drapeau d'activation de l'AMS
+};
+
+struct channel_t
+{
+ int S0_OUT[4]; // anciennes sorties slot 0 (pour le feed back)
+ int LEFT; // LEFT enable flag
+ int RIGHT; // RIGHT enable flag
+ int ALGO; // Algorythm = determine les connections entre les operateurs
+ int FB; // shift count of self feed back = degre de "Feed-Back" du SLOT 1 (il est son unique entree)
+ int FMS; // Frequency Modulation Sensitivity of channel = degre de modulation de la frequence sur la voie par le LFO
+ int AMS; // Amplitude Modulation Sensitivity of channel = degre de modulation de l'amplitude sur la voie par le LFO
+ int FNUM[4]; // hauteur frequence de la voie (+ 3 pour le mode special)
+ int FOCT[4]; // octave de la voie (+ 3 pour le mode special)
+ int KC[4]; // Key Code = valeur fonction de la frequence (voir KSR pour les slots, KSR = KC >> KSR_S)
+ slot_t SLOT[4]; // four slot.operators = les 4 slots de la voie
+ int FFlag; // Frequency step recalculation flag
+};
+
+struct state_t
+{
+ int TimerBase; // TimerBase calculation
+ int Status; // YM2612 Status (timer overflow)
+ int TimerA; // timerA limit = valeur jusqu' laquelle le timer A doit compter
+ int TimerAL;
+ int TimerAcnt; // timerA counter = valeur courante du Timer A
+ int TimerB; // timerB limit = valeur jusqu' laquelle le timer B doit compter
+ int TimerBL;
+ int TimerBcnt; // timerB counter = valeur courante du Timer B
+ int Mode; // Mode actuel des voie 3 et 6 (normal / special)
+ int DAC; // DAC enabled flag
+ channel_t CHANNEL[Ym2612_Emu::channel_count]; // Les 6 voies du YM2612
+ int REG[2][0x100]; // Sauvegardes des valeurs de tout les registres, c'est facultatif
+ // cela nous rend le debuggage plus facile
+};
+
+#ifndef PI
+#define PI 3.14159265358979323846
+#endif
+
+#define ATTACK 0
+#define DECAY 1
+#define SUBSTAIN 2
+#define RELEASE 3
+
+// SIN_LBITS <= 16
+// LFO_HBITS <= 16
+// (SIN_LBITS + SIN_HBITS) <= 26
+// (ENV_LBITS + ENV_HBITS) <= 28
+// (LFO_LBITS + LFO_HBITS) <= 28
+
+#define SIN_HBITS 12 // Sinus phase counter int part
+#define SIN_LBITS (26 - SIN_HBITS) // Sinus phase counter float part (best setting)
+
+#if (SIN_LBITS > 16)
+#define SIN_LBITS 16 // Can't be greater than 16 bits
+#endif
+
+#define ENV_HBITS 12 // Env phase counter int part
+#define ENV_LBITS (28 - ENV_HBITS) // Env phase counter float part (best setting)
+
+#define LFO_HBITS 10 // LFO phase counter int part
+#define LFO_LBITS (28 - LFO_HBITS) // LFO phase counter float part (best setting)
+
+#define SIN_LENGHT (1 << SIN_HBITS)
+#define ENV_LENGHT (1 << ENV_HBITS)
+#define LFO_LENGHT (1 << LFO_HBITS)
+
+#define TL_LENGHT (ENV_LENGHT * 3) // Env + TL scaling + LFO
+
+#define SIN_MASK (SIN_LENGHT - 1)
+#define ENV_MASK (ENV_LENGHT - 1)
+#define LFO_MASK (LFO_LENGHT - 1)
+
+#define ENV_STEP (96.0 / ENV_LENGHT) // ENV_MAX = 96 dB
+
+#define ENV_ATTACK ((ENV_LENGHT * 0) << ENV_LBITS)
+#define ENV_DECAY ((ENV_LENGHT * 1) << ENV_LBITS)
+#define ENV_END ((ENV_LENGHT * 2) << ENV_LBITS)
+
+#define MAX_OUT_BITS (SIN_HBITS + SIN_LBITS + 2) // Modulation = -4 <--> +4
+#define MAX_OUT ((1 << MAX_OUT_BITS) - 1)
+
+#define PG_CUT_OFF ((int) (78.0 / ENV_STEP))
+#define ENV_CUT_OFF ((int) (68.0 / ENV_STEP))
+
+#define AR_RATE 399128
+#define DR_RATE 5514396
+
+//#define AR_RATE 426136
+//#define DR_RATE (AR_RATE * 12)
+
+#define LFO_FMS_LBITS 9 // FIXED (LFO_FMS_BASE gives somethink as 1)
+#define LFO_FMS_BASE ((int) (0.05946309436 * 0.0338 * (double) (1 << LFO_FMS_LBITS)))
+
+#define S0 0 // Stupid typo of the YM2612
+#define S1 2
+#define S2 1
+#define S3 3
+
+inline void set_seg( slot_t& s, int seg )
+{
+ s.env_xor = 0;
+ s.env_max = INT_MAX;
+ s.SEG = seg;
+ if ( seg & 4 )
+ {
+ s.env_xor = ENV_MASK;
+ s.env_max = ENV_MASK;
+ }
+}
+
+struct tables_t
+{
+ short SIN_TAB [SIN_LENGHT]; // SINUS TABLE (offset into TL TABLE)
+ int LFOcnt; // LFO counter = compteur-frequence pour le LFO
+ int LFOinc; // LFO step counter = pas d'incrementation du compteur-frequence du LFO
+ // plus le pas est grand, plus la frequence est grande
+ unsigned int AR_TAB [128]; // Attack rate table
+ unsigned int DR_TAB [96]; // Decay rate table
+ unsigned int DT_TAB [8] [32]; // Detune table
+ unsigned int SL_TAB [16]; // Substain level table
+ unsigned int NULL_RATE [32]; // Table for NULL rate
+ int LFO_INC_TAB [8]; // LFO step table
+
+ short ENV_TAB [2 * ENV_LENGHT + 8]; // ENV CURVE TABLE (attack & decay)
+
+ short LFO_ENV_TAB [LFO_LENGHT]; // LFO AMS TABLE (adjusted for 11.8 dB)
+ short LFO_FREQ_TAB [LFO_LENGHT]; // LFO FMS TABLE
+ int TL_TAB [TL_LENGHT * 2]; // TOTAL LEVEL TABLE (positif and minus)
+ unsigned int DECAY_TO_ATTACK [ENV_LENGHT]; // Conversion from decay to attack phase
+ unsigned int FINC_TAB [2048]; // Frequency step table
+};
+
+static const unsigned char DT_DEF_TAB [4 * 32] =
+{
+// FD = 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+// FD = 1
+ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
+ 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 8, 8, 8, 8,
+
+// FD = 2
+ 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5,
+ 5, 6, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14, 16, 16, 16, 16,
+
+// FD = 3
+ 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7,
+ 8 , 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 22, 22, 22, 22
+};
+
+static const unsigned char FKEY_TAB [16] =
+{
+ 0, 0, 0, 0,
+ 0, 0, 0, 1,
+ 2, 3, 3, 3,
+ 3, 3, 3, 3
+};
+
+static const unsigned char LFO_AMS_TAB [4] =
+{
+ 31, 4, 1, 0
+};
+
+static const unsigned char LFO_FMS_TAB [8] =
+{
+ LFO_FMS_BASE * 0, LFO_FMS_BASE * 1,
+ LFO_FMS_BASE * 2, LFO_FMS_BASE * 3,
+ LFO_FMS_BASE * 4, LFO_FMS_BASE * 6,
+ LFO_FMS_BASE * 12, LFO_FMS_BASE * 24
+};
+
+inline void YM2612_Special_Update() { }
+
+struct Ym2612_Impl
+{
+ enum { channel_count = Ym2612_Emu::channel_count };
+
+ state_t YM2612;
+ int mute_mask;
+ tables_t g;
+
+ void KEY_ON( channel_t&, int );
+ void KEY_OFF( channel_t&, int );
+ int SLOT_SET( int, int );
+ int CHANNEL_SET( int, int );
+ int YM_SET( int, int );
+
+ void set_rate( double sample_rate, double clock_factor );
+ void reset();
+ void write0( int addr, int data );
+ void write1( int addr, int data );
+ void run_timer( int );
+ void run( int pair_count, Ym2612_Emu::sample_t* );
+};
+
+void Ym2612_Impl::KEY_ON( channel_t& ch, int nsl)
+{
+ slot_t *SL = &(ch.SLOT [nsl]); // on recupere le bon pointeur de slot
+
+ if (SL->Ecurp == RELEASE) // la touche est-elle rel'chee ?
+ {
+ SL->Fcnt = 0;
+
+ // Fix Ecco 2 splash sound
+
+ SL->Ecnt = (g.DECAY_TO_ATTACK [g.ENV_TAB [SL->Ecnt >> ENV_LBITS]] + ENV_ATTACK) & SL->ChgEnM;
+ SL->ChgEnM = ~0;
+
+// SL->Ecnt = g.DECAY_TO_ATTACK [g.ENV_TAB [SL->Ecnt >> ENV_LBITS]] + ENV_ATTACK;
+// SL->Ecnt = 0;
+
+ SL->Einc = SL->EincA;
+ SL->Ecmp = ENV_DECAY;
+ SL->Ecurp = ATTACK;
+ }
+}
+
+
+void Ym2612_Impl::KEY_OFF(channel_t& ch, int nsl)
+{
+ slot_t *SL = &(ch.SLOT [nsl]); // on recupere le bon pointeur de slot
+
+ if (SL->Ecurp != RELEASE) // la touche est-elle appuyee ?
+ {
+ if (SL->Ecnt < ENV_DECAY) // attack phase ?
+ {
+ SL->Ecnt = (g.ENV_TAB [SL->Ecnt >> ENV_LBITS] << ENV_LBITS) + ENV_DECAY;
+ }
+
+ SL->Einc = SL->EincR;
+ SL->Ecmp = ENV_END;
+ SL->Ecurp = RELEASE;
+ }
+}
+
+
+int Ym2612_Impl::SLOT_SET( int Adr, int data )
+{
+ int nch = Adr & 3;
+ if ( nch == 3 )
+ return 1;
+
+ channel_t& ch = YM2612.CHANNEL [nch + (Adr & 0x100 ? 3 : 0)];
+ slot_t& sl = ch.SLOT [(Adr >> 2) & 3];
+
+ switch ( Adr & 0xF0 )
+ {
+ case 0x30:
+ if ( (sl.MUL = (data & 0x0F)) != 0 ) sl.MUL <<= 1;
+ else sl.MUL = 1;
+
+ sl.DT = (int*) g.DT_TAB [(data >> 4) & 7];
+
+ ch.SLOT [0].Finc = -1;
+
+ break;
+
+ case 0x40:
+ sl.TL = data & 0x7F;
+
+ // SOR2 do a lot of TL adjustement and this fix R.Shinobi jump sound...
+ YM2612_Special_Update();
+
+#if ((ENV_HBITS - 7) < 0)
+ sl.TLL = sl.TL >> (7 - ENV_HBITS);
+#else
+ sl.TLL = sl.TL << (ENV_HBITS - 7);
+#endif
+
+ break;
+
+ case 0x50:
+ sl.KSR_S = 3 - (data >> 6);
+
+ ch.SLOT [0].Finc = -1;
+
+ if (data &= 0x1F) sl.AR = (int*) &g.AR_TAB [data << 1];
+ else sl.AR = (int*) &g.NULL_RATE [0];
+
+ sl.EincA = sl.AR [sl.KSR];
+ if (sl.Ecurp == ATTACK) sl.Einc = sl.EincA;
+ break;
+
+ case 0x60:
+ if ( (sl.AMSon = (data & 0x80)) != 0 ) sl.AMS = ch.AMS;
+ else sl.AMS = 31;
+
+ if (data &= 0x1F) sl.DR = (int*) &g.DR_TAB [data << 1];
+ else sl.DR = (int*) &g.NULL_RATE [0];
+
+ sl.EincD = sl.DR [sl.KSR];
+ if (sl.Ecurp == DECAY) sl.Einc = sl.EincD;
+ break;
+
+ case 0x70:
+ if (data &= 0x1F) sl.SR = (int*) &g.DR_TAB [data << 1];
+ else sl.SR = (int*) &g.NULL_RATE [0];
+
+ sl.EincS = sl.SR [sl.KSR];
+ if ((sl.Ecurp == SUBSTAIN) && (sl.Ecnt < ENV_END)) sl.Einc = sl.EincS;
+ break;
+
+ case 0x80:
+ sl.SLL = g.SL_TAB [data >> 4];
+
+ sl.RR = (int*) &g.DR_TAB [((data & 0xF) << 2) + 2];
+
+ sl.EincR = sl.RR [sl.KSR];
+ if ((sl.Ecurp == RELEASE) && (sl.Ecnt < ENV_END)) sl.Einc = sl.EincR;
+ break;
+
+ case 0x90:
+ // SSG-EG envelope shapes :
+ /*
+ E At Al H
+
+ 1 0 0 0 \\\\
+ 1 0 0 1 \___
+ 1 0 1 0 \/\/
+ 1 0 1 1 \
+ 1 1 0 0 ////
+ 1 1 0 1 /
+ 1 1 1 0 /\/\
+ 1 1 1 1 /___
+
+ E = SSG-EG enable
+ At = Start negate
+ Al = Altern
+ H = Hold */
+
+ set_seg( sl, (data & 8) ? (data & 0x0F) : 0 );
+ break;
+ }
+
+ return 0;
+}
+
+
+int Ym2612_Impl::CHANNEL_SET( int Adr, int data )
+{
+ int num = Adr & 3;
+ if ( num == 3 )
+ return 1;
+
+ channel_t& ch = YM2612.CHANNEL [num + (Adr & 0x100 ? 3 : 0)];
+
+ switch ( Adr & 0xFC )
+ {
+ case 0xA0:
+ YM2612_Special_Update();
+
+ ch.FNUM [0] = (ch.FNUM [0] & 0x700) + data;
+ ch.KC [0] = (ch.FOCT [0] << 2) | FKEY_TAB [ch.FNUM [0] >> 7];
+
+ ch.SLOT [0].Finc = -1;
+ break;
+
+ case 0xA4:
+ YM2612_Special_Update();
+
+ ch.FNUM [0] = (ch.FNUM [0] & 0x0FF) + ((data & 0x07) << 8);
+ ch.FOCT [0] = (data & 0x38) >> 3;
+ ch.KC [0] = (ch.FOCT [0] << 2) | FKEY_TAB [ch.FNUM [0] >> 7];
+
+ ch.SLOT [0].Finc = -1;
+ break;
+
+ case 0xA8:
+ if ( Adr < 0x100 )
+ {
+ num++;
+
+ YM2612_Special_Update();
+
+ YM2612.CHANNEL [2].FNUM [num] = (YM2612.CHANNEL [2].FNUM [num] & 0x700) + data;
+ YM2612.CHANNEL [2].KC [num] = (YM2612.CHANNEL [2].FOCT [num] << 2) |
+ FKEY_TAB [YM2612.CHANNEL [2].FNUM [num] >> 7];
+
+ YM2612.CHANNEL [2].SLOT [0].Finc = -1;
+ }
+ break;
+
+ case 0xAC:
+ if ( Adr < 0x100 )
+ {
+ num++;
+
+ YM2612_Special_Update();
+
+ YM2612.CHANNEL [2].FNUM [num] = (YM2612.CHANNEL [2].FNUM [num] & 0x0FF) + ((data & 0x07) << 8);
+ YM2612.CHANNEL [2].FOCT [num] = (data & 0x38) >> 3;
+ YM2612.CHANNEL [2].KC [num] = (YM2612.CHANNEL [2].FOCT [num] << 2) |
+ FKEY_TAB [YM2612.CHANNEL [2].FNUM [num] >> 7];
+
+ YM2612.CHANNEL [2].SLOT [0].Finc = -1;
+ }
+ break;
+
+ case 0xB0:
+ if ( ch.ALGO != (data & 7) )
+ {
+ // Fix VectorMan 2 heli sound (level 1)
+ YM2612_Special_Update();
+
+ ch.ALGO = data & 7;
+
+ ch.SLOT [0].ChgEnM = 0;
+ ch.SLOT [1].ChgEnM = 0;
+ ch.SLOT [2].ChgEnM = 0;
+ ch.SLOT [3].ChgEnM = 0;
+ }
+
+ ch.FB = 9 - ((data >> 3) & 7); // Real thing ?
+
+// if (ch.FB = ((data >> 3) & 7)) ch.FB = 9 - ch.FB; // Thunder force 4 (music stage 8), Gynoug, Aladdin bug sound...
+// else ch.FB = 31;
+ break;
+
+ case 0xB4: {
+ YM2612_Special_Update();
+
+ ch.LEFT = 0 - ((data >> 7) & 1);
+ ch.RIGHT = 0 - ((data >> 6) & 1);
+
+ ch.AMS = LFO_AMS_TAB [(data >> 4) & 3];
+ ch.FMS = LFO_FMS_TAB [data & 7];
+
+ for ( int i = 0; i < 4; i++ )
+ {
+ slot_t& sl = ch.SLOT [i];
+ sl.AMS = (sl.AMSon ? ch.AMS : 31);
+ }
+ break;
+ }
+ }
+
+ return 0;
+}
+
+
+int Ym2612_Impl::YM_SET(int Adr, int data)
+{
+ switch ( Adr )
+ {
+ case 0x22:
+ if (data & 8) // LFO enable
+ {
+ // Cool Spot music 1, LFO modified severals time which
+ // distord the sound, have to check that on a real genesis...
+
+ g.LFOinc = g.LFO_INC_TAB [data & 7];
+ }
+ else
+ {
+ g.LFOinc = g.LFOcnt = 0;
+ }
+ break;
+
+ case 0x24:
+ YM2612.TimerA = (YM2612.TimerA & 0x003) | (((int) data) << 2);
+
+ if (YM2612.TimerAL != (1024 - YM2612.TimerA) << 12)
+ {
+ YM2612.TimerAcnt = YM2612.TimerAL = (1024 - YM2612.TimerA) << 12;
+ }
+ break;
+
+ case 0x25:
+ YM2612.TimerA = (YM2612.TimerA & 0x3FC) | (data & 3);
+
+ if (YM2612.TimerAL != (1024 - YM2612.TimerA) << 12)
+ {
+ YM2612.TimerAcnt = YM2612.TimerAL = (1024 - YM2612.TimerA) << 12;
+ }
+ break;
+
+ case 0x26:
+ YM2612.TimerB = data;
+
+ if (YM2612.TimerBL != (256 - YM2612.TimerB) << (4 + 12))
+ {
+ YM2612.TimerBcnt = YM2612.TimerBL = (256 - YM2612.TimerB) << (4 + 12);
+ }
+ break;
+
+ case 0x27:
+ // Parametre divers
+ // b7 = CSM MODE
+ // b6 = 3 slot mode
+ // b5 = reset b
+ // b4 = reset a
+ // b3 = timer enable b
+ // b2 = timer enable a
+ // b1 = load b
+ // b0 = load a
+
+ if ((data ^ YM2612.Mode) & 0x40)
+ {
+ // We changed the channel 2 mode, so recalculate phase step
+ // This fix the punch sound in Street of Rage 2
+
+ YM2612_Special_Update();
+
+ YM2612.CHANNEL [2].SLOT [0].Finc = -1; // recalculate phase step
+ }
+
+// if ((data & 2) && (YM2612.Status & 2)) YM2612.TimerBcnt = YM2612.TimerBL;
+// if ((data & 1) && (YM2612.Status & 1)) YM2612.TimerAcnt = YM2612.TimerAL;
+
+// YM2612.Status &= (~data >> 4); // Reset du Status au cas ou c'est demande
+ YM2612.Status &= (~data >> 4) & (data >> 2); // Reset Status
+
+ YM2612.Mode = data;
+ break;
+
+ case 0x28: {
+ int nch = data & 3;
+ if ( nch == 3 )
+ return 1;
+ if ( data & 4 )
+ nch += 3;
+ channel_t& ch = YM2612.CHANNEL [nch];
+
+ YM2612_Special_Update();
+
+ if (data & 0x10) KEY_ON(ch, S0); // On appuie sur la touche pour le slot 1
+ else KEY_OFF(ch, S0); // On rel'che la touche pour le slot 1
+ if (data & 0x20) KEY_ON(ch, S1); // On appuie sur la touche pour le slot 3
+ else KEY_OFF(ch, S1); // On rel'che la touche pour le slot 3
+ if (data & 0x40) KEY_ON(ch, S2); // On appuie sur la touche pour le slot 2
+ else KEY_OFF(ch, S2); // On rel'che la touche pour le slot 2
+ if (data & 0x80) KEY_ON(ch, S3); // On appuie sur la touche pour le slot 4
+ else KEY_OFF(ch, S3); // On rel'che la touche pour le slot 4
+ break;
+ }
+
+ case 0x2B:
+ if (YM2612.DAC ^ (data & 0x80)) YM2612_Special_Update();
+
+ YM2612.DAC = data & 0x80; // activation/desactivation du DAC
+ break;
+ }
+
+ return 0;
+}
+
+void Ym2612_Impl::set_rate( double sample_rate, double clock_rate )
+{
+ assert( sample_rate );
+ assert( clock_rate > sample_rate );
+
+ int i;
+
+ // 144 = 12 * (prescale * 2) = 12 * 6 * 2
+ // prescale set to 6 by default
+
+ double Frequence = clock_rate / sample_rate / 144.0;
+ if ( fabs( Frequence - 1.0 ) < 0.0000001 )
+ Frequence = 1.0;
+ YM2612.TimerBase = int (Frequence * 4096.0);
+
+ // Tableau TL :
+ // [0 - 4095] = +output [4095 - ...] = +output overflow (fill with 0)
+ // [12288 - 16383] = -output [16384 - ...] = -output overflow (fill with 0)
+
+ for(i = 0; i < TL_LENGHT; i++)
+ {
+ if (i >= PG_CUT_OFF) // YM2612 cut off sound after 78 dB (14 bits output ?)
+ {
+ g.TL_TAB [TL_LENGHT + i] = g.TL_TAB [i] = 0;
+ }
+ else
+ {
+ double x = MAX_OUT; // Max output
+ x /= pow( 10.0, (ENV_STEP * i) / 20.0 ); // Decibel -> Voltage
+
+ g.TL_TAB [i] = (int) x;
+ g.TL_TAB [TL_LENGHT + i] = -g.TL_TAB [i];
+ }
+ }
+
+ // Tableau SIN :
+ // g.SIN_TAB [x] [y] = sin(x) * y;
+ // x = phase and y = volume
+
+ g.SIN_TAB [0] = g.SIN_TAB [SIN_LENGHT / 2] = PG_CUT_OFF;
+
+ for(i = 1; i <= SIN_LENGHT / 4; i++)
+ {
+ double x = sin(2.0 * PI * (double) (i) / (double) (SIN_LENGHT)); // Sinus
+ x = 20 * log10(1 / x); // convert to dB
+
+ int j = (int) (x / ENV_STEP); // Get TL range
+
+ if (j > PG_CUT_OFF) j = (int) PG_CUT_OFF;
+
+ g.SIN_TAB [i] = g.SIN_TAB [(SIN_LENGHT / 2) - i] = j;
+ g.SIN_TAB [(SIN_LENGHT / 2) + i] = g.SIN_TAB [SIN_LENGHT - i] = TL_LENGHT + j;
+ }
+
+ // Tableau LFO (LFO wav) :
+
+ for(i = 0; i < LFO_LENGHT; i++)
+ {
+ double x = sin(2.0 * PI * (double) (i) / (double) (LFO_LENGHT)); // Sinus
+ x += 1.0;
+ x /= 2.0; // positive only
+ x *= 11.8 / ENV_STEP; // ajusted to MAX enveloppe modulation
+
+ g.LFO_ENV_TAB [i] = (int) x;
+
+ x = sin(2.0 * PI * (double) (i) / (double) (LFO_LENGHT)); // Sinus
+ x *= (double) ((1 << (LFO_HBITS - 1)) - 1);
+
+ g.LFO_FREQ_TAB [i] = (int) x;
+
+ }
+
+ // Tableau Enveloppe :
+ // g.ENV_TAB [0] -> g.ENV_TAB [ENV_LENGHT - 1] = attack curve
+ // g.ENV_TAB [ENV_LENGHT] -> g.ENV_TAB [2 * ENV_LENGHT - 1] = decay curve
+
+ for(i = 0; i < ENV_LENGHT; i++)
+ {
+ // Attack curve (x^8 - music level 2 Vectorman 2)
+ double x = pow(((double) ((ENV_LENGHT - 1) - i) / (double) (ENV_LENGHT)), 8);
+ x *= ENV_LENGHT;
+
+ g.ENV_TAB [i] = (int) x;
+
+ // Decay curve (just linear)
+ x = pow(((double) (i) / (double) (ENV_LENGHT)), 1);
+ x *= ENV_LENGHT;
+
+ g.ENV_TAB [ENV_LENGHT + i] = (int) x;
+ }
+ for ( i = 0; i < 8; i++ )
+ g.ENV_TAB [i + ENV_LENGHT * 2] = 0;
+
+ g.ENV_TAB [ENV_END >> ENV_LBITS] = ENV_LENGHT - 1; // for the stopped state
+
+ // Tableau pour la conversion Attack -> Decay and Decay -> Attack
+
+ int j = ENV_LENGHT - 1;
+ for ( i = 0; i < ENV_LENGHT; i++ )
+ {
+ while ( j && g.ENV_TAB [j] < i )
+ j--;
+
+ g.DECAY_TO_ATTACK [i] = j << ENV_LBITS;
+ }
+
+ // Tableau pour le Substain Level
+
+ for(i = 0; i < 15; i++)
+ {
+ double x = i * 3; // 3 and not 6 (Mickey Mania first music for test)
+ x /= ENV_STEP;
+
+ g.SL_TAB [i] = ((int) x << ENV_LBITS) + ENV_DECAY;
+ }
+
+ g.SL_TAB [15] = ((ENV_LENGHT - 1) << ENV_LBITS) + ENV_DECAY; // special case : volume off
+
+ // Tableau Frequency Step
+
+ for(i = 0; i < 2048; i++)
+ {
+ double x = (double) (i) * Frequence;
+
+#if ((SIN_LBITS + SIN_HBITS - (21 - 7)) < 0)
+ x /= (double) (1 << ((21 - 7) - SIN_LBITS - SIN_HBITS));
+#else
+ x *= (double) (1 << (SIN_LBITS + SIN_HBITS - (21 - 7)));
+#endif
+
+ x /= 2.0; // because MUL = value * 2
+
+ g.FINC_TAB [i] = (unsigned int) x;
+ }
+
+ // Tableaux Attack & Decay Rate
+
+ for(i = 0; i < 4; i++)
+ {
+ g.AR_TAB [i] = 0;
+ g.DR_TAB [i] = 0;
+ }
+
+ for(i = 0; i < 60; i++)
+ {
+ double x = Frequence;
+
+ x *= 1.0 + ((i & 3) * 0.25); // bits 0-1 : x1.00, x1.25, x1.50, x1.75
+ x *= (double) (1 << ((i >> 2))); // bits 2-5 : shift bits (x2^0 - x2^15)
+ x *= (double) (ENV_LENGHT << ENV_LBITS); // on ajuste pour le tableau g.ENV_TAB
+
+ g.AR_TAB [i + 4] = (unsigned int) (x / AR_RATE);
+ g.DR_TAB [i + 4] = (unsigned int) (x / DR_RATE);
+ }
+
+ for(i = 64; i < 96; i++)
+ {
+ g.AR_TAB [i] = g.AR_TAB [63];
+ g.DR_TAB [i] = g.DR_TAB [63];
+
+ g.NULL_RATE [i - 64] = 0;
+ }
+
+ for ( i = 96; i < 128; i++ )
+ g.AR_TAB [i] = 0;
+
+ // Tableau Detune
+
+ for(i = 0; i < 4; i++)
+ {
+ for (int j = 0; j < 32; j++)
+ {
+#if ((SIN_LBITS + SIN_HBITS - 21) < 0)
+ double y = (double) DT_DEF_TAB [(i << 5) + j] * Frequence / (double) (1 << (21 - SIN_LBITS - SIN_HBITS));
+#else
+ double y = (double) DT_DEF_TAB [(i << 5) + j] * Frequence * (double) (1 << (SIN_LBITS + SIN_HBITS - 21));
+#endif
+
+ g.DT_TAB [i + 0] [j] = (int) y;
+ g.DT_TAB [i + 4] [j] = (int) -y;
+ }
+ }
+
+ // Tableau LFO
+ g.LFO_INC_TAB [0] = (unsigned int) (3.98 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [1] = (unsigned int) (5.56 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [2] = (unsigned int) (6.02 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [3] = (unsigned int) (6.37 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [4] = (unsigned int) (6.88 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [5] = (unsigned int) (9.63 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [6] = (unsigned int) (48.1 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+ g.LFO_INC_TAB [7] = (unsigned int) (72.2 * (double) (1 << (LFO_HBITS + LFO_LBITS)) / sample_rate);
+
+ reset();
+}
+
+const char* Ym2612_Emu::set_rate( double sample_rate, double clock_rate )
+{
+ if ( !impl )
+ {
+ impl = (Ym2612_Impl*) malloc( sizeof *impl );
+ if ( !impl )
+ return "Out of memory";
+ impl->mute_mask = 0;
+ }
+ memset( &impl->YM2612, 0, sizeof impl->YM2612 );
+
+ impl->set_rate( sample_rate, clock_rate );
+
+ return 0;
+}
+
+Ym2612_Emu::~Ym2612_Emu()
+{
+ free( impl );
+}
+
+inline void Ym2612_Impl::write0( int opn_addr, int data )
+{
+ assert( (unsigned) data <= 0xFF );
+
+ if ( opn_addr < 0x30 )
+ {
+ YM2612.REG [0] [opn_addr] = data;
+ YM_SET( opn_addr, data );
+ }
+ else if ( YM2612.REG [0] [opn_addr] != data )
+ {
+ YM2612.REG [0] [opn_addr] = data;
+
+ if ( opn_addr < 0xA0 )
+ SLOT_SET( opn_addr, data );
+ else
+ CHANNEL_SET( opn_addr, data );
+ }
+}
+
+inline void Ym2612_Impl::write1( int opn_addr, int data )
+{
+ assert( (unsigned) data <= 0xFF );
+
+ if ( opn_addr >= 0x30 && YM2612.REG [1] [opn_addr] != data )
+ {
+ YM2612.REG [1] [opn_addr] = data;
+
+ if ( opn_addr < 0xA0 )
+ SLOT_SET( opn_addr + 0x100, data );
+ else
+ CHANNEL_SET( opn_addr + 0x100, data );
+ }
+}
+
+void Ym2612_Emu::reset()
+{
+ impl->reset();
+}
+
+void Ym2612_Impl::reset()
+{
+ g.LFOcnt = 0;
+ YM2612.TimerA = 0;
+ YM2612.TimerAL = 0;
+ YM2612.TimerAcnt = 0;
+ YM2612.TimerB = 0;
+ YM2612.TimerBL = 0;
+ YM2612.TimerBcnt = 0;
+ YM2612.DAC = 0;
+
+ YM2612.Status = 0;
+
+ int i;
+ for ( i = 0; i < channel_count; i++ )
+ {
+ channel_t& ch = YM2612.CHANNEL [i];
+
+ ch.LEFT = ~0;
+ ch.RIGHT = ~0;
+ ch.ALGO = 0;
+ ch.FB = 31;
+ ch.FMS = 0;
+ ch.AMS = 0;
+
+ for ( int j = 0 ;j < 4 ; j++ )
+ {
+ ch.S0_OUT [j] = 0;
+ ch.FNUM [j] = 0;
+ ch.FOCT [j] = 0;
+ ch.KC [j] = 0;
+
+ ch.SLOT [j].Fcnt = 0;
+ ch.SLOT [j].Finc = 0;
+ ch.SLOT [j].Ecnt = ENV_END; // Put it at the end of Decay phase...
+ ch.SLOT [j].Einc = 0;
+ ch.SLOT [j].Ecmp = 0;
+ ch.SLOT [j].Ecurp = RELEASE;
+
+ ch.SLOT [j].ChgEnM = 0;
+ }
+ }
+
+ for ( i = 0; i < 0x100; i++ )
+ {
+ YM2612.REG [0] [i] = -1;
+ YM2612.REG [1] [i] = -1;
+ }
+
+ for ( i = 0xB6; i >= 0xB4; i-- )
+ {
+ write0( i, 0xC0 );
+ write1( i, 0xC0 );
+ }
+
+ for ( i = 0xB2; i >= 0x22; i-- )
+ {
+ write0( i, 0 );
+ write1( i, 0 );
+ }
+
+ write0( 0x2A, 0x80 );
+}
+
+void Ym2612_Emu::write0( int addr, int data )
+{
+ impl->write0( addr, data );
+}
+
+void Ym2612_Emu::write1( int addr, int data )
+{
+ impl->write1( addr, data );
+}
+
+void Ym2612_Emu::mute_voices( int mask ) { impl->mute_mask = mask; }
+
+static void update_envelope_( slot_t* sl )
+{
+ switch ( sl->Ecurp )
+ {
+ case 0:
+ // Env_Attack_Next
+
+ // Verified with Gynoug even in HQ (explode SFX)
+ sl->Ecnt = ENV_DECAY;
+
+ sl->Einc = sl->EincD;
+ sl->Ecmp = sl->SLL;
+ sl->Ecurp = DECAY;
+ break;
+
+ case 1:
+ // Env_Decay_Next
+
+ // Verified with Gynoug even in HQ (explode SFX)
+ sl->Ecnt = sl->SLL;
+
+ sl->Einc = sl->EincS;
+ sl->Ecmp = ENV_END;
+ sl->Ecurp = SUBSTAIN;
+ break;
+
+ case 2:
+ // Env_Substain_Next(slot_t *SL)
+ if (sl->SEG & 8) // SSG envelope type
+ {
+ int release = sl->SEG & 1;
+
+ if ( !release )
+ {
+ // re KEY ON
+
+ // sl->Fcnt = 0;
+ // sl->ChgEnM = ~0;
+
+ sl->Ecnt = 0;
+ sl->Einc = sl->EincA;
+ sl->Ecmp = ENV_DECAY;
+ sl->Ecurp = ATTACK;
+ }
+
+ set_seg( *sl, (sl->SEG << 1) & 4 );
+
+ if ( !release )
+ break;
+ }
+ // fall through
+
+ case 3:
+ // Env_Release_Next
+ sl->Ecnt = ENV_END;
+ sl->Einc = 0;
+ sl->Ecmp = ENV_END + 1;
+ break;
+
+ // default: no op
+ }
+}
+
+inline void update_envelope( slot_t& sl )
+{
+ int ecmp = sl.Ecmp;
+ if ( (sl.Ecnt += sl.Einc) >= ecmp )
+ update_envelope_( &sl );
+}
+
+template<int algo>
+struct ym2612_update_chan {
+ static void func( tables_t&, channel_t&, Ym2612_Emu::sample_t*, int );
+};
+
+typedef void (*ym2612_update_chan_t)( tables_t&, channel_t&, Ym2612_Emu::sample_t*, int );
+
+template<int algo>
+void ym2612_update_chan<algo>::func( tables_t& g, channel_t& ch,
+ Ym2612_Emu::sample_t* buf, int length )
+{
+ int not_end = ch.SLOT [S3].Ecnt - ENV_END;
+
+ // algo is a compile-time constant, so all conditions based on it are resolved
+ // during compilation
+
+ // special cases
+ if ( algo == 7 )
+ not_end |= ch.SLOT [S0].Ecnt - ENV_END;
+
+ if ( algo >= 5 )
+ not_end |= ch.SLOT [S2].Ecnt - ENV_END;
+
+ if ( algo >= 4 )
+ not_end |= ch.SLOT [S1].Ecnt - ENV_END;
+
+ int CH_S0_OUT_1 = ch.S0_OUT [1];
+
+ int in0 = ch.SLOT [S0].Fcnt;
+ int in1 = ch.SLOT [S1].Fcnt;
+ int in2 = ch.SLOT [S2].Fcnt;
+ int in3 = ch.SLOT [S3].Fcnt;
+
+ int YM2612_LFOinc = g.LFOinc;
+ int YM2612_LFOcnt = g.LFOcnt + YM2612_LFOinc;
+
+ if ( !not_end )
+ return;
+
+ do
+ {
+ // envelope
+ int const env_LFO = g.LFO_ENV_TAB [YM2612_LFOcnt >> LFO_LBITS & LFO_MASK];
+
+ short const* const ENV_TAB = g.ENV_TAB;
+
+ #define CALC_EN( x ) \
+ int temp##x = ENV_TAB [ch.SLOT [S##x].Ecnt >> ENV_LBITS] + ch.SLOT [S##x].TLL; \
+ int en##x = ((temp##x ^ ch.SLOT [S##x].env_xor) + (env_LFO >> ch.SLOT [S##x].AMS)) & \
+ ((temp##x - ch.SLOT [S##x].env_max) >> 31);
+
+ CALC_EN( 0 )
+ CALC_EN( 1 )
+ CALC_EN( 2 )
+ CALC_EN( 3 )
+
+ int const* const TL_TAB = g.TL_TAB;
+
+ #define SINT( i, o ) (TL_TAB [g.SIN_TAB [(i)] + (o)])
+
+ // feedback
+ int CH_S0_OUT_0 = ch.S0_OUT [0];
+ {
+ int temp = in0 + ((CH_S0_OUT_0 + CH_S0_OUT_1) >> ch.FB);
+ CH_S0_OUT_1 = CH_S0_OUT_0;
+ CH_S0_OUT_0 = SINT( (temp >> SIN_LBITS) & SIN_MASK, en0 );
+ }
+
+ int CH_OUTd;
+ if ( algo == 0 )
+ {
+ int temp = in1 + CH_S0_OUT_1;
+ temp = in2 + SINT( (temp >> SIN_LBITS) & SIN_MASK, en1 );
+ temp = in3 + SINT( (temp >> SIN_LBITS) & SIN_MASK, en2 );
+ CH_OUTd = SINT( (temp >> SIN_LBITS) & SIN_MASK, en3 );
+ }
+ else if ( algo == 1 )
+ {
+ int temp = in2 + CH_S0_OUT_1 + SINT( (in1 >> SIN_LBITS) & SIN_MASK, en1 );
+ temp = in3 + SINT( (temp >> SIN_LBITS) & SIN_MASK, en2 );
+ CH_OUTd = SINT( (temp >> SIN_LBITS) & SIN_MASK, en3 );
+ }
+ else if ( algo == 2 )
+ {
+ int temp = in2 + SINT( (in1 >> SIN_LBITS) & SIN_MASK, en1 );
+ temp = in3 + CH_S0_OUT_1 + SINT( (temp >> SIN_LBITS) & SIN_MASK, en2 );
+ CH_OUTd = SINT( (temp >> SIN_LBITS) & SIN_MASK, en3 );
+ }
+ else if ( algo == 3 )
+ {
+ int temp = in1 + CH_S0_OUT_1;
+ temp = in3 + SINT( (temp >> SIN_LBITS) & SIN_MASK, en1 ) +
+ SINT( (in2 >> SIN_LBITS) & SIN_MASK, en2 );
+ CH_OUTd = SINT( (temp >> SIN_LBITS) & SIN_MASK, en3 );
+ }
+ else if ( algo == 4 )
+ {
+ int temp = in3 + SINT( (in2 >> SIN_LBITS) & SIN_MASK, en2 );
+ CH_OUTd = SINT( (temp >> SIN_LBITS) & SIN_MASK, en3 ) +
+ SINT( ((in1 + CH_S0_OUT_1) >> SIN_LBITS) & SIN_MASK, en1 );
+ //DO_LIMIT
+ }
+ else if ( algo == 5 )
+ {
+ int temp = CH_S0_OUT_1;
+ CH_OUTd = SINT( ((in3 + temp) >> SIN_LBITS) & SIN_MASK, en3 ) +
+ SINT( ((in1 + temp) >> SIN_LBITS) & SIN_MASK, en1 ) +
+ SINT( ((in2 + temp) >> SIN_LBITS) & SIN_MASK, en2 );
+ //DO_LIMIT
+ }
+ else if ( algo == 6 )
+ {
+ CH_OUTd = SINT( (in3 >> SIN_LBITS) & SIN_MASK, en3 ) +
+ SINT( ((in1 + CH_S0_OUT_1) >> SIN_LBITS) & SIN_MASK, en1 ) +
+ SINT( (in2 >> SIN_LBITS) & SIN_MASK, en2 );
+ //DO_LIMIT
+ }
+ else if ( algo == 7 )
+ {
+ CH_OUTd = SINT( (in3 >> SIN_LBITS) & SIN_MASK, en3 ) +
+ SINT( (in1 >> SIN_LBITS) & SIN_MASK, en1 ) +
+ SINT( (in2 >> SIN_LBITS) & SIN_MASK, en2 ) + CH_S0_OUT_1;
+ //DO_LIMIT
+ }
+
+ CH_OUTd >>= MAX_OUT_BITS - output_bits + 2;
+
+ // update phase
+ unsigned freq_LFO = ((g.LFO_FREQ_TAB [YM2612_LFOcnt >> LFO_LBITS & LFO_MASK] *
+ ch.FMS) >> (LFO_HBITS - 1 + 1)) + (1L << (LFO_FMS_LBITS - 1));
+ YM2612_LFOcnt += YM2612_LFOinc;
+ in0 += (ch.SLOT [S0].Finc * freq_LFO) >> (LFO_FMS_LBITS - 1);
+ in1 += (ch.SLOT [S1].Finc * freq_LFO) >> (LFO_FMS_LBITS - 1);
+ in2 += (ch.SLOT [S2].Finc * freq_LFO) >> (LFO_FMS_LBITS - 1);
+ in3 += (ch.SLOT [S3].Finc * freq_LFO) >> (LFO_FMS_LBITS - 1);
+
+ int t0 = buf [0] + (CH_OUTd & ch.LEFT);
+ int t1 = buf [1] + (CH_OUTd & ch.RIGHT);
+
+ update_envelope( ch.SLOT [0] );
+ update_envelope( ch.SLOT [1] );
+ update_envelope( ch.SLOT [2] );
+ update_envelope( ch.SLOT [3] );
+
+ ch.S0_OUT [0] = CH_S0_OUT_0;
+ buf [0] = t0;
+ buf [1] = t1;
+ buf += 2;
+ }
+ while ( --length );
+
+ ch.S0_OUT [1] = CH_S0_OUT_1;
+
+ ch.SLOT [S0].Fcnt = in0;
+ ch.SLOT [S1].Fcnt = in1;
+ ch.SLOT [S2].Fcnt = in2;
+ ch.SLOT [S3].Fcnt = in3;
+}
+
+static const ym2612_update_chan_t UPDATE_CHAN [8] = {
+ &ym2612_update_chan<0>::func,
+ &ym2612_update_chan<1>::func,
+ &ym2612_update_chan<2>::func,
+ &ym2612_update_chan<3>::func,
+ &ym2612_update_chan<4>::func,
+ &ym2612_update_chan<5>::func,
+ &ym2612_update_chan<6>::func,
+ &ym2612_update_chan<7>::func
+};
+
+void Ym2612_Impl::run_timer( int length )
+{
+ int const step = 6;
+ int remain = length;
+ do
+ {
+ int n = step;
+ if ( n > remain )
+ n = remain;
+ remain -= n;
+
+ long i = n * YM2612.TimerBase;
+ if (YM2612.Mode & 1) // Timer A ON ?
+ {
+ // if ((YM2612.TimerAcnt -= 14073) <= 0) // 13879=NTSC (old: 14475=NTSC 14586=PAL)
+ if ((YM2612.TimerAcnt -= i) <= 0)
+ {
+ // timer a overflow
+
+ YM2612.Status |= (YM2612.Mode & 0x04) >> 2;
+ YM2612.TimerAcnt += YM2612.TimerAL;
+
+ if (YM2612.Mode & 0x80)
+ {
+ KEY_ON( YM2612.CHANNEL [2], 0 );
+ KEY_ON( YM2612.CHANNEL [2], 1 );
+ KEY_ON( YM2612.CHANNEL [2], 2 );
+ KEY_ON( YM2612.CHANNEL [2], 3 );
+ }
+ }
+ }
+
+ if (YM2612.Mode & 2) // Timer B ON ?
+ {
+ // if ((YM2612.TimerBcnt -= 14073) <= 0) // 13879=NTSC (old: 14475=NTSC 14586=PAL)
+ if ((YM2612.TimerBcnt -= i) <= 0)
+ {
+ // timer b overflow
+ YM2612.Status |= (YM2612.Mode & 0x08) >> 2;
+ YM2612.TimerBcnt += YM2612.TimerBL;
+ }
+ }
+ }
+ while ( remain > 0 );
+}
+
+void Ym2612_Impl::run( int pair_count, Ym2612_Emu::sample_t* out )
+{
+ if ( pair_count <= 0 )
+ return;
+
+ if ( YM2612.Mode & 3 )
+ run_timer( pair_count );
+
+ // Mise jour des pas des compteurs-frequences s'ils ont ete modifies
+
+ for ( int chi = 0; chi < channel_count; chi++ )
+ {
+ channel_t& ch = YM2612.CHANNEL [chi];
+ if ( ch.SLOT [0].Finc != -1 )
+ continue;
+
+ int i2 = 0;
+ if ( chi == 2 && (YM2612.Mode & 0x40) )
+ i2 = 2;
+
+ for ( int i = 0; i < 4; i++ )
+ {
+ // static int seq [4] = { 2, 1, 3, 0 };
+ // if ( i2 ) i2 = seq [i];
+
+ slot_t& sl = ch.SLOT [i];
+ int finc = g.FINC_TAB [ch.FNUM [i2]] >> (7 - ch.FOCT [i2]);
+ int ksr = ch.KC [i2] >> sl.KSR_S; // keycode attenuation
+ sl.Finc = (finc + sl.DT [ch.KC [i2]]) * sl.MUL;
+ if (sl.KSR != ksr) // si le KSR a change alors
+ { // les differents taux pour l'enveloppe sont mis jour
+ sl.KSR = ksr;
+
+ sl.EincA = sl.AR [ksr];
+ sl.EincD = sl.DR [ksr];
+ sl.EincS = sl.SR [ksr];
+ sl.EincR = sl.RR [ksr];
+
+ if (sl.Ecurp == ATTACK)
+ {
+ sl.Einc = sl.EincA;
+ }
+ else if (sl.Ecurp == DECAY)
+ {
+ sl.Einc = sl.EincD;
+ }
+ else if (sl.Ecnt < ENV_END)
+ {
+ if (sl.Ecurp == SUBSTAIN)
+ sl.Einc = sl.EincS;
+ else if (sl.Ecurp == RELEASE)
+ sl.Einc = sl.EincR;
+ }
+ }
+
+ if ( i2 )
+ i2 = (i2 ^ 2) ^ (i2 >> 1);
+ }
+ }
+
+ for ( int i = 0; i < channel_count; i++ )
+ {
+ if ( !(mute_mask & (1 << i)) && (i != 5 || !YM2612.DAC) )
+ UPDATE_CHAN [YM2612.CHANNEL [i].ALGO]( g, YM2612.CHANNEL [i], out, pair_count );
+ }
+
+ g.LFOcnt += g.LFOinc * pair_count;
+}
+
+void Ym2612_Emu::run( int pair_count, sample_t* out ) { impl->run( pair_count, out ); }
diff --git a/plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.h b/plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.h
new file mode 100644
index 00000000..314b3399
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/Ym2612_Emu.h
@@ -0,0 +1,38 @@
+// YM2612 FM sound chip emulator interface
+
+// Game_Music_Emu 0.5.5
+#ifndef YM2612_EMU_H
+#define YM2612_EMU_H
+
+struct Ym2612_Impl;
+
+class Ym2612_Emu {
+ Ym2612_Impl* impl;
+public:
+ Ym2612_Emu() { impl = 0; }
+ ~Ym2612_Emu();
+
+ // Set output sample rate and chip clock rates, in Hz. Returns non-zero
+ // if error.
+ const char* set_rate( double sample_rate, double clock_rate );
+
+ // Reset to power-up state
+ void reset();
+
+ // Mute voice n if bit n (1 << n) of mask is set
+ enum { channel_count = 6 };
+ void mute_voices( int mask );
+
+ // Write addr to register 0 then data to register 1
+ void write0( int addr, int data );
+
+ // Write addr to register 2 then data to register 3
+ void write1( int addr, int data );
+
+ // Run and add pair_count samples into current output buffer contents
+ typedef short sample_t;
+ enum { out_chan_count = 2 }; // stereo
+ void run( int pair_count, sample_t* out );
+};
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/blargg_common.h b/plugins/gme/game-music-emu-svn/gme/blargg_common.h
new file mode 100644
index 00000000..ed218a8d
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/blargg_common.h
@@ -0,0 +1,196 @@
+// Sets up common environment for Shay Green's libraries.
+// To change configuration options, modify blargg_config.h, not this file.
+
+#ifndef BLARGG_COMMON_H
+#define BLARGG_COMMON_H
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <limits.h>
+
+#undef BLARGG_COMMON_H
+// allow blargg_config.h to #include blargg_common.h
+#include "blargg_config.h"
+#ifndef BLARGG_COMMON_H
+#define BLARGG_COMMON_H
+
+// BLARGG_RESTRICT: equivalent to restrict, where supported
+#if __GNUC__ >= 3 || _MSC_VER >= 1100
+ #define BLARGG_RESTRICT __restrict
+#else
+ #define BLARGG_RESTRICT
+#endif
+
+// STATIC_CAST(T,expr): Used in place of static_cast<T> (expr)
+#ifndef STATIC_CAST
+ #define STATIC_CAST(T,expr) ((T) (expr))
+#endif
+
+// blargg_err_t (0 on success, otherwise error string)
+#ifndef blargg_err_t
+ typedef const char* blargg_err_t;
+#endif
+
+// blargg_vector - very lightweight vector of POD types (no constructor/destructor)
+template<class T>
+class blargg_vector {
+ T* begin_;
+ size_t size_;
+public:
+ blargg_vector() : begin_( 0 ), size_( 0 ) { }
+ ~blargg_vector() { free( begin_ ); }
+ size_t size() const { return size_; }
+ T* begin() const { return begin_; }
+ T* end() const { return begin_ + size_; }
+ blargg_err_t resize( size_t n )
+ {
+ void* p = realloc( begin_, n * sizeof (T) );
+ if ( !p && n )
+ return "Out of memory";
+ begin_ = (T*) p;
+ size_ = n;
+ return 0;
+ }
+ void clear() { void* p = begin_; begin_ = 0; size_ = 0; free( p ); }
+ T& operator [] ( size_t n ) const
+ {
+ assert( n <= size_ ); // <= to allow past-the-end value
+ return begin_ [n];
+ }
+};
+
+#ifndef BLARGG_DISABLE_NOTHROW
+ // throw spec mandatory in ISO C++ if operator new can return NULL
+ #if __cplusplus >= 199711 || __GNUC__ >= 3
+ #define BLARGG_THROWS( spec ) throw spec
+ #else
+ #define BLARGG_THROWS( spec )
+ #endif
+ #define BLARGG_DISABLE_NOTHROW \
+ void* operator new ( size_t s ) BLARGG_THROWS(()) { return malloc( s ); }\
+ void operator delete ( void* p ) { free( p ); }
+ #define BLARGG_NEW new
+#else
+ #include <new>
+ #define BLARGG_NEW new (std::nothrow)
+#endif
+
+// BLARGG_4CHAR('a','b','c','d') = 'abcd' (four character integer constant)
+#define BLARGG_4CHAR( a, b, c, d ) \
+ ((a&0xFF)*0x1000000L + (b&0xFF)*0x10000L + (c&0xFF)*0x100L + (d&0xFF))
+
+// BOOST_STATIC_ASSERT( expr ): Generates compile error if expr is 0.
+#ifndef BOOST_STATIC_ASSERT
+ #ifdef _MSC_VER
+ // MSVC6 (_MSC_VER < 1300) fails for use of __LINE__ when /Zl is specified
+ #define BOOST_STATIC_ASSERT( expr ) \
+ void blargg_failed_( int (*arg) [2 / (int) !!(expr) - 1] )
+ #else
+ // Some other compilers fail when declaring same function multiple times in class,
+ // so differentiate them by line
+ #define BOOST_STATIC_ASSERT( expr ) \
+ void blargg_failed_( int (*arg) [2 / !!(expr) - 1] [__LINE__] )
+ #endif
+#endif
+
+// BLARGG_COMPILER_HAS_BOOL: If 0, provides bool support for old compiler. If 1,
+// compiler is assumed to support bool. If undefined, availability is determined.
+#ifndef BLARGG_COMPILER_HAS_BOOL
+ #if defined (__MWERKS__)
+ #if !__option(bool)
+ #define BLARGG_COMPILER_HAS_BOOL 0
+ #endif
+ #elif defined (_MSC_VER)
+ #if _MSC_VER < 1100
+ #define BLARGG_COMPILER_HAS_BOOL 0
+ #endif
+ #elif defined (__GNUC__)
+ // supports bool
+ #elif __cplusplus < 199711
+ #define BLARGG_COMPILER_HAS_BOOL 0
+ #endif
+#endif
+#if defined (BLARGG_COMPILER_HAS_BOOL) && !BLARGG_COMPILER_HAS_BOOL
+ // If you get errors here, modify your blargg_config.h file
+ typedef int bool;
+ const bool true = 1;
+ const bool false = 0;
+#endif
+
+// blargg_long/blargg_ulong = at least 32 bits, int if it's big enough
+
+#if INT_MAX < 0x7FFFFFFF || LONG_MAX == 0x7FFFFFFF
+ typedef long blargg_long;
+#else
+ typedef int blargg_long;
+#endif
+
+#if UINT_MAX < 0xFFFFFFFF || ULONG_MAX == 0xFFFFFFFF
+ typedef unsigned long blargg_ulong;
+#else
+ typedef unsigned blargg_ulong;
+#endif
+
+// BOOST::int8_t etc.
+
+// HAVE_STDINT_H: If defined, use <stdint.h> for int8_t etc.
+#if defined (HAVE_STDINT_H)
+ #include <stdint.h>
+ #define BOOST
+
+// HAVE_INTTYPES_H: If defined, use <stdint.h> for int8_t etc.
+#elif defined (HAVE_INTTYPES_H)
+ #include <inttypes.h>
+ #define BOOST
+
+#else
+ struct BOOST
+ {
+ #if UCHAR_MAX == 0xFF && SCHAR_MAX == 0x7F
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+ #else
+ // No suitable 8-bit type available
+ typedef struct see_blargg_common_h int8_t;
+ typedef struct see_blargg_common_h uint8_t;
+ #endif
+
+ #if USHRT_MAX == 0xFFFF
+ typedef short int16_t;
+ typedef unsigned short uint16_t;
+ #else
+ // No suitable 16-bit type available
+ typedef struct see_blargg_common_h int16_t;
+ typedef struct see_blargg_common_h uint16_t;
+ #endif
+
+ #if ULONG_MAX == 0xFFFFFFFF
+ typedef long int32_t;
+ typedef unsigned long uint32_t;
+ #elif UINT_MAX == 0xFFFFFFFF
+ typedef int int32_t;
+ typedef unsigned int uint32_t;
+ #else
+ // No suitable 32-bit type available
+ typedef struct see_blargg_common_h int32_t;
+ typedef struct see_blargg_common_h uint32_t;
+ #endif
+ };
+#endif
+
+#if __GNUC__ >= 3
+ #define BLARGG_DEPRECATED __attribute__ ((deprecated))
+#else
+ #define BLARGG_DEPRECATED
+#endif
+
+// Use in place of "= 0;" for a pure virtual, since these cause calls to std C++ lib.
+// During development, BLARGG_PURE( x ) expands to = 0;
+// virtual int func() BLARGG_PURE( { return 0; } )
+#ifndef BLARGG_PURE
+ #define BLARGG_PURE( def ) def
+#endif
+
+#endif
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/blargg_config.h b/plugins/gme/game-music-emu-svn/gme/blargg_config.h
new file mode 100644
index 00000000..59d4f3df
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/blargg_config.h
@@ -0,0 +1,43 @@
+// Library configuration. Modify this file as necessary.
+
+#ifndef BLARGG_CONFIG_H
+#define BLARGG_CONFIG_H
+
+// Uncomment to use zlib for transparent decompression of gzipped files
+//#define HAVE_ZLIB_H
+
+// Uncomment and edit list to support only the listed game music types,
+// so that the others don't get linked in at all.
+/*
+#define GME_TYPE_LIST \
+ gme_ay_type,\
+ gme_gbs_type,\
+ gme_gym_type,\
+ gme_hes_type,\
+ gme_kss_type,\
+ gme_nsf_type,\
+ gme_nsfe_type,\
+ gme_sap_type,\
+ gme_spc_type,\
+ gme_vgm_type,\
+ gme_vgz_type
+*/
+
+// Uncomment to enable platform-specific optimizations
+#define BLARGG_NONPORTABLE 1
+
+// Uncomment to use faster, lower quality sound synthesis
+//#define BLIP_BUFFER_FAST 1
+
+// Uncomment if automatic byte-order determination doesn't work
+//#define BLARGG_BIG_ENDIAN 1
+
+// Uncomment if you get errors in the bool section of blargg_common.h
+//#define BLARGG_COMPILER_HAS_BOOL 1
+
+// Use standard config.h if present
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/blargg_endian.h b/plugins/gme/game-music-emu-svn/gme/blargg_endian.h
new file mode 100644
index 00000000..ba09e067
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/blargg_endian.h
@@ -0,0 +1,184 @@
+// CPU Byte Order Utilities
+
+#ifndef BLARGG_ENDIAN
+#define BLARGG_ENDIAN
+
+#include "blargg_common.h"
+
+// BLARGG_CPU_CISC: Defined if CPU has very few general-purpose registers (< 16)
+#if defined (__i386__) || defined (__x86_64__) || defined (_M_IX86) || defined (_M_X64)
+ #define BLARGG_CPU_X86 1
+ #define BLARGG_CPU_CISC 1
+#endif
+
+#if defined (__powerpc__) || defined (__ppc__) || defined (__ppc64__) || \
+ defined (__POWERPC__) || defined (__powerc)
+ #define BLARGG_CPU_POWERPC 1
+ #define BLARGG_CPU_RISC 1
+#endif
+
+// BLARGG_BIG_ENDIAN, BLARGG_LITTLE_ENDIAN: Determined automatically, otherwise only
+// one may be #defined to 1. Only needed if something actually depends on byte order.
+#if !defined (BLARGG_BIG_ENDIAN) && !defined (BLARGG_LITTLE_ENDIAN)
+#ifdef __GLIBC__
+ // GCC handles this for us
+ #include <endian.h>
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+ #define BLARGG_LITTLE_ENDIAN 1
+ #elif __BYTE_ORDER == __BIG_ENDIAN
+ #define BLARGG_BIG_ENDIAN 1
+ #endif
+#else
+
+#if defined (LSB_FIRST) || defined (__LITTLE_ENDIAN__) || BLARGG_CPU_X86 || \
+ (defined (LITTLE_ENDIAN) && LITTLE_ENDIAN+0 != 1234)
+ #define BLARGG_LITTLE_ENDIAN 1
+#endif
+
+#if defined (MSB_FIRST) || defined (__BIG_ENDIAN__) || defined (WORDS_BIGENDIAN) || \
+ defined (__sparc__) || BLARGG_CPU_POWERPC || \
+ (defined (BIG_ENDIAN) && BIG_ENDIAN+0 != 4321)
+ #define BLARGG_BIG_ENDIAN 1
+#elif !defined (__mips__)
+ // No endian specified; assume little-endian, since it's most common
+ #define BLARGG_LITTLE_ENDIAN 1
+#endif
+#endif
+#endif
+
+#if BLARGG_LITTLE_ENDIAN && BLARGG_BIG_ENDIAN
+ #undef BLARGG_LITTLE_ENDIAN
+ #undef BLARGG_BIG_ENDIAN
+#endif
+
+inline void blargg_verify_byte_order()
+{
+ #ifndef NDEBUG
+ #if BLARGG_BIG_ENDIAN
+ volatile int i = 1;
+ assert( *(volatile char*) &i == 0 );
+ #elif BLARGG_LITTLE_ENDIAN
+ volatile int i = 1;
+ assert( *(volatile char*) &i != 0 );
+ #endif
+ #endif
+}
+
+inline unsigned get_le16( void const* p )
+{
+ return (unsigned) ((unsigned char const*) p) [1] << 8 |
+ (unsigned) ((unsigned char const*) p) [0];
+}
+
+inline unsigned get_be16( void const* p )
+{
+ return (unsigned) ((unsigned char const*) p) [0] << 8 |
+ (unsigned) ((unsigned char const*) p) [1];
+}
+
+inline blargg_ulong get_le32( void const* p )
+{
+ return (blargg_ulong) ((unsigned char const*) p) [3] << 24 |
+ (blargg_ulong) ((unsigned char const*) p) [2] << 16 |
+ (blargg_ulong) ((unsigned char const*) p) [1] << 8 |
+ (blargg_ulong) ((unsigned char const*) p) [0];
+}
+
+inline blargg_ulong get_be32( void const* p )
+{
+ return (blargg_ulong) ((unsigned char const*) p) [0] << 24 |
+ (blargg_ulong) ((unsigned char const*) p) [1] << 16 |
+ (blargg_ulong) ((unsigned char const*) p) [2] << 8 |
+ (blargg_ulong) ((unsigned char const*) p) [3];
+}
+
+inline void set_le16( void* p, unsigned n )
+{
+ ((unsigned char*) p) [1] = (unsigned char) (n >> 8);
+ ((unsigned char*) p) [0] = (unsigned char) n;
+}
+
+inline void set_be16( void* p, unsigned n )
+{
+ ((unsigned char*) p) [0] = (unsigned char) (n >> 8);
+ ((unsigned char*) p) [1] = (unsigned char) n;
+}
+
+inline void set_le32( void* p, blargg_ulong n )
+{
+ ((unsigned char*) p) [0] = (unsigned char) n;
+ ((unsigned char*) p) [1] = (unsigned char) (n >> 8);
+ ((unsigned char*) p) [2] = (unsigned char) (n >> 16);
+ ((unsigned char*) p) [3] = (unsigned char) (n >> 24);
+}
+
+inline void set_be32( void* p, blargg_ulong n )
+{
+ ((unsigned char*) p) [3] = (unsigned char) n;
+ ((unsigned char*) p) [2] = (unsigned char) (n >> 8);
+ ((unsigned char*) p) [1] = (unsigned char) (n >> 16);
+ ((unsigned char*) p) [0] = (unsigned char) (n >> 24);
+}
+
+#if BLARGG_NONPORTABLE
+ // Optimized implementation if byte order is known
+ #if BLARGG_LITTLE_ENDIAN
+ #define GET_LE16( addr ) (*(BOOST::uint16_t*) (addr))
+ #define GET_LE32( addr ) (*(BOOST::uint32_t*) (addr))
+ #define SET_LE16( addr, data ) (void) (*(BOOST::uint16_t*) (addr) = (data))
+ #define SET_LE32( addr, data ) (void) (*(BOOST::uint32_t*) (addr) = (data))
+ #elif BLARGG_BIG_ENDIAN
+ #define GET_BE16( addr ) (*(BOOST::uint16_t*) (addr))
+ #define GET_BE32( addr ) (*(BOOST::uint32_t*) (addr))
+ #define SET_BE16( addr, data ) (void) (*(BOOST::uint16_t*) (addr) = (data))
+ #define SET_BE32( addr, data ) (void) (*(BOOST::uint32_t*) (addr) = (data))
+
+ #if BLARGG_CPU_POWERPC
+ // PowerPC has special byte-reversed instructions
+ #if defined (__MWERKS__)
+ #define GET_LE16( addr ) (__lhbrx( addr, 0 ))
+ #define GET_LE32( addr ) (__lwbrx( addr, 0 ))
+ #define SET_LE16( addr, in ) (__sthbrx( in, addr, 0 ))
+ #define SET_LE32( addr, in ) (__stwbrx( in, addr, 0 ))
+ #elif defined (__GNUC__)
+ #define GET_LE16( addr ) ({unsigned short ppc_lhbrx_; __asm__ volatile( "lhbrx %0,0,%1" : "=r" (ppc_lhbrx_) : "r" (addr) : "memory" ); ppc_lhbrx_;})
+ #define GET_LE32( addr ) ({unsigned short ppc_lwbrx_; __asm__ volatile( "lwbrx %0,0,%1" : "=r" (ppc_lwbrx_) : "r" (addr) : "memory" ); ppc_lwbrx_;})
+ #define SET_LE16( addr, in ) ({__asm__ volatile( "sthbrx %0,0,%1" : : "r" (in), "r" (addr) : "memory" );})
+ #define SET_LE32( addr, in ) ({__asm__ volatile( "stwbrx %0,0,%1" : : "r" (in), "r" (addr) : "memory" );})
+ #endif
+ #endif
+ #endif
+#endif
+
+#ifndef GET_LE16
+ #define GET_LE16( addr ) get_le16( addr )
+ #define SET_LE16( addr, data ) set_le16( addr, data )
+#endif
+
+#ifndef GET_LE32
+ #define GET_LE32( addr ) get_le32( addr )
+ #define SET_LE32( addr, data ) set_le32( addr, data )
+#endif
+
+#ifndef GET_BE16
+ #define GET_BE16( addr ) get_be16( addr )
+ #define SET_BE16( addr, data ) set_be16( addr, data )
+#endif
+
+#ifndef GET_BE32
+ #define GET_BE32( addr ) get_be32( addr )
+ #define SET_BE32( addr, data ) set_be32( addr, data )
+#endif
+
+// auto-selecting versions
+
+inline void set_le( BOOST::uint16_t* p, unsigned n ) { SET_LE16( p, n ); }
+inline void set_le( BOOST::uint32_t* p, blargg_ulong n ) { SET_LE32( p, n ); }
+inline void set_be( BOOST::uint16_t* p, unsigned n ) { SET_BE16( p, n ); }
+inline void set_be( BOOST::uint32_t* p, blargg_ulong n ) { SET_BE32( p, n ); }
+inline unsigned get_le( BOOST::uint16_t* p ) { return GET_LE16( p ); }
+inline blargg_ulong get_le( BOOST::uint32_t* p ) { return GET_LE32( p ); }
+inline unsigned get_be( BOOST::uint16_t* p ) { return GET_BE16( p ); }
+inline blargg_ulong get_be( BOOST::uint32_t* p ) { return GET_BE32( p ); }
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/blargg_source.h b/plugins/gme/game-music-emu-svn/gme/blargg_source.h
new file mode 100644
index 00000000..b011777a
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/blargg_source.h
@@ -0,0 +1,110 @@
+/* Included at the beginning of library source files, after all other #include lines.
+Sets up helpful macros and services used in my source code. They don't need
+module an annoying module prefix on their names since they are defined after
+all other #include lines. */
+
+#ifndef BLARGG_SOURCE_H
+#define BLARGG_SOURCE_H
+
+// If debugging is enabled, abort program if expr is false. Meant for checking
+// internal state and consistency. A failed assertion indicates a bug in the module.
+// void assert( bool expr );
+#include <assert.h>
+
+// If debugging is enabled and expr is false, abort program. Meant for checking
+// caller-supplied parameters and operations that are outside the control of the
+// module. A failed requirement indicates a bug outside the module.
+// void require( bool expr );
+#undef require
+#define require( expr ) assert( expr )
+
+// Like printf() except output goes to debug log file. Might be defined to do
+// nothing (not even evaluate its arguments).
+// void debug_printf( const char* format, ... );
+static inline void blargg_dprintf_( const char*, ... ) { }
+#undef debug_printf
+#define debug_printf (1) ? (void) 0 : blargg_dprintf_
+
+// If enabled, evaluate expr and if false, make debug log entry with source file
+// and line. Meant for finding situations that should be examined further, but that
+// don't indicate a problem. In all cases, execution continues normally.
+#undef check
+#define check( expr ) ((void) 0)
+
+// If expr yields error string, return it from current function, otherwise continue.
+#undef RETURN_ERR
+#define RETURN_ERR( expr ) do { \
+ blargg_err_t blargg_return_err_ = (expr); \
+ if ( blargg_return_err_ ) return blargg_return_err_; \
+ } while ( 0 )
+
+// If ptr is 0, return out of memory error string.
+#undef CHECK_ALLOC
+#define CHECK_ALLOC( ptr ) do { if ( (ptr) == 0 ) return "Out of memory"; } while ( 0 )
+
+// Avoid any macros which evaluate their arguments multiple times
+#undef min
+#undef max
+
+#define DEF_MIN_MAX( type ) \
+ static inline type min( type x, type y ) { if ( x < y ) return x; return y; }\
+ static inline type max( type x, type y ) { if ( y < x ) return x; return y; }
+
+DEF_MIN_MAX( int )
+DEF_MIN_MAX( unsigned )
+DEF_MIN_MAX( long )
+DEF_MIN_MAX( unsigned long )
+DEF_MIN_MAX( float )
+DEF_MIN_MAX( double )
+
+#undef DEF_MIN_MAX
+
+/*
+// using const references generates crappy code, and I am currenly only using these
+// for built-in types, so they take arguments by value
+
+// TODO: remove
+inline int min( int x, int y )
+template<class T>
+inline T min( T x, T y )
+{
+ if ( x < y )
+ return x;
+ return y;
+}
+
+template<class T>
+inline T max( T x, T y )
+{
+ if ( x < y )
+ return y;
+ return x;
+}
+*/
+
+// TODO: good idea? bad idea?
+#undef byte
+#define byte byte_
+typedef unsigned char byte;
+
+// Setup compiler defines useful for exporting required public API symbols in gme.cpp
+#ifndef BLARGG_EXPORT
+ #if defined (_WIN32) && defined(BLARGG_BUILD_DLL)
+ #define BLARGG_EXPORT __declspec(dllexport)
+ #elif defined (LIBGME_VISIBILITY)
+ #define BLARGG_EXPORT __attribute__((visibility ("default")))
+ #else
+ #define BLARGG_EXPORT
+ #endif
+#endif
+
+// deprecated
+#define BLARGG_CHECK_ALLOC CHECK_ALLOC
+#define BLARGG_RETURN_ERR RETURN_ERR
+
+// BLARGG_SOURCE_BEGIN: If defined, #included, allowing redefition of debug_printf and check
+#ifdef BLARGG_SOURCE_BEGIN
+ #include BLARGG_SOURCE_BEGIN
+#endif
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/gb_cpu_io.h b/plugins/gme/game-music-emu-svn/gme/gb_cpu_io.h
new file mode 100644
index 00000000..8bd69aa2
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/gb_cpu_io.h
@@ -0,0 +1,72 @@
+
+#include "Gbs_Emu.h"
+
+#include "blargg_source.h"
+
+int Gbs_Emu::cpu_read( gb_addr_t addr )
+{
+ int result = *cpu::get_code( addr );
+ if ( unsigned (addr - Gb_Apu::start_addr) < Gb_Apu::register_count )
+ result = apu.read_register( clock(), addr );
+#ifndef NDEBUG
+ else if ( unsigned (addr - 0x8000) < 0x2000 || unsigned (addr - 0xE000) < 0x1F00 )
+ debug_printf( "Read from unmapped memory $%.4x\n", (unsigned) addr );
+ else if ( unsigned (addr - 0xFF01) < 0xFF80 - 0xFF01 )
+ debug_printf( "Unhandled I/O read 0x%4X\n", (unsigned) addr );
+#endif
+ return result;
+}
+
+void Gbs_Emu::cpu_write( gb_addr_t addr, int data )
+{
+ unsigned offset = addr - ram_addr;
+ if ( offset <= 0xFFFF - ram_addr )
+ {
+ ram [offset] = data;
+ if ( (addr ^ 0xE000) <= 0x1F80 - 1 )
+ {
+ if ( unsigned (addr - Gb_Apu::start_addr) < Gb_Apu::register_count )
+ {
+ GME_APU_HOOK( this, addr - Gb_Apu::start_addr, data );
+ apu.write_register( clock(), addr, data );
+ }
+ else if ( (addr ^ 0xFF06) < 2 )
+ update_timer();
+ else if ( addr == joypad_addr )
+ ram [offset] = 0; // keep joypad return value 0
+ else
+ ram [offset] = 0xFF;
+
+ //if ( addr == 0xFFFF )
+ // debug_printf( "Wrote interrupt mask\n" );
+ }
+ }
+ else if ( (addr ^ 0x2000) <= 0x2000 - 1 )
+ {
+ set_bank( data );
+ }
+#ifndef NDEBUG
+ else if ( unsigned (addr - 0x8000) < 0x2000 || unsigned (addr - 0xE000) < 0x1F00 )
+ {
+ debug_printf( "Wrote to unmapped memory $%.4x\n", (unsigned) addr );
+ }
+#endif
+}
+
+#define CPU_READ_FAST( cpu, addr, time, out ) \
+ CPU_READ_FAST_( STATIC_CAST(Gbs_Emu*,cpu), addr, time, out )
+
+#define CPU_READ_FAST_( emu, addr, time, out ) \
+{\
+ out = READ_PROG( addr );\
+ if ( unsigned (addr - Gb_Apu::start_addr) < Gb_Apu::register_count )\
+ out = emu->apu.read_register( emu->cpu_time - time * clocks_per_instr, addr );\
+ else\
+ check( out == emu->cpu_read( addr ) );\
+}
+
+#define CPU_READ( cpu, addr, time ) \
+ STATIC_CAST(Gbs_Emu*,cpu)->cpu_read( addr )
+
+#define CPU_WRITE( cpu, addr, data, time ) \
+ STATIC_CAST(Gbs_Emu*,cpu)->cpu_write( addr, data )
diff --git a/plugins/gme/game-music-emu-svn/gme/gme.cpp b/plugins/gme/game-music-emu-svn/gme/gme.cpp
new file mode 100644
index 00000000..255dbf4b
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/gme.cpp
@@ -0,0 +1,376 @@
+// Game_Music_Emu 0.5.5. http://www.slack.net/~ant/
+
+#include "Music_Emu.h"
+
+#include "gme_types.h"
+#if !GME_DISABLE_STEREO_DEPTH
+#include "Effects_Buffer.h"
+#endif
+#include "blargg_endian.h"
+#include <string.h>
+#include <ctype.h>
+
+/* Copyright (C) 2003-2006 Shay Green. This module is free software; you
+can redistribute it and/or modify it under the terms of the GNU Lesser
+General Public License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This
+module is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details. You should have received a copy of the GNU Lesser General Public
+License along with this module; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+
+#include "blargg_source.h"
+
+BLARGG_EXPORT gme_type_t const* gme_type_list()
+{
+ static gme_type_t const gme_type_list_ [] = {
+#ifdef GME_TYPE_LIST
+ GME_TYPE_LIST,
+#else
+ #ifdef USE_GME_AY
+ gme_ay_type,
+ #endif
+ #ifdef USE_GME_GBS
+ gme_gbs_type,
+ #endif
+ #ifdef USE_GME_GYM
+ gme_gym_type,
+ #endif
+ #ifdef USE_GME_HES
+ gme_hes_type,
+ #endif
+ #ifdef USE_GME_KSS
+ gme_kss_type,
+ #endif
+ #ifdef USE_GME_NSF
+ gme_nsf_type,
+ #endif
+ #ifdef USE_GME_NSFE
+ gme_nsfe_type,
+ #endif
+ #ifdef USE_GME_SAP
+ gme_sap_type,
+ #endif
+ #ifdef USE_GME_SPC
+ gme_spc_type,
+ #endif
+ #ifdef USE_GME_VGM
+ gme_vgm_type,
+ gme_vgz_type,
+ #endif
+#endif
+ 0
+ };
+
+ return gme_type_list_;
+}
+
+BLARGG_EXPORT const char* gme_identify_header( void const* header )
+{
+ switch ( get_be32( header ) )
+ {
+ case BLARGG_4CHAR('Z','X','A','Y'): return "AY";
+ case BLARGG_4CHAR('G','B','S',0x01): return "GBS";
+ case BLARGG_4CHAR('G','Y','M','X'): return "GYM";
+ case BLARGG_4CHAR('H','E','S','M'): return "HES";
+ case BLARGG_4CHAR('K','S','C','C'):
+ case BLARGG_4CHAR('K','S','S','X'): return "KSS";
+ case BLARGG_4CHAR('N','E','S','M'): return "NSF";
+ case BLARGG_4CHAR('N','S','F','E'): return "NSFE";
+ case BLARGG_4CHAR('S','A','P',0x0D): return "SAP";
+ case BLARGG_4CHAR('S','N','E','S'): return "SPC";
+ case BLARGG_4CHAR('V','g','m',' '): return "VGM";
+ }
+ return "";
+}
+
+static void to_uppercase( const char* in, int len, char* out )
+{
+ for ( int i = 0; i < len; i++ )
+ {
+ if ( !(out [i] = toupper( in [i] )) )
+ return;
+ }
+ *out = 0; // extension too long
+}
+
+BLARGG_EXPORT gme_type_t gme_identify_extension( const char* extension_ )
+{
+ char const* end = strrchr( extension_, '.' );
+ if ( end )
+ extension_ = end + 1;
+
+ char extension [6];
+ to_uppercase( extension_, sizeof extension, extension );
+
+ for ( gme_type_t const* types = gme_type_list(); *types; types++ )
+ if ( !strcmp( extension, (*types)->extension_ ) )
+ return *types;
+ return 0;
+}
+
+BLARGG_EXPORT gme_err_t gme_identify_file( const char* path, gme_type_t* type_out )
+{
+ *type_out = gme_identify_extension( path );
+ // TODO: don't examine header if file has extension?
+ if ( !*type_out )
+ {
+ char header [4];
+ GME_FILE_READER in;
+ RETURN_ERR( in.open( path ) );
+ RETURN_ERR( in.read( header, sizeof header ) );
+ *type_out = gme_identify_extension( gme_identify_header( header ) );
+ }
+ return 0;
+}
+
+BLARGG_EXPORT gme_err_t gme_open_data( const char *path, void const* data, long size, Music_Emu** out, int sample_rate )
+{
+ require( (data || !size) && out );
+ *out = 0;
+
+ gme_type_t file_type = 0;
+ if ( size >= 4 )
+ file_type = gme_identify_extension( path );
+ if ( !file_type )
+ return gme_wrong_file_type;
+
+ Music_Emu* emu = gme_new_emu( file_type, sample_rate );
+ CHECK_ALLOC( emu );
+
+ gme_err_t err = gme_load_data( emu, data, size );
+
+ if ( err )
+ delete emu;
+ else
+ *out = emu;
+
+ return err;
+}
+
+BLARGG_EXPORT gme_err_t gme_open_file( const char* path, Music_Emu** out, int sample_rate )
+{
+ require( path && out );
+ *out = 0;
+
+ GME_FILE_READER in;
+ RETURN_ERR( in.open( path ) );
+
+ char header [4];
+ int header_size = 0;
+
+ gme_type_t file_type = gme_identify_extension( path );
+ if ( !file_type )
+ {
+ header_size = sizeof header;
+ RETURN_ERR( in.read( header, sizeof header ) );
+ file_type = gme_identify_extension( gme_identify_header( header ) );
+ }
+ if ( !file_type )
+ return gme_wrong_file_type;
+
+ Music_Emu* emu = gme_new_emu( file_type, sample_rate );
+ CHECK_ALLOC( emu );
+
+ // optimization: avoids seeking/re-reading header
+ Remaining_Reader rem( header, header_size, &in );
+ gme_err_t err = emu->load( rem );
+ in.close();
+
+ if ( err )
+ delete emu;
+ else
+ *out = emu;
+
+ return err;
+}
+
+BLARGG_EXPORT Music_Emu* gme_new_emu( gme_type_t type, int rate )
+{
+ if ( type )
+ {
+ if ( rate == gme_info_only )
+ return type->new_info();
+
+ Music_Emu* me = type->new_emu();
+ if ( me )
+ {
+ #if !GME_DISABLE_STEREO_DEPTH
+ if ( type->flags_ & 1 )
+ {
+ me->effects_buffer = BLARGG_NEW Effects_Buffer;
+ if ( me->effects_buffer )
+ me->set_buffer( me->effects_buffer );
+ }
+
+ if ( !(type->flags_ & 1) || me->effects_buffer )
+ #endif
+ {
+ if ( !me->set_sample_rate( rate ) )
+ {
+ check( me->type() == type );
+ return me;
+ }
+ }
+ delete me;
+ }
+ }
+ return 0;
+}
+
+BLARGG_EXPORT gme_err_t gme_load_file( Music_Emu* me, const char* path ) { return me->load_file( path ); }
+
+BLARGG_EXPORT gme_err_t gme_load_data( Music_Emu* me, void const* data, long size )
+{
+ Mem_File_Reader in( data, size );
+ return me->load( in );
+}
+
+BLARGG_EXPORT gme_err_t gme_load_custom( Music_Emu* me, gme_reader_t func, long size, void* data )
+{
+ Callback_Reader in( func, size, data );
+ return me->load( in );
+}
+
+BLARGG_EXPORT void gme_delete( Music_Emu* me ) { delete me; }
+
+BLARGG_EXPORT gme_type_t gme_type( Music_Emu const* me ) { return me->type(); }
+
+BLARGG_EXPORT const char* gme_warning( Music_Emu* me ) { return me->warning(); }
+
+BLARGG_EXPORT int gme_track_count( Music_Emu const* me ) { return me->track_count(); }
+
+struct gme_info_t_ : gme_info_t
+{
+ track_info_t info;
+
+ BLARGG_DISABLE_NOTHROW
+};
+
+BLARGG_EXPORT gme_err_t gme_track_info( Music_Emu const* me, gme_info_t** out, int track )
+{
+ *out = NULL;
+
+ gme_info_t_* info = BLARGG_NEW gme_info_t_;
+ CHECK_ALLOC( info );
+
+ gme_err_t err = me->track_info( &info->info, track );
+ if ( err )
+ {
+ gme_free_info( info );
+ return err;
+ }
+
+ #define COPY(name) info->name = info->info.name;
+
+ COPY( length );
+ COPY( intro_length );
+ COPY( loop_length );
+
+ info->i4 = -1;
+ info->i5 = -1;
+ info->i6 = -1;
+ info->i7 = -1;
+ info->i8 = -1;
+ info->i9 = -1;
+ info->i10 = -1;
+ info->i11 = -1;
+ info->i12 = -1;
+ info->i13 = -1;
+ info->i14 = -1;
+ info->i15 = -1;
+
+ info->s7 = "";
+ info->s8 = "";
+ info->s9 = "";
+ info->s10 = "";
+ info->s11 = "";
+ info->s12 = "";
+ info->s13 = "";
+ info->s14 = "";
+ info->s15 = "";
+
+ COPY( system );
+ COPY( game );
+ COPY( song );
+ COPY( author );
+ COPY( copyright );
+ COPY( comment );
+ COPY( dumper );
+
+ #undef COPY
+
+ info->play_length = info->length;
+ if ( info->play_length <= 0 )
+ {
+ info->play_length = info->intro_length + 2 * info->loop_length; // intro + 2 loops
+ if ( info->play_length <= 0 )
+ info->play_length = 150 * 1000; // 2.5 minutes
+ }
+
+ *out = info;
+
+ return 0;
+}
+
+BLARGG_EXPORT void gme_free_info( gme_info_t* info )
+{
+ delete STATIC_CAST(gme_info_t_*,info);
+}
+
+BLARGG_EXPORT void gme_set_stereo_depth( Music_Emu* me, double depth )
+{
+#if !GME_DISABLE_STEREO_DEPTH
+ if ( me->effects_buffer )
+ STATIC_CAST(Effects_Buffer*,me->effects_buffer)->set_depth( depth );
+#endif
+}
+
+BLARGG_EXPORT void* gme_user_data ( Music_Emu const* me ) { return me->user_data(); }
+BLARGG_EXPORT void gme_set_user_data ( Music_Emu* me, void* new_user_data ) { me->set_user_data( new_user_data ); }
+BLARGG_EXPORT void gme_set_user_cleanup(Music_Emu* me, gme_user_cleanup_t func ) { me->set_user_cleanup( func ); }
+
+BLARGG_EXPORT gme_err_t gme_start_track ( Music_Emu* me, int index ) { return me->start_track( index ); }
+BLARGG_EXPORT gme_err_t gme_play ( Music_Emu* me, int n, short* p ) { return me->play( n, p ); }
+BLARGG_EXPORT void gme_set_fade ( Music_Emu* me, int start_msec ) { me->set_fade( start_msec ); }
+BLARGG_EXPORT int gme_track_ended ( Music_Emu const* me ) { return me->track_ended(); }
+BLARGG_EXPORT int gme_tell ( Music_Emu const* me ) { return me->tell(); }
+BLARGG_EXPORT gme_err_t gme_seek ( Music_Emu* me, int msec ) { return me->seek( msec ); }
+BLARGG_EXPORT int gme_voice_count ( Music_Emu const* me ) { return me->voice_count(); }
+BLARGG_EXPORT void gme_ignore_silence ( Music_Emu* me, int disable ) { me->ignore_silence( disable != 0 ); }
+BLARGG_EXPORT void gme_set_tempo ( Music_Emu* me, double t ) { me->set_tempo( t ); }
+BLARGG_EXPORT void gme_mute_voice ( Music_Emu* me, int index, int mute ) { me->mute_voice( index, mute != 0 ); }
+BLARGG_EXPORT void gme_mute_voices ( Music_Emu* me, int mask ) { me->mute_voices( mask ); }
+BLARGG_EXPORT void gme_enable_accuracy( Music_Emu* me, int enabled ) { me->enable_accuracy( enabled ); }
+BLARGG_EXPORT void gme_clear_playlist ( Music_Emu* me ) { me->clear_playlist(); }
+BLARGG_EXPORT int gme_type_multitrack( gme_type_t t ) { return t->track_count != 1; }
+
+BLARGG_EXPORT void gme_set_equalizer ( Music_Emu* me, gme_equalizer_t const* eq )
+{
+ Music_Emu::equalizer_t e = me->equalizer();
+ e.treble = eq->treble;
+ e.bass = eq->bass;
+ me->set_equalizer( e );
+}
+
+BLARGG_EXPORT void gme_equalizer( Music_Emu const* me, gme_equalizer_t* out )
+{
+ gme_equalizer_t e = { };
+ e.treble = me->equalizer().treble;
+ e.bass = me->equalizer().bass;
+ *out = e;
+}
+
+BLARGG_EXPORT const char* gme_voice_name( Music_Emu const* me, int i )
+{
+ assert( (unsigned) i < (unsigned) me->voice_count() );
+ return me->voice_names() [i];
+}
+
+BLARGG_EXPORT const char* gme_type_system( gme_type_t type )
+{
+ assert( type );
+ return type->system;
+}
diff --git a/plugins/gme/game-music-emu-svn/gme/gme.h b/plugins/gme/game-music-emu-svn/gme/gme.h
new file mode 100644
index 00000000..d86c8761
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/gme.h
@@ -0,0 +1,238 @@
+/* Game music emulator library C interface (also usable from C++) */
+
+/* Game_Music_Emu 0.5.5 */
+#ifndef GME_H
+#define GME_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Error string returned by library functions, or NULL if no error (success) */
+typedef const char* gme_err_t;
+
+/* First parameter of most gme_ functions is a pointer to the Music_Emu */
+typedef struct Music_Emu Music_Emu;
+
+
+/******** Basic operations ********/
+
+/* Create emulator and load game music file/data into it. Sets *out to new emulator. */
+gme_err_t gme_open_file( const char path [], Music_Emu** out, int sample_rate );
+
+/* Number of tracks available */
+int gme_track_count( Music_Emu const* );
+
+/* Start a track, where 0 is the first track */
+gme_err_t gme_start_track( Music_Emu*, int index );
+
+/* Generate 'count' 16-bit signed samples info 'out'. Output is in stereo. */
+gme_err_t gme_play( Music_Emu*, int count, short out [] );
+
+/* Finish using emulator and free memory */
+void gme_delete( Music_Emu* );
+
+
+/******** Track position/length ********/
+
+/* Set time to start fading track out. Once fade ends track_ended() returns true.
+Fade time can be changed while track is playing. */
+void gme_set_fade( Music_Emu*, int start_msec );
+
+/* True if a track has reached its end */
+int gme_track_ended( Music_Emu const* );
+
+/* Number of milliseconds (1000 = one second) played since beginning of track */
+int gme_tell( Music_Emu const* );
+
+/* Seek to new time in track. Seeking backwards or far forward can take a while. */
+gme_err_t gme_seek( Music_Emu*, int msec );
+
+
+/******** Informational ********/
+
+/* If you only need track information from a music file, pass gme_info_only for
+sample_rate to open/load. */
+enum { gme_info_only = -1 };
+
+/* Most recent warning string, or NULL if none. Clears current warning after returning.
+Warning is also cleared when loading a file and starting a track. */
+const char* gme_warning( Music_Emu* );
+
+/* Load m3u playlist file (must be done after loading music) */
+gme_err_t gme_load_m3u( Music_Emu*, const char path [] );
+
+/* Clear any loaded m3u playlist and any internal playlist that the music format
+supports (NSFE for example). */
+void gme_clear_playlist( Music_Emu* );
+
+/* Gets information for a particular track (length, name, author, etc.).
+Must be freed after use. */
+typedef struct gme_info_t gme_info_t;
+gme_err_t gme_track_info( Music_Emu const*, gme_info_t** out, int track );
+
+/* Frees track information */
+void gme_free_info( gme_info_t* );
+
+struct gme_info_t
+{
+ /* times in milliseconds; -1 if unknown */
+ int length; /* total length, if file specifies it */
+ int intro_length; /* length of song up to looping section */
+ int loop_length; /* length of looping section */
+
+ /* Length if available, otherwise intro_length+loop_length*2 if available,
+ otherwise a default of 150000 (2.5 minutes). */
+ int play_length;
+
+ int i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15; /* reserved */
+
+ /* empty string ("") if not available */
+ const char* system;
+ const char* game;
+ const char* song;
+ const char* author;
+ const char* copyright;
+ const char* comment;
+ const char* dumper;
+
+ const char *s7,*s8,*s9,*s10,*s11,*s12,*s13,*s14,*s15; /* reserved */
+};
+
+
+/******** Advanced playback ********/
+
+/* Adjust stereo echo depth, where 0.0 = off and 1.0 = maximum. Has no effect for
+GYM, SPC, and Sega Genesis VGM music */
+void gme_set_stereo_depth( Music_Emu*, double depth );
+
+/* Disable automatic end-of-track detection and skipping of silence at beginning
+if ignore is true */
+void gme_ignore_silence( Music_Emu*, int ignore );
+
+/* Adjust song tempo, where 1.0 = normal, 0.5 = half speed, 2.0 = double speed.
+Track length as returned by track_info() assumes a tempo of 1.0. */
+void gme_set_tempo( Music_Emu*, double tempo );
+
+/* Number of voices used by currently loaded file */
+int gme_voice_count( Music_Emu const* );
+
+/* Name of voice i, from 0 to gme_voice_count() - 1 */
+const char* gme_voice_name( Music_Emu const*, int i );
+
+/* Mute/unmute voice i, where voice 0 is first voice */
+void gme_mute_voice( Music_Emu*, int index, int mute );
+
+/* Set muting state of all voices at once using a bit mask, where -1 mutes all
+voices, 0 unmutes them all, 0x01 mutes just the first voice, etc. */
+void gme_mute_voices( Music_Emu*, int muting_mask );
+
+/* Frequency equalizer parameters (see gme.txt) */
+typedef struct gme_equalizer_t
+{
+ double treble; /* -50.0 = muffled, 0 = flat, +5.0 = extra-crisp */
+ double bass; /* 1 = full bass, 90 = average, 16000 = almost no bass */
+
+ double d2,d3,d4,d5,d6,d7,d8,d9; /* reserved */
+} gme_equalizer_t;
+
+/* Get current frequency equalizater parameters */
+void gme_equalizer( Music_Emu const*, gme_equalizer_t* out );
+
+/* Change frequency equalizer parameters */
+void gme_set_equalizer( Music_Emu*, gme_equalizer_t const* eq );
+
+/* Enables/disables most accurate sound emulation options */
+void gme_enable_accuracy( Music_Emu*, int enabled );
+
+
+/******** Game music types ********/
+
+/* Music file type identifier. Can also hold NULL. */
+typedef const struct gme_type_t_* gme_type_t;
+
+/* Emulator type constants for each supported file type */
+extern const gme_type_t
+ gme_ay_type,
+ gme_gbs_type,
+ gme_gym_type,
+ gme_hes_type,
+ gme_kss_type,
+ gme_nsf_type,
+ gme_nsfe_type,
+ gme_sap_type,
+ gme_spc_type,
+ gme_vgm_type,
+ gme_vgz_type;
+
+/* Type of this emulator */
+gme_type_t gme_type( Music_Emu const* );
+
+/* Pointer to array of all music types, with NULL entry at end. Allows a player linked
+to this library to support new music types without having to be updated. */
+gme_type_t const* gme_type_list();
+
+/* Name of game system for this music file type */
+const char* gme_type_system( gme_type_t );
+
+/* True if this music file type supports multiple tracks */
+int gme_type_multitrack( gme_type_t );
+
+
+/******** Advanced file loading ********/
+
+/* Error returned if file type is not supported */
+extern const char* const gme_wrong_file_type;
+
+/* Same as gme_open_file(), but uses file data already in memory. Makes copy of data. */
+gme_err_t gme_open_data( const char *path, void const* data, long size, Music_Emu** out, int sample_rate );
+
+/* Determine likely game music type based on first four bytes of file. Returns
+string containing proper file suffix (i.e. "NSF", "SPC", etc.) or "" if
+file header is not recognized. */
+const char* gme_identify_header( void const* header );
+
+/* Get corresponding music type for file path or extension passed in. */
+gme_type_t gme_identify_extension( const char path_or_extension [] );
+
+/* Determine file type based on file's extension or header (if extension isn't recognized).
+Sets *type_out to type, or 0 if unrecognized or error. */
+gme_err_t gme_identify_file( const char path [], gme_type_t* type_out );
+
+/* Create new emulator and set sample rate. Returns NULL if out of memory. If you only need
+track information, pass gme_info_only for sample_rate. */
+Music_Emu* gme_new_emu( gme_type_t, int sample_rate );
+
+/* Load music file into emulator */
+gme_err_t gme_load_file( Music_Emu*, const char path [] );
+
+/* Load music file from memory into emulator. Makes a copy of data passed. */
+gme_err_t gme_load_data( Music_Emu*, void const* data, long size );
+
+/* Load music file using custom data reader function that will be called to
+read file data. Most emulators load the entire file in one read call. */
+typedef gme_err_t (*gme_reader_t)( void* your_data, void* out, int count );
+gme_err_t gme_load_custom( Music_Emu*, gme_reader_t, long file_size, void* your_data );
+
+/* Load m3u playlist file from memory (must be done after loading music) */
+gme_err_t gme_load_m3u_data( Music_Emu*, void const* data, long size );
+
+
+/******** User data ********/
+
+/* Set/get pointer to data you want to associate with this emulator.
+You can use this for whatever you want. */
+void gme_set_user_data( Music_Emu*, void* new_user_data );
+void* gme_user_data( Music_Emu const* );
+
+/* Register cleanup function to be called when deleting emulator, or NULL to
+clear it. Passes user_data to cleanup function. */
+typedef void (*gme_user_cleanup_t)( void* user_data );
+void gme_set_user_cleanup( Music_Emu*, gme_user_cleanup_t func );
+
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif
diff --git a/plugins/gme/game-music-emu-svn/gme/gme_types.h b/plugins/gme/game-music-emu-svn/gme/gme_types.h
new file mode 100644
index 00000000..06226f4a
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/gme_types.h
@@ -0,0 +1,21 @@
+#ifndef GME_TYPES_H
+#define GME_TYPES_H
+
+/*
+ * This is a default gme_types.h for use when *not* using
+ * CMake. If CMake is in use gme_types.h.in will be
+ * processed instead.
+ */
+#define USE_GME_AY
+#define USE_GME_GBS
+#define USE_GME_GYM
+#define USE_GME_HES
+#define USE_GME_KSS
+#define USE_GME_NSF
+#define USE_GME_NSFE
+#define USE_GME_SAP
+#define USE_GME_SPC
+/* VGM and VGZ are a package deal */
+#define USE_GME_VGM
+
+#endif /* GME_TYPES_H */
diff --git a/plugins/gme/game-music-emu-svn/gme/gme_types.h.in b/plugins/gme/game-music-emu-svn/gme/gme_types.h.in
new file mode 100644
index 00000000..4829b3e1
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/gme_types.h.in
@@ -0,0 +1,23 @@
+#ifndef GME_TYPES_H
+#define GME_TYPES_H
+
+/* CMake will either define the following to 1, or #undef it,
+ * depending on the options passed to CMake. This is used to
+ * conditionally compile in the various emulator types.
+ *
+ * See gme_type_list() in gme.cpp
+ */
+
+#cmakedefine USE_GME_AY
+#cmakedefine USE_GME_GBS
+#cmakedefine USE_GME_GYM
+#cmakedefine USE_GME_HES
+#cmakedefine USE_GME_KSS
+#cmakedefine USE_GME_NSF
+#cmakedefine USE_GME_NSFE
+#cmakedefine USE_GME_SAP
+#cmakedefine USE_GME_SPC
+/* VGM and VGZ are a package deal */
+#cmakedefine USE_GME_VGM
+
+#endif /* GME_TYPES_H */
diff --git a/plugins/gme/game-music-emu-svn/gme/hes_cpu_io.h b/plugins/gme/game-music-emu-svn/gme/hes_cpu_io.h
new file mode 100644
index 00000000..ce60ce8e
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/hes_cpu_io.h
@@ -0,0 +1,101 @@
+
+#include "Hes_Emu.h"
+
+#include "blargg_source.h"
+
+int Hes_Emu::cpu_read( hes_addr_t addr )
+{
+ check( addr <= 0xFFFF );
+ int result = *cpu::get_code( addr );
+ if ( mmr [addr >> page_shift] == 0xFF )
+ result = cpu_read_( addr );
+ return result;
+}
+
+void Hes_Emu::cpu_write( hes_addr_t addr, int data )
+{
+ check( addr <= 0xFFFF );
+ byte* out = write_pages [addr >> page_shift];
+ addr &= page_size - 1;
+ if ( out )
+ out [addr] = data;
+ else if ( mmr [addr >> page_shift] == 0xFF )
+ cpu_write_( addr, data );
+}
+
+inline byte const* Hes_Emu::cpu_set_mmr( int page, int bank )
+{
+ write_pages [page] = 0;
+ if ( bank < 0x80 )
+ return rom.at_addr( bank * (blargg_long) page_size );
+
+ byte* data = 0;
+ switch ( bank )
+ {
+ case 0xF8:
+ data = cpu::ram;
+ break;
+
+ case 0xF9:
+ case 0xFA:
+ case 0xFB:
+ data = &sgx [(bank - 0xF9) * page_size];
+ break;
+
+ default:
+ if ( bank != 0xFF )
+ debug_printf( "Unmapped bank $%02X\n", bank );
+ return rom.unmapped();
+ }
+
+ write_pages [page] = data;
+ return data;
+}
+
+#define CPU_READ_FAST( cpu, addr, time, out ) \
+ CPU_READ_FAST_( STATIC_CAST(Hes_Emu*,cpu), addr, time, out )
+
+#define CPU_READ_FAST_( cpu, addr, time, out ) \
+{\
+ out = READ_PROG( addr );\
+ if ( mmr [addr >> page_shift] == 0xFF )\
+ {\
+ FLUSH_TIME();\
+ out = cpu->cpu_read_( addr );\
+ CACHE_TIME();\
+ }\
+}
+
+#define CPU_WRITE_FAST( cpu, addr, data, time ) \
+ CPU_WRITE_FAST_( STATIC_CAST(Hes_Emu*,cpu), addr, data, time )
+
+#define CPU_WRITE_FAST_( cpu, addr, data, time ) \
+{\
+ byte* out = cpu->write_pages [addr >> page_shift];\
+ addr &= page_size - 1;\
+ if ( out )\
+ {\
+ out [addr] = data;\
+ }\
+ else if ( mmr [addr >> page_shift] == 0xFF )\
+ {\
+ FLUSH_TIME();\
+ cpu->cpu_write_( addr, data );\
+ CACHE_TIME();\
+ }\
+}
+
+#define CPU_READ( cpu, addr, time ) \
+ STATIC_CAST(Hes_Emu*,cpu)->cpu_read( addr )
+
+#define CPU_WRITE( cpu, addr, data, time ) \
+ STATIC_CAST(Hes_Emu*,cpu)->cpu_write( addr, data )
+
+#define CPU_WRITE_VDP( cpu, addr, data, time ) \
+ STATIC_CAST(Hes_Emu*,cpu)->cpu_write_vdp( addr, data )
+
+#define CPU_SET_MMR( cpu, page, bank ) \
+ STATIC_CAST(Hes_Emu*,cpu)->cpu_set_mmr( page, bank )
+
+#define CPU_DONE( cpu, time, result_out ) \
+ result_out = STATIC_CAST(Hes_Emu*,cpu)->cpu_done()
diff --git a/plugins/gme/game-music-emu-svn/gme/libgme.pc.in b/plugins/gme/game-music-emu-svn/gme/libgme.pc.in
new file mode 100644
index 00000000..4f420d9e
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/libgme.pc.in
@@ -0,0 +1,15 @@
+# entries grouped with CMake are expanded by CMake
+# ${foo} entries are left alone by CMake and much
+# later are used by pkg-config.
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+lib_suffix=
+libdir=${exec_prefix}/lib${lib_suffix}
+includedir=${prefix}/include
+
+Name: Game_Music_Emu
+Description: A video game emulation library for music.
+URL: http://code.google.com/p/game-music-emu/
+Version: @GME_VERSION@
+Cflags: -I${includedir}
+Libs: -L${libdir} -lgme
diff --git a/plugins/gme/game-music-emu-svn/gme/nes_cpu_io.h b/plugins/gme/game-music-emu-svn/gme/nes_cpu_io.h
new file mode 100644
index 00000000..68ce9b6f
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/nes_cpu_io.h
@@ -0,0 +1,83 @@
+
+#include "Nsf_Emu.h"
+
+#if !NSF_EMU_APU_ONLY
+ #include "Nes_Namco_Apu.h"
+#endif
+
+#include "blargg_source.h"
+
+int Nsf_Emu::cpu_read( nes_addr_t addr )
+{
+ int result;
+
+ result = cpu::low_mem [addr & 0x7FF];
+ if ( !(addr & 0xE000) )
+ goto exit;
+
+ result = *cpu::get_code( addr );
+ if ( addr > 0x7FFF )
+ goto exit;
+
+ result = sram [addr & (sizeof sram - 1)];
+ if ( addr > 0x5FFF )
+ goto exit;
+
+ if ( addr == Nes_Apu::status_addr )
+ return apu.read_status( cpu::time() );
+
+ #if !NSF_EMU_APU_ONLY
+ if ( addr == Nes_Namco_Apu::data_reg_addr && namco )
+ return namco->read_data();
+ #endif
+
+ result = addr >> 8; // simulate open bus
+
+ if ( addr != 0x2002 )
+ debug_printf( "Read unmapped $%.4X\n", (unsigned) addr );
+
+exit:
+ return result;
+}
+
+void Nsf_Emu::cpu_write( nes_addr_t addr, int data )
+{
+ {
+ nes_addr_t offset = addr ^ sram_addr;
+ if ( offset < sizeof sram )
+ {
+ sram [offset] = data;
+ return;
+ }
+ }
+ {
+ int temp = addr & 0x7FF;
+ if ( !(addr & 0xE000) )
+ {
+ cpu::low_mem [temp] = data;
+ return;
+ }
+ }
+
+ if ( unsigned (addr - Nes_Apu::start_addr) <= Nes_Apu::end_addr - Nes_Apu::start_addr )
+ {
+ GME_APU_HOOK( this, addr - Nes_Apu::start_addr, data );
+ apu.write_register( cpu::time(), addr, data );
+ return;
+ }
+
+ unsigned bank = addr - bank_select_addr;
+ if ( bank < bank_count )
+ {
+ blargg_long offset = rom.mask_addr( data * (blargg_long) bank_size );
+ if ( offset >= rom.size() )
+ set_warning( "Invalid bank" );
+ cpu::map_code( (bank + 8) * bank_size, bank_size, rom.at_addr( offset ) );
+ return;
+ }
+
+ cpu_write_misc( addr, data );
+}
+
+#define CPU_READ( cpu, addr, time ) STATIC_CAST(Nsf_Emu&,*cpu).cpu_read( addr )
+#define CPU_WRITE( cpu, addr, data, time ) STATIC_CAST(Nsf_Emu&,*cpu).cpu_write( addr, data )
diff --git a/plugins/gme/game-music-emu-svn/gme/sap_cpu_io.h b/plugins/gme/game-music-emu-svn/gme/sap_cpu_io.h
new file mode 100644
index 00000000..d009d0d9
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/gme/sap_cpu_io.h
@@ -0,0 +1,26 @@
+
+#include "Sap_Emu.h"
+
+#include "blargg_source.h"
+
+#define CPU_WRITE( cpu, addr, data, time ) STATIC_CAST(Sap_Emu&,*cpu).cpu_write( addr, data )
+
+void Sap_Emu::cpu_write( sap_addr_t addr, int data )
+{
+ mem.ram [addr] = data;
+ if ( (addr >> 8) == 0xD2 )
+ cpu_write_( addr, data );
+}
+
+#ifdef NDEBUG
+ #define CPU_READ( cpu, addr, time ) READ_LOW( addr )
+#else
+ #define CPU_READ( cpu, addr, time ) STATIC_CAST(Sap_Emu&,*cpu).cpu_read( addr )
+
+ int Sap_Emu::cpu_read( sap_addr_t addr )
+ {
+ if ( (addr & 0xF900) == 0xD000 )
+ debug_printf( "Unmapped read $%04X\n", addr );
+ return mem.ram [addr];
+ }
+#endif
diff --git a/plugins/gme/game-music-emu-svn/license.txt b/plugins/gme/game-music-emu-svn/license.txt
new file mode 100644
index 00000000..5faba9d4
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/license.txt
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/plugins/gme/game-music-emu-svn/readme.txt b/plugins/gme/game-music-emu-svn/readme.txt
new file mode 100644
index 00000000..add10941
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/readme.txt
@@ -0,0 +1,216 @@
+Game_Music_Emu 0.5.5: Game Music Emulators
+------------------------------------------
+Game_Music_Emu is a collection of video game music file emulators that
+support the following formats and systems:
+
+AY ZX Spectrum/Amstrad CPC
+GBS Nintendo Game Boy
+GYM Sega Genesis/Mega Drive
+HES NEC TurboGrafx-16/PC Engine
+KSS MSX Home Computer/other Z80 systems (doesn't support FM sound)
+NSF/NSFE Nintendo NES/Famicom (with VRC 6, Namco 106, and FME-7 sound)
+SAP Atari systems using POKEY sound chip
+SPC Super Nintendo/Super Famicom
+VGM/VGZ Sega Master System/Mark III, Sega Genesis/Mega Drive,BBC Micro
+
+Features:
+* C interface for use in C, C++, and other compatible languages
+* High emphasis has been placed on making the library very easy to use
+* One set of common functions work with all emulators the same way
+* Several code examples, including music player using SDL
+* Portable code for use on any system with modern or older C++ compilers
+* Adjustable output sample rate using quality band-limited resampling
+* Uniform access to text information fields and track timing information
+* End-of-track fading and automatic look ahead silence detection
+* Treble/bass and stereo echo for AY/GBS/HES/KSS/NSF/NSFE/SAP/VGM
+* Tempo can be adjusted and individual voices can be muted while playing
+* Can read music data from file, memory, or custom reader function/class
+* Can access track information without having to load into full emulator
+* M3U track listing support for multi-track formats
+* Modular design allows elimination of unneeded emulators/features
+
+This library has been used in game music players for Windows, Linux on
+several architectures, Mac OS, MorphOS, Xbox, PlayStation Portable,
+GP2X, and Nintendo DS.
+
+Author : Shay Green <gblargg@gmail.com>
+Website: http://www.slack.net/~ant/
+Forum : http://groups.google.com/group/blargg-sound-libs
+License: GNU Lesser General Public License (LGPL)
+
+
+Getting Started
+---------------
+Build a program consisting of demo/basics.c, demo/Wave_Writer.cpp, and
+all source files in gme/. If you have CMake 2.6 or later, execute
+
+ run cmake
+ cd demo
+ run make
+
+Be sure "test.nsf" is in the same directory as the program. Running it
+should generate the recording "out.wav".
+
+A slightly more extensive demo application is available in the player/
+directory. It requires SDL to build.
+
+Read gme.txt for more information. Post to the discussion forum for
+assistance.
+
+
+Files
+-----
+gme.txt General notes about the library
+changes.txt Changes made since previous releases
+design.txt Library design notes
+license.txt GNU Lesser General Public License
+CMakeLists.txt CMake build rules
+
+test.nsf Test file for NSF emulator
+test.m3u Test m3u playlist for features.c demo
+
+demo/
+ basics.c Records NSF file to wave sound file
+ features.c Demonstrates many additional features
+ Wave_Writer.h WAVE sound file writer used for demo output
+ Wave_Writer.cpp
+ CMakeLists.txt CMake build rules
+
+player/ Player using the SDL multimedia library
+ player.cpp Simple music player with waveform display
+ Music_Player.cpp Stand alone player for background music
+ Music_Player.h
+ Audio_Scope.cpp Audio waveform scope
+ Audio_Scope.h
+ CMakeLists.txt CMake build rules
+
+gme/
+ blargg_config.h Library configuration (modify this file as needed)
+
+ gme.h Library interface header file
+ gme.cpp
+
+ Ay_Emu.h ZX Spectrum AY emulator
+ Ay_Emu.cpp
+ Ay_Apu.cpp
+ Ay_Apu.h
+ Ay_Cpu.cpp
+ Ay_Cpu.h
+
+ Gbs_Emu.h Nintendo Game Boy GBS emulator
+ Gbs_Emu.cpp
+ Gb_Apu.cpp
+ Gb_Apu.h
+ Gb_Cpu.cpp
+ Gb_Cpu.h
+ gb_cpu_io.h
+ Gb_Oscs.cpp
+ Gb_Oscs.h
+
+ Hes_Emu.h TurboGrafx-16/PC Engine HES emulator
+ Hes_Apu.cpp
+ Hes_Apu.h
+ Hes_Cpu.cpp
+ Hes_Cpu.h
+ hes_cpu_io.h
+ Hes_Emu.cpp
+
+ Kss_Emu.h MSX Home Computer/other Z80 systems KSS emulator
+ Kss_Emu.cpp
+ Kss_Cpu.cpp
+ Kss_Cpu.h
+ Kss_Scc_Apu.cpp
+ Kss_Scc_Apu.h
+ Ay_Apu.h
+ Ay_Apu.cpp
+ Sms_Apu.h
+ Sms_Apu.cpp
+ Sms_Oscs.h
+
+ Nsf_Emu.h Nintendo NES NSF/NSFE emulator
+ Nsf_Emu.cpp
+ Nes_Apu.cpp
+ Nes_Apu.h
+ Nes_Cpu.cpp
+ Nes_Cpu.h
+ nes_cpu_io.h
+ Nes_Oscs.cpp
+ Nes_Oscs.h
+ Nes_Fme7_Apu.cpp
+ Nes_Fme7_Apu.h
+ Nes_Namco_Apu.cpp
+ Nes_Namco_Apu.h
+ Nes_Vrc6_Apu.cpp
+ Nes_Vrc6_Apu.h
+ Nsfe_Emu.h NSFE support
+ Nsfe_Emu.cpp
+
+ Spc_Emu.h Super Nintendo SPC emulator
+ Spc_Emu.cpp
+ Snes_Spc.cpp
+ Snes_Spc.h
+ Spc_Cpu.cpp
+ Spc_Cpu.h
+ Spc_Dsp.cpp
+ Spc_Dsp.h
+ Fir_Resampler.cpp
+ Fir_Resampler.h
+
+ Sap_Emu.h Atari SAP emulator
+ Sap_Emu.cpp
+ Sap_Apu.cpp
+ Sap_Apu.h
+ Sap_Cpu.cpp
+ Sap_Cpu.h
+ sap_cpu_io.h
+
+ Vgm_Emu.h Sega VGM emulator
+ Vgm_Emu_Impl.cpp
+ Vgm_Emu_Impl.h
+ Vgm_Emu.cpp
+ Ym2413_Emu.cpp
+ Ym2413_Emu.h
+ Gym_Emu.h Sega Genesis GYM emulator
+ Gym_Emu.cpp
+ Sms_Apu.cpp Common Sega emulator files
+ Sms_Apu.h
+ Sms_Oscs.h
+ Ym2612_Emu.cpp
+ Ym2612_Emu.h
+ Dual_Resampler.cpp
+ Dual_Resampler.h
+ Fir_Resampler.cpp
+ Fir_Resampler.h
+
+ M3u_Playlist.h M3U playlist support
+ M3u_Playlist.cpp
+
+ Effects_Buffer.h Sound buffer with stereo echo and panning
+ Effects_Buffer.cpp
+
+ blargg_common.h Common files needed by all emulators
+ blargg_endian.h
+ blargg_source.h
+ Blip_Buffer.cpp
+ Blip_Buffer.h
+ Gme_File.h
+ Gme_File.cpp
+ Music_Emu.h
+ Music_Emu.cpp
+ Classic_Emu.h
+ Classic_Emu.cpp
+ Multi_Buffer.h
+ Multi_Buffer.cpp
+ Data_Reader.h
+ Data_Reader.cpp
+
+ CMakeLists.txt CMake build rules
+
+
+Legal
+-----
+Game_Music_Emu library copyright (C) 2003-2009 Shay Green.
+Sega Genesis YM2612 emulator copyright (C) 2002 Stephane Dallongeville.
+
+--
+Shay Green <gblargg@gmail.com>
diff --git a/plugins/gme/game-music-emu-svn/test.m3u b/plugins/gme/game-music-emu-svn/test.m3u
new file mode 100644
index 00000000..fd46bfe1
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/test.m3u
@@ -0,0 +1,2 @@
+# filename,track number,track name,track time
+test.nsf,$00,BGM C,1:16
diff --git a/plugins/gme/game-music-emu-svn/test.nsf b/plugins/gme/game-music-emu-svn/test.nsf
new file mode 100644
index 00000000..da5fcedd
--- /dev/null
+++ b/plugins/gme/game-music-emu-svn/test.nsf
Binary files differ
diff --git a/plugins/gtkui/actions.c b/plugins/gtkui/actions.c
index 0ddbdceb..3b7bc5c8 100644
--- a/plugins/gtkui/actions.c
+++ b/plugins/gtkui/actions.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>,
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>,
Viktor Semykin <thesame.ml@gmail.com>
This program is free software; you can redistribute it and/or
diff --git a/plugins/gtkui/actions.h b/plugins/gtkui/actions.h
index aacff34b..56dc3425 100644
--- a/plugins/gtkui/actions.h
+++ b/plugins/gtkui/actions.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>,
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>,
Viktor Semykin <thesame.ml@gmail.com>
This program is free software; you can redistribute it and/or
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 8d86f1ec..fae22fe1 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -1153,7 +1153,7 @@ on_sort_by_title_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%t", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%t", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
@@ -1165,7 +1165,7 @@ on_sort_by_track_nr_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%n", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%n", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
@@ -1177,7 +1177,7 @@ on_sort_by_album_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%b", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%b", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
@@ -1189,7 +1189,7 @@ on_sort_by_artist_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%a", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%a", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
@@ -1201,7 +1201,22 @@ on_sort_by_date_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%y", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%y", DDB_SORT_ASCENDING);
+ deadbeef->plt_unref (plt);
+
+ DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
+ ddb_listview_clear_sort (pl);
+ ddb_listview_refresh (pl, DDB_REFRESH_LIST | DDB_LIST_CHANGED);
+}
+
+
+void
+on_sort_by_random_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ ddb_playlist_t *plt = deadbeef->plt_get_curr ();
+ deadbeef->plt_sort (plt, PL_MAIN, -1, NULL, DDB_SORT_RANDOM);
+
deadbeef->plt_unref (plt);
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
@@ -1235,7 +1250,7 @@ on_sort_by_custom_activate (GtkMenuItem *menuitem,
deadbeef->conf_set_str ("gtkui.sortby_fmt", fmt);
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, fmt, order == 0 ? 1 : 0);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, fmt, order == 0 ? DDB_SORT_ASCENDING : DDB_SORT_DESCENDING);
deadbeef->plt_unref (plt);
deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
diff --git a/plugins/gtkui/callbacks.h b/plugins/gtkui/callbacks.h
index 9af9a4bf..1e4e66e3 100644
--- a/plugins/gtkui/callbacks.h
+++ b/plugins/gtkui/callbacks.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -1149,6 +1149,10 @@ on_sort_by_date_activate (GtkMenuItem *menuitem,
gpointer user_data);
void
+on_sort_by_random_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
on_sort_by_custom_activate (GtkMenuItem *menuitem,
gpointer user_data);
@@ -1159,3 +1163,7 @@ on_convert8to16_toggled (GtkToggleButton *togglebutton,
void
on_design_mode1_activate (GtkMenuItem *menuitem,
gpointer user_data);
+
+void
+on_reset_autostop_toggled (GtkToggleButton *togglebutton,
+ gpointer user_data);
diff --git a/plugins/gtkui/coverart.c b/plugins/gtkui/coverart.c
index e1dec261..a2f1119a 100644
--- a/plugins/gtkui/coverart.c
+++ b/plugins/gtkui/coverart.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/coverart.h b/plugins/gtkui/coverart.h
index aafec0d6..a4914b6f 100644
--- a/plugins/gtkui/coverart.h
+++ b/plugins/gtkui/coverart.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/ddbequalizer.c b/plugins/gtkui/ddbequalizer.c
index 8f69f073..02946aea 100644
--- a/plugins/gtkui/ddbequalizer.c
+++ b/plugins/gtkui/ddbequalizer.c
@@ -30,7 +30,7 @@
#include <cairo.h>
#include <pango/pangocairo.h>
#include <pango/pango.h>
-
+#include "support.h"
#define DDB_TYPE_EQUALIZER (ddb_equalizer_get_type ())
#define DDB_EQUALIZER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DDB_TYPE_EQUALIZER, DdbEqualizer))
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c
index ba2b0080..2aef74df 100644
--- a/plugins/gtkui/ddblistview.c
+++ b/plugins/gtkui/ddblistview.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -1383,7 +1383,7 @@ ddb_listview_select_single (DdbListview *ps, int sel) {
}
void
-ddb_listview_click_selection (DdbListview *ps, int ex, int ey, DdbListviewGroup *grp, int grp_index, int sel, int dnd) {
+ddb_listview_click_selection (DdbListview *ps, int ex, int ey, DdbListviewGroup *grp, int grp_index, int sel, int dnd, int button) {
deadbeef->pl_lock ();
ps->areaselect = 0;
ddb_listview_groupcheck (ps);
@@ -1434,7 +1434,9 @@ ddb_listview_click_selection (DdbListview *ps, int ex, int ey, DdbListviewGroup
else {
// clicked specific item - select, or start drag-n-drop
DdbListviewIter it = ps->binding->get_for_idx (sel);
- if (!it || !ps->binding->is_selected (it) || !ps->binding->drag_n_drop) {
+ if (!it || !ps->binding->is_selected (it)
+ || (!ps->binding->drag_n_drop && button == 1)) // HACK: don't reset selection by right click in search window
+ {
// reset selection, and set it to single item
ddb_listview_select_single (ps, sel);
if (dnd) {
@@ -1524,7 +1526,7 @@ ddb_listview_list_mouse1_pressed (DdbListview *ps, int state, int ex, int ey, Gd
// handle multiple selection
if (!(state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)))
{
- ddb_listview_click_selection (ps, ex, ey, grp, grp_index, sel, 1);
+ ddb_listview_click_selection (ps, ex, ey, grp, grp_index, sel, 1, 1);
}
else if (state & GDK_CONTROL_MASK) {
// toggle selection
@@ -2698,7 +2700,7 @@ ddb_listview_list_button_press_event (GtkWidget *widget,
if (sel != -1) {
ps->binding->set_cursor (sel);
}
- ddb_listview_click_selection (ps, event->x, event->y, grp, grp_index, sel, 0);
+ ddb_listview_click_selection (ps, event->x, event->y, grp, grp_index, sel, 0, event->button);
if (sel == -1 && grp_index < grp->num_items) {
sel = ps->binding->get_idx (grp->head);
}
diff --git a/plugins/gtkui/ddblistview.h b/plugins/gtkui/ddblistview.h
index a43dbcc3..d03cd240 100644
--- a/plugins/gtkui/ddblistview.h
+++ b/plugins/gtkui/ddblistview.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/ddbseekbar.c b/plugins/gtkui/ddbseekbar.c
index f1b3a836..544083b9 100644
--- a/plugins/gtkui/ddbseekbar.c
+++ b/plugins/gtkui/ddbseekbar.c
@@ -23,7 +23,7 @@
#include <gdk/gdk.h>
#include <drawing.h>
#include <gtkui.h>
-
+#include "support.h"
#define DDB_TYPE_SEEKBAR (ddb_seekbar_get_type ())
#define DDB_SEEKBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DDB_TYPE_SEEKBAR, DdbSeekbar))
diff --git a/plugins/gtkui/ddbtabstrip.c b/plugins/gtkui/ddbtabstrip.c
index 8b260cf8..18151ff4 100644
--- a/plugins/gtkui/ddbtabstrip.c
+++ b/plugins/gtkui/ddbtabstrip.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -20,6 +20,7 @@
#include <string.h>
#include <assert.h>
#include <glib.h>
+#include <stdlib.h>
#include "ddbtabstrip.h"
#include "drawing.h"
#include "gtkui.h"
@@ -795,6 +796,139 @@ on_add_new_playlist1_activate (GtkMenuItem *menuitem,
}
}
+static void
+on_actionitem_activate (GtkMenuItem *menuitem,
+ DB_plugin_action_t *action)
+{
+ ddb_playlist_t *plt = NULL;
+ if (tab_clicked != -1) {
+ plt = deadbeef->plt_get_for_idx (tab_clicked);
+ }
+ action->callback (action, plt);
+ deadbeef->plt_unref (plt);
+}
+
+static GtkWidget*
+find_popup (GtkWidget *widget,
+ const gchar *widget_name)
+{
+ GtkWidget *parent, *found_widget;
+
+ for (;;)
+ {
+ if (GTK_IS_MENU (widget))
+ parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
+ else
+ parent = gtk_widget_get_parent (widget);
+ if (!parent)
+ parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
+ if (parent == NULL)
+ break;
+ widget = parent;
+ }
+
+ found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
+ widget_name);
+ return found_widget;
+}
+
+void
+add_tab_actions (GtkWidget *menu) {
+ DB_plugin_t **plugins = deadbeef->plug_get_list();
+ int i;
+
+ int added_entries = 0;
+ for (i = 0; plugins[i]; i++)
+ {
+ if (!plugins[i]->get_actions)
+ continue;
+
+ DB_plugin_action_t *actions = plugins[i]->get_actions (NULL);
+ DB_plugin_action_t *action;
+
+ int count = 0;
+ for (action = actions; action; action = action->next)
+ {
+ char *tmp = NULL;
+ if (!(action->flags & DB_ACTION_PLAYLIST))
+ continue;
+
+ // create submenus (separated with '/')
+ const char *prev = action->title;
+ while (*prev && *prev == '/') {
+ prev++;
+ }
+
+ GtkWidget *popup = NULL;
+
+ for (;;) {
+ const char *slash = strchr (prev, '/');
+ if (slash && *(slash-1) != '\\') {
+ char name[slash-prev+1];
+ // replace \/ with /
+ const char *p = prev;
+ char *t = name;
+ while (*p && p < slash) {
+ if (*p == '\\' && *(p+1) == '/') {
+ *t++ = '/';
+ p += 2;
+ }
+ else {
+ *t++ = *p++;
+ }
+ }
+ *t = 0;
+
+ // add popup
+ GtkWidget *prev_menu = popup ? popup : menu;
+
+ popup = find_popup (prev_menu, name);
+ if (!popup) {
+ GtkWidget *item = gtk_image_menu_item_new_with_mnemonic (_(name));
+ gtk_widget_show (item);
+ gtk_container_add (GTK_CONTAINER (prev_menu), item);
+ popup = gtk_menu_new ();
+ //HOOKUP_OBJECT (prev_menu, popup, name);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), popup);
+ }
+ }
+ else {
+ break;
+ }
+ prev = slash+1;
+ }
+
+
+ count++;
+ added_entries++;
+ GtkWidget *actionitem;
+
+ // replace \/ with /
+ const char *p = popup ? prev : action->title;
+ char title[strlen (p)+1];
+ char *t = title;
+ while (*p) {
+ if (*p == '\\' && *(p+1) == '/') {
+ *t++ = '/';
+ p += 2;
+ }
+ else {
+ *t++ = *p++;
+ }
+ }
+ *t = 0;
+
+ actionitem = gtk_menu_item_new_with_mnemonic (_(title));
+ gtk_widget_show (actionitem);
+ gtk_container_add (popup ? GTK_CONTAINER (popup) : GTK_CONTAINER (menu), actionitem);
+
+ g_signal_connect ((gpointer) actionitem, "activate",
+ G_CALLBACK (on_actionitem_activate),
+ action);
+ }
+ }
+}
+
GtkWidget*
create_plmenu (void)
{
@@ -843,6 +977,8 @@ create_plmenu (void)
GLADE_HOOKUP_OBJECT (plmenu, remove_playlist1, "remove_playlist1");
GLADE_HOOKUP_OBJECT (plmenu, add_new_playlist1, "add_new_playlist1");
+ add_tab_actions (plmenu);
+
return plmenu;
}
diff --git a/plugins/gtkui/ddbtabstrip.h b/plugins/gtkui/ddbtabstrip.h
index c68b95f1..a34eb5eb 100644
--- a/plugins/gtkui/ddbtabstrip.h
+++ b/plugins/gtkui/ddbtabstrip.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/ddbvolumebar.c b/plugins/gtkui/ddbvolumebar.c
index 732210f3..7c74cbec 100644
--- a/plugins/gtkui/ddbvolumebar.c
+++ b/plugins/gtkui/ddbvolumebar.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -185,6 +185,7 @@ volumebar_draw (GtkWidget *widget, cairo_t *cr) {
gboolean
on_volumebar_draw (GtkWidget *widget, cairo_t *cr) {
volumebar_draw (widget, cr);
+ return FALSE;
}
#if !GTK_CHECK_VERSION(3,0,0)
diff --git a/plugins/gtkui/ddbvolumebar.h b/plugins/gtkui/ddbvolumebar.h
index d2cfbe61..7db07479 100644
--- a/plugins/gtkui/ddbvolumebar.h
+++ b/plugins/gtkui/ddbvolumebar.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade
index b0659ff5..820c30a1 100644
--- a/plugins/gtkui/deadbeef.glade
+++ b/plugins/gtkui/deadbeef.glade
@@ -365,6 +365,15 @@
</child>
<child>
+ <widget class="GtkMenuItem" id="random1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Random</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_sort_by_random_activate" last_modification_time="Sun, 26 Feb 2012 19:22:44 GMT"/>
+ </widget>
+ </child>
+
+ <child>
<widget class="GtkMenuItem" id="custom2">
<property name="visible">True</property>
<property name="label" translatable="yes">Custom</property>
@@ -2974,6 +2983,26 @@ Album</property>
<property name="fill">False</property>
</packing>
</child>
+
+ <child>
+ <widget class="GtkCheckButton" id="reset_autostop">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Auto-reset &quot;Stop after current&quot;</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_reset_autostop_toggled" last_modification_time="Mon, 02 Apr 2012 17:59:08 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="tab_expand">False</property>
diff --git a/plugins/gtkui/drawing.h b/plugins/gtkui/drawing.h
index 3556ec62..6d573346 100644
--- a/plugins/gtkui/drawing.h
+++ b/plugins/gtkui/drawing.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/dspconfig.c b/plugins/gtkui/dspconfig.c
index 9cc012f0..95767284 100644
--- a/plugins/gtkui/dspconfig.c
+++ b/plugins/gtkui/dspconfig.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/dspconfig.h b/plugins/gtkui/dspconfig.h
index 6b7f5310..4d945f2c 100644
--- a/plugins/gtkui/dspconfig.h
+++ b/plugins/gtkui/dspconfig.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/eq.c b/plugins/gtkui/eq.c
index c534dfb6..101c3c35 100644
--- a/plugins/gtkui/eq.c
+++ b/plugins/gtkui/eq.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -68,6 +68,7 @@ eq_value_changed (DdbEqualizer *widget)
set_param (eq, i+1, ddb_equalizer_get_band (widget, i));
}
set_param (eq, 0, ddb_equalizer_get_preamp (widget));
+ deadbeef->streamer_dsp_chain_save ();
}
}
@@ -79,6 +80,7 @@ on_enable_toggled (GtkToggleButton *togglebutton,
int enabled = gtk_toggle_button_get_active (togglebutton) ? 1 : 0;
eq->enabled = enabled;
deadbeef->streamer_dsp_refresh ();
+ deadbeef->streamer_dsp_chain_save ();
}
}
@@ -98,6 +100,7 @@ on_zero_all_clicked (GtkButton *button,
set_param (eq, i+1, 0);
}
gtk_widget_queue_draw (eqwin);
+ deadbeef->streamer_dsp_chain_save ();
}
}
}
@@ -111,6 +114,7 @@ on_zero_preamp_clicked (GtkButton *button,
set_param (eq, 0, 0);
ddb_equalizer_set_preamp (DDB_EQUALIZER (eqwin), 0);
gtk_widget_queue_draw (eqwin);
+ deadbeef->streamer_dsp_chain_save ();
}
}
}
@@ -126,6 +130,7 @@ on_zero_bands_clicked (GtkButton *button,
set_param (eq, i+1, 0);
}
gtk_widget_queue_draw (eqwin);
+ deadbeef->streamer_dsp_chain_save ();
}
}
}
@@ -228,7 +233,7 @@ on_load_preset_clicked (GtkMenuItem *menuitem,
set_param (eq, i+1, vals[i]);
}
gtk_widget_queue_draw (eqwin);
- deadbeef->conf_save ();
+ deadbeef->streamer_dsp_chain_save ();
}
}
else {
@@ -294,7 +299,7 @@ on_import_fb2k_preset_clicked (GtkButton *button,
set_param (eq, i+1, vals[i]);
}
gtk_widget_queue_draw (eqwin);
- deadbeef->conf_save ();
+ deadbeef->streamer_dsp_chain_save ();
}
}
else {
diff --git a/plugins/gtkui/eq.h b/plugins/gtkui/eq.h
index 570cd935..f9227278 100644
--- a/plugins/gtkui/eq.h
+++ b/plugins/gtkui/eq.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/fileman.c b/plugins/gtkui/fileman.c
index 0a366990..69f016af 100644
--- a/plugins/gtkui/fileman.c
+++ b/plugins/gtkui/fileman.c
@@ -211,6 +211,9 @@ gtkpl_add_fm_dropped_files (DB_playItem_t *drop_before, char *ptr, int length) {
DdbListviewIter inserted = deadbeef->plt_insert_dir (plt, after, fname, &abort, gtkui_add_file_info_cb, NULL);
if (!inserted && !abort) {
inserted = deadbeef->plt_insert_file (plt, after, fname, &abort, gtkui_add_file_info_cb, NULL);
+ if (!inserted && !abort) {
+ inserted = gtkui_original_plt_load (plt, after, fname, &abort, gtkui_add_file_info_cb, NULL);
+ }
}
if (inserted) {
if (!first) {
diff --git a/plugins/gtkui/gdkdrawing.c b/plugins/gtkui/gdkdrawing.c
index 41967bb8..9580af40 100644
--- a/plugins/gtkui/gdkdrawing.c
+++ b/plugins/gtkui/gdkdrawing.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index e3081188..5bb3df1a 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -71,7 +71,7 @@ GtkWidget *theme_button;
int gtkui_embolden_current_track;
-#define TRAY_ICON "deadbeef-tray-icon"
+#define TRAY_ICON "deadbeef_tray_icon"
// that must be called before gtk_init
void
@@ -1041,6 +1041,7 @@ gtkui_thread (void *ctx) {
gtk_window_set_icon_name (GTK_WINDOW (mainwin), "deadbeef");
}
else {
+ // try loading icon from $prefix/deadbeef.png (for static build)
char iconpath[1024];
snprintf (iconpath, sizeof (iconpath), "%s/deadbeef.png", deadbeef->get_prefix ());
gtk_window_set_icon_from_file (GTK_WINDOW (mainwin), iconpath, NULL);
@@ -1291,6 +1292,14 @@ gtkui_connect (void) {
return 0;
}
+static int
+gtkui_disconnect (void) {
+ supereq_plugin = NULL;
+ coverart_plugin = NULL;
+
+ return 0;
+}
+
static gboolean
quit_gtk_cb (gpointer nothing) {
@@ -1353,13 +1362,15 @@ static ddb_gtkui_t plugin = {
.gui.plugin.type = DB_PLUGIN_MISC,
#if GTK_CHECK_VERSION(3,0,0)
.gui.plugin.id = "gtkui3",
+ .gui.plugin.name = "GTK3 user interface",
+ .gui.plugin.descr = "User interface using GTK+ 3.x",
#else
.gui.plugin.id = "gtkui",
+ .gui.plugin.name = "GTK2 user interface",
+ .gui.plugin.descr = "User interface using GTK+ 2.x",
#endif
- .gui.plugin.name = "Standard GTK2 user interface",
- .gui.plugin.descr = "Default DeaDBeeF GUI",
.gui.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
@@ -1379,6 +1390,7 @@ static ddb_gtkui_t plugin = {
.gui.plugin.start = gtkui_start,
.gui.plugin.stop = gtkui_stop,
.gui.plugin.connect = gtkui_connect,
+ .gui.plugin.disconnect = gtkui_disconnect,
.gui.plugin.configdialog = settings_dlg,
.gui.plugin.message = gtkui_message,
.gui.run_dialog = gtkui_run_dialog_root,
diff --git a/plugins/gtkui/gtkui.h b/plugins/gtkui/gtkui.h
index 6aa81529..afef4788 100644
--- a/plugins/gtkui/gtkui.h
+++ b/plugins/gtkui/gtkui.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -29,27 +29,9 @@
#include "../../config.h"
#endif
-#if defined(ULTRA_COMPATIBLE)
-#warning compiling for compatibility with gtk <2.14
-#endif
-
-// workaround to make older gtk compatible with vala codegen
-#if !GTK_CHECK_VERSION(2,14,0) || defined(ULTRA_COMPATIBLE)
-#define gtk_widget_get_window(widget) ((widget)->window)
-#endif
-
-#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
-#define gtk_widget_set_has_window(widget, has_window) \
- if (has_window) GTK_WIDGET_UNSET_FLAGS (widget, GTK_NO_WINDOW); \
- else GTK_WIDGET_SET_FLAGS (widget, GTK_NO_WINDOW);
-
-#define gtk_widget_get_visible(widget) (GTK_WIDGET_VISIBLE(widget))
-#define gtk_widget_get_has_window(widget) (!GTK_WIDGET_NO_WINDOW(widget))
-#endif
-
-#if !GTK_CHECK_VERSION(2,20,0) || defined(ULTRA_COMPATIBLE)
-#define gtk_widget_get_realized(widget) (GTK_WIDGET_REALIZED(widget))
-#endif
+//#if defined(ULTRA_COMPATIBLE)
+//#warning compiling for compatibility with gtk <2.14
+//#endif
#include "../../deadbeef.h"
@@ -175,4 +157,6 @@ gtkui_trackinfochanged (DB_playItem_t *it);
gboolean
redraw_queued_tracks_cb (gpointer plt);
+extern DB_playItem_t * (*gtkui_original_plt_load) (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname, int *pabort, int (*cb)(DB_playItem_t *it, void *data), void *user_data);
+
#endif
diff --git a/plugins/gtkui/gtkui_api.h b/plugins/gtkui/gtkui_api.h
index 8d9808b1..34b4d9d1 100644
--- a/plugins/gtkui/gtkui_api.h
+++ b/plugins/gtkui/gtkui_api.h
@@ -2,7 +2,7 @@
gtkui_api.h -- API of the DeaDBeeF GTK UI plugin
http://deadbeef.sourceforge.net
- Copyright (C) 2009-2011 Alexey Yakovenko
+ Copyright (C) 2009-2012 Alexey Yakovenko
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c
index 4ae9d5a7..7ccc50de 100644
--- a/plugins/gtkui/interface.c
+++ b/plugins/gtkui/interface.c
@@ -69,6 +69,7 @@ create_mainwin (void)
GtkWidget *album1;
GtkWidget *artist1;
GtkWidget *date1;
+ GtkWidget *random1;
GtkWidget *custom2;
GtkWidget *separator5;
GtkWidget *preferences;
@@ -310,6 +311,10 @@ create_mainwin (void)
gtk_widget_show (date1);
gtk_container_add (GTK_CONTAINER (sort_by1_menu), date1);
+ random1 = gtk_menu_item_new_with_mnemonic (_("Random"));
+ gtk_widget_show (random1);
+ gtk_container_add (GTK_CONTAINER (sort_by1_menu), random1);
+
custom2 = gtk_menu_item_new_with_mnemonic (_("Custom"));
gtk_widget_show (custom2);
gtk_container_add (GTK_CONTAINER (sort_by1_menu), custom2);
@@ -682,6 +687,9 @@ create_mainwin (void)
g_signal_connect ((gpointer) date1, "activate",
G_CALLBACK (on_sort_by_date_activate),
NULL);
+ g_signal_connect ((gpointer) random1, "activate",
+ G_CALLBACK (on_sort_by_random_activate),
+ NULL);
g_signal_connect ((gpointer) custom2, "activate",
G_CALLBACK (on_sort_by_custom_activate),
NULL);
@@ -811,6 +819,7 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, album1, "album1");
GLADE_HOOKUP_OBJECT (mainwin, artist1, "artist1");
GLADE_HOOKUP_OBJECT (mainwin, date1, "date1");
+ GLADE_HOOKUP_OBJECT (mainwin, random1, "random1");
GLADE_HOOKUP_OBJECT (mainwin, custom2, "custom2");
GLADE_HOOKUP_OBJECT (mainwin, separator5, "separator5");
GLADE_HOOKUP_OBJECT (mainwin, preferences, "preferences");
@@ -1668,6 +1677,7 @@ create_prefwin (void)
GtkWidget *cli_playlist_name;
GtkWidget *resume_last_session;
GtkWidget *ignore_archives;
+ GtkWidget *reset_autostop;
GtkWidget *label39;
GtkWidget *vbox29;
GtkWidget *hbox80;
@@ -1948,6 +1958,10 @@ create_prefwin (void)
gtk_widget_show (ignore_archives);
gtk_box_pack_start (GTK_BOX (vbox8), ignore_archives, FALSE, FALSE, 0);
+ reset_autostop = gtk_check_button_new_with_mnemonic (_("Auto-reset \"Stop after current\""));
+ gtk_widget_show (reset_autostop);
+ gtk_box_pack_start (GTK_BOX (vbox8), reset_autostop, FALSE, FALSE, 0);
+
label39 = gtk_label_new (_("Playback"));
gtk_widget_show (label39);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), label39);
@@ -2582,6 +2596,9 @@ create_prefwin (void)
g_signal_connect ((gpointer) ignore_archives, "toggled",
G_CALLBACK (on_ignore_archives_toggled),
NULL);
+ g_signal_connect ((gpointer) reset_autostop, "toggled",
+ G_CALLBACK (on_reset_autostop_toggled),
+ NULL);
g_signal_connect ((gpointer) dsp_add, "clicked",
G_CALLBACK (on_dsp_add_clicked),
NULL);
@@ -2746,6 +2763,7 @@ create_prefwin (void)
GLADE_HOOKUP_OBJECT (prefwin, cli_playlist_name, "cli_playlist_name");
GLADE_HOOKUP_OBJECT (prefwin, resume_last_session, "resume_last_session");
GLADE_HOOKUP_OBJECT (prefwin, ignore_archives, "ignore_archives");
+ GLADE_HOOKUP_OBJECT (prefwin, reset_autostop, "reset_autostop");
GLADE_HOOKUP_OBJECT (prefwin, label39, "label39");
GLADE_HOOKUP_OBJECT (prefwin, vbox29, "vbox29");
GLADE_HOOKUP_OBJECT (prefwin, hbox80, "hbox80");
diff --git a/plugins/gtkui/mainplaylist.c b/plugins/gtkui/mainplaylist.c
index ceb61573..b781feaa 100644
--- a/plugins/gtkui/mainplaylist.c
+++ b/plugins/gtkui/mainplaylist.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/mainplaylist.h b/plugins/gtkui/mainplaylist.h
index 56a076c1..1b25ca6b 100644
--- a/plugins/gtkui/mainplaylist.h
+++ b/plugins/gtkui/mainplaylist.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/parser.c b/plugins/gtkui/parser.c
index 6ee81f9a..c49eeb72 100644
--- a/plugins/gtkui/parser.c
+++ b/plugins/gtkui/parser.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/parser.h b/plugins/gtkui/parser.h
index ac411577..b0f95169 100644
--- a/plugins/gtkui/parser.h
+++ b/plugins/gtkui/parser.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/plcommon.c b/plugins/gtkui/plcommon.c
index 64f45d6d..748bd90b 100644
--- a/plugins/gtkui/plcommon.c
+++ b/plugins/gtkui/plcommon.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -506,7 +506,7 @@ list_context_menu (DdbListview *listview, DdbListviewIter it, int idx) {
int count = 0;
for (action = actions; action; action = action->next)
{
- if (action->flags & DB_ACTION_COMMON)
+ if (action->flags & (DB_ACTION_COMMON | DB_ACTION_PLAYLIST))
continue;
// create submenus (separated with '/')
diff --git a/plugins/gtkui/plcommon.h b/plugins/gtkui/plcommon.h
index d0ebedad..f5c04e35 100644
--- a/plugins/gtkui/plcommon.h
+++ b/plugins/gtkui/plcommon.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/pluginconf.c b/plugins/gtkui/pluginconf.c
index 42070d4d..1f265372 100644
--- a/plugins/gtkui/pluginconf.c
+++ b/plugins/gtkui/pluginconf.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/pluginconf.h b/plugins/gtkui/pluginconf.h
index 102691aa..5a1c5895 100644
--- a/plugins/gtkui/pluginconf.h
+++ b/plugins/gtkui/pluginconf.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/prefwin.c b/plugins/gtkui/prefwin.c
index bfcc80c9..81bb49e1 100644
--- a/plugins/gtkui/prefwin.c
+++ b/plugins/gtkui/prefwin.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -533,6 +533,10 @@ on_preferences_activate (GtkMenuItem *menuitem,
// add from archives
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (w, "ignore_archives")), deadbeef->conf_get_int ("ignore_archives", 1));
+
+ // reset autostop
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (w, "reset_autostop")), deadbeef->conf_get_int ("playlist.stop_after_current_reset", 0));
+
// titlebar text
gtk_entry_set_text (GTK_ENTRY (lookup_widget (w, "titlebar_format_playing")), deadbeef->conf_get_str_fast ("gtkui.titlebar_playing", "%a - %t - DeaDBeeF-%V"));
gtk_entry_set_text (GTK_ENTRY (lookup_widget (w, "titlebar_format_stopped")), deadbeef->conf_get_str_fast ("gtkui.titlebar_stopped", "DeaDBeeF-%V"));
@@ -1361,6 +1365,13 @@ on_ignore_archives_toggled (GtkToggleButton *togglebutton,
deadbeef->conf_set_int ("ignore_archives", gtk_toggle_button_get_active (togglebutton));
}
+void
+on_reset_autostop_toggled (GtkToggleButton *togglebutton,
+ gpointer user_data)
+{
+ deadbeef->conf_set_int ("playlist.stop_after_current_reset", gtk_toggle_button_get_active (togglebutton));
+}
+
void
diff --git a/plugins/gtkui/progress.c b/plugins/gtkui/progress.c
index 359b0eae..98a6b461 100644
--- a/plugins/gtkui/progress.c
+++ b/plugins/gtkui/progress.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/progress.h b/plugins/gtkui/progress.h
index 86558106..97366565 100644
--- a/plugins/gtkui/progress.h
+++ b/plugins/gtkui/progress.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/search.c b/plugins/gtkui/search.c
index d3665bf3..87344e39 100644
--- a/plugins/gtkui/search.c
+++ b/plugins/gtkui/search.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/search.h b/plugins/gtkui/search.h
index 98216d5c..104bc24f 100644
--- a/plugins/gtkui/search.h
+++ b/plugins/gtkui/search.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/gtkui/support.c b/plugins/gtkui/support.c
index 82e22c73..1eef6efc 100644
--- a/plugins/gtkui/support.c
+++ b/plugins/gtkui/support.c
@@ -196,3 +196,26 @@ gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box) {
}
#endif
+
+#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
+void
+gtk_widget_set_allocation (GtkWidget *widget, const GtkAllocation *allocation) {
+ widget->allocation.x = (allocation)->x;
+ widget->allocation.y = (allocation)->y;
+ widget->allocation.width = (allocation)->width;
+ widget->allocation.height = (allocation)->height;
+}
+
+void
+gtk_widget_get_allocation (GtkWidget *widget, GtkAllocation *allocation) {
+ (allocation)->x = widget->allocation.x;
+ (allocation)->y = widget->allocation.y;
+ (allocation)->width = widget->allocation.width;
+ (allocation)->height = widget->allocation.height;
+}
+
+void
+gtk_widget_set_window(GtkWidget *widget, GdkWindow *window) {
+ widget->window = window;
+}
+#endif
diff --git a/plugins/gtkui/support.h b/plugins/gtkui/support.h
index 351878b3..00e31c0f 100644
--- a/plugins/gtkui/support.h
+++ b/plugins/gtkui/support.h
@@ -81,6 +81,11 @@ void
gtk_dialog_set_has_separator (GtkDialog *dlg, gboolean has);
#endif
+#if !GTK_CHECK_VERSION(2,20,0)
+#define gtk_widget_set_realized(widget, realized) {if (realized) GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_REALIZED);}
+#define gtk_widget_get_realized(widget) (GTK_WIDGET_REALIZED (widget))
+#endif
+
#if !GTK_CHECK_VERSION(2,22,0)
GdkDragAction
gdk_drag_context_get_selected_action (GdkDragContext *context);
@@ -99,4 +104,43 @@ void gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box, const gchar *t
gchar *gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);
#endif
+#if !GTK_CHECK_VERSION(2,14,0) || defined(ULTRA_COMPATIBLE)
+#define gtk_widget_get_window(widget) ((widget)->window)
+#define gtk_selection_data_get_target(data) (data->target)
+#define gtk_dialog_get_content_area(dialog) (dialog->vbox)
+#define gtk_dialog_get_action_area(dialog) (dialog->action_area)
+#define gtk_selection_data_get_data(data) (data->data)
+#define gtk_selection_data_get_length(data) (data->length)
+#define gtk_selection_data_get_format(data) (data->format)
+#define gtk_adjustment_get_lower(adj) (adj->lower)
+#define gtk_adjustment_get_upper(adj) (adj->upper)
+#endif
+
+#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
+#define gtk_widget_set_has_window(widget, has_window) \
+ if (has_window) GTK_WIDGET_UNSET_FLAGS (widget, GTK_NO_WINDOW); \
+ else GTK_WIDGET_SET_FLAGS (widget, GTK_NO_WINDOW);
+
+#define gtk_widget_get_visible(widget) (GTK_WIDGET_VISIBLE(widget))
+#define gtk_widget_get_has_window(widget) (!GTK_WIDGET_NO_WINDOW(widget))
+void gtk_widget_set_window(GtkWidget *widget, GdkWindow *window);
+#endif
+
+
+#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
+void gtk_widget_set_allocation (GtkWidget *widget,
+ const GtkAllocation *allocation);
+
+void gtk_widget_get_allocation (GtkWidget *widget,
+ GtkAllocation *allocation);
+
+#define gtk_widget_set_can_focus(widget, canfocus) {if (canfocus) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS);}
+
+#define gtk_widget_get_can_focus(widget) (GTK_WIDGET_CAN_FOCUS (widget));
+
+#define gtk_widget_set_can_default(widget, candefault) {if (candefault) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_DEFAULT);}
+
+#define gtk_widget_get_can_default(widget) (GTK_WIDGET_CAN_DEFAULT (widget));
+#endif
+
#endif
diff --git a/plugins/gtkui/tagwritersettings.c b/plugins/gtkui/tagwritersettings.c
index ede3d447..d7554bac 100644
--- a/plugins/gtkui/tagwritersettings.c
+++ b/plugins/gtkui/tagwritersettings.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/tagwritersettings.h b/plugins/gtkui/tagwritersettings.h
index a48aaacb..fedaa2ba 100644
--- a/plugins/gtkui/tagwritersettings.h
+++ b/plugins/gtkui/tagwritersettings.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/timeline.c b/plugins/gtkui/timeline.c
index 83fc7f0f..224d3671 100644
--- a/plugins/gtkui/timeline.c
+++ b/plugins/gtkui/timeline.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/timeline.h b/plugins/gtkui/timeline.h
index 4223a84b..dc4cc7f9 100644
--- a/plugins/gtkui/timeline.h
+++ b/plugins/gtkui/timeline.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/trkproperties.c b/plugins/gtkui/trkproperties.c
index 3601f48b..ff061cd9 100644
--- a/plugins/gtkui/trkproperties.c
+++ b/plugins/gtkui/trkproperties.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -491,6 +491,8 @@ write_finished_cb (void *ctx) {
main_refresh ();
search_refresh ();
trkproperties_modified = 0;
+ show_track_properties_dlg ();
+
return FALSE;
}
@@ -501,6 +503,7 @@ set_progress_cb (void *ctx) {
const char *fname = deadbeef->pl_find_meta_raw (track, ":URI");
gtk_entry_set_text (GTK_ENTRY (progressitem), fname);
deadbeef->pl_item_unref (track);
+ return FALSE;
}
static void
diff --git a/plugins/gtkui/trkproperties.h b/plugins/gtkui/trkproperties.h
index 3604cccc..ef1e530c 100644
--- a/plugins/gtkui/trkproperties.h
+++ b/plugins/gtkui/trkproperties.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/gtkui/wingeom.c b/plugins/gtkui/wingeom.c
index 47b6f960..cefd885c 100644
--- a/plugins/gtkui/wingeom.c
+++ b/plugins/gtkui/wingeom.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -23,6 +23,7 @@
#include "wingeom.h"
#include "../../deadbeef.h"
#include "gtkui.h"
+#include "support.h"
void
wingeom_save (GtkWidget *widget, const char *name) {
diff --git a/plugins/gtkui/wingeom.h b/plugins/gtkui/wingeom.h
index 9b468846..dcbb2c79 100644
--- a/plugins/gtkui/wingeom.h
+++ b/plugins/gtkui/wingeom.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/hotkeys/hotkeys.c b/plugins/hotkeys/hotkeys.c
index e1357df8..c7c1c1f3 100644
--- a/plugins/hotkeys/hotkeys.c
+++ b/plugins/hotkeys/hotkeys.c
@@ -514,7 +514,7 @@ static DB_plugin_action_t action_play = {
.title = "Play",
.name = "play",
.flags = DB_ACTION_COMMON,
- .callback = action_play_cb,
+ .callback = DDB_ACTION_CALLBACK (action_play_cb),
.next = NULL
};
@@ -522,7 +522,7 @@ static DB_plugin_action_t action_stop = {
.title = "Stop",
.name = "stop",
.flags = DB_ACTION_COMMON,
- .callback = action_stop_cb,
+ .callback = DDB_ACTION_CALLBACK(action_stop_cb),
.next = &action_play
};
@@ -530,7 +530,7 @@ static DB_plugin_action_t action_prev = {
.title = "Previous",
.name = "prev",
.flags = DB_ACTION_COMMON,
- .callback = action_prev_cb,
+ .callback = DDB_ACTION_CALLBACK(action_prev_cb),
.next = &action_stop
};
@@ -538,7 +538,7 @@ static DB_plugin_action_t action_next = {
.title = "Next",
.name = "next",
.flags = DB_ACTION_COMMON,
- .callback = action_next_cb,
+ .callback = DDB_ACTION_CALLBACK(action_next_cb),
.next = &action_prev
};
@@ -546,7 +546,7 @@ static DB_plugin_action_t action_toggle_pause = {
.title = "Toggle Pause",
.name = "toggle_pause",
.flags = DB_ACTION_COMMON,
- .callback = action_toggle_pause_cb,
+ .callback = DDB_ACTION_CALLBACK(action_toggle_pause_cb),
.next = &action_next
};
@@ -554,7 +554,7 @@ static DB_plugin_action_t action_play_pause = {
.title = "Play\\/Pause",
.name = "play_pause",
.flags = DB_ACTION_COMMON,
- .callback = action_play_pause_cb,
+ .callback = DDB_ACTION_CALLBACK(action_play_pause_cb),
.next = &action_toggle_pause
};
@@ -562,7 +562,7 @@ static DB_plugin_action_t action_play_random = {
.title = "Play Random",
.name = "playback_random",
.flags = DB_ACTION_COMMON,
- .callback = action_play_random_cb,
+ .callback = DDB_ACTION_CALLBACK(action_play_random_cb),
.next = &action_play_pause
};
@@ -570,7 +570,7 @@ static DB_plugin_action_t action_seek_forward = {
.title = "Seek Forward",
.name = "seek_fwd",
.flags = DB_ACTION_COMMON,
- .callback = action_seek_forward_cb,
+ .callback = DDB_ACTION_CALLBACK(action_seek_forward_cb),
.next = &action_play_random
};
@@ -578,7 +578,7 @@ static DB_plugin_action_t action_seek_backward = {
.title = "Seek Backward",
.name = "seek_back",
.flags = DB_ACTION_COMMON,
- .callback = action_seek_backward_cb,
+ .callback = DDB_ACTION_CALLBACK(action_seek_backward_cb),
.next = &action_seek_forward
};
@@ -586,7 +586,7 @@ static DB_plugin_action_t action_volume_up = {
.title = "Volume Up",
.name = "volume_up",
.flags = DB_ACTION_COMMON,
- .callback = action_volume_up_cb,
+ .callback = DDB_ACTION_CALLBACK(action_volume_up_cb),
.next = &action_seek_backward
};
@@ -594,7 +594,7 @@ static DB_plugin_action_t action_volume_down = {
.title = "Volume Down",
.name = "volume_down",
.flags = DB_ACTION_COMMON,
- .callback = action_volume_down_cb,
+ .callback = DDB_ACTION_CALLBACK(action_volume_down_cb),
.next = &action_volume_up
};
@@ -602,7 +602,7 @@ static DB_plugin_action_t action_toggle_stop_after_current = {
.title = "Toggle Stop After Current",
.name = "toggle_stop_after_current",
.flags = DB_ACTION_COMMON,
- .callback = action_toggle_stop_after_current_cb,
+ .callback = DDB_ACTION_CALLBACK(action_toggle_stop_after_current_cb),
.next = &action_volume_down
};
@@ -623,7 +623,7 @@ static DB_hotkeys_plugin_t plugin = {
.misc.plugin.name = "Global hotkeys support",
.misc.plugin.descr = "Allows one to control player with global hotkeys",
.misc.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"Copyright (C) 2009-2011 Viktor Semykin <thesame.ml@gmail.com>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
diff --git a/plugins/hotkeys/hotkeys.h b/plugins/hotkeys/hotkeys.h
index 010f0919..a86f357d 100644
--- a/plugins/hotkeys/hotkeys.h
+++ b/plugins/hotkeys/hotkeys.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/lastfm/lastfm.c b/plugins/lastfm/lastfm.c
index 17bc5a6b..8ab6c5f8 100644
--- a/plugins/lastfm/lastfm.c
+++ b/plugins/lastfm/lastfm.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -318,7 +318,30 @@ fail:
static int
lfm_fetch_song_info (DB_playItem_t *song, const char **a, const char **t, const char **b, float *l, const char **n, const char **m) {
- *a = deadbeef->pl_find_meta (song, "artist");
+ if (deadbeef->conf_get_int ("lastfm.prefer_album_artist", 0)) {
+ *a = deadbeef->pl_find_meta (song, "band");
+ if (!(*a)) {
+ *a = deadbeef->pl_find_meta (song, "album artist");
+ }
+ if (!(*a)) {
+ *a = deadbeef->pl_find_meta (song, "albumartist");
+ }
+ if (!(*a)) {
+ *a = deadbeef->pl_find_meta (song, "artist");
+ }
+ }
+ else {
+ *a = deadbeef->pl_find_meta (song, "artist");
+ if (!(*a)) {
+ *a = deadbeef->pl_find_meta (song, "band");
+ }
+ if (!(*a)) {
+ *a = deadbeef->pl_find_meta (song, "album artist");
+ }
+ if (!(*a)) {
+ *a = deadbeef->pl_find_meta (song, "albumartist");
+ }
+ }
if (!*a) {
return -1;
}
@@ -822,10 +845,9 @@ lfm_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) {
static int
lastfm_start (void) {
- lfm_sess[0] = 0;
- lfm_mutex = 0;
- lfm_cond = 9;
- lfm_tid = 0;
+ if (lfm_mutex) {
+ return -1;
+ }
lfm_stopthread = 0;
lfm_mutex = deadbeef->mutex_create_nonrecursive ();
lfm_cond = deadbeef->cond_create ();
@@ -874,19 +896,21 @@ lfm_action_lookup (DB_plugin_action_t *action, DB_playItem_t *it)
return 0;
system (command);
free (command);
+ return 0;
}
static int
lfm_action_love (DB_plugin_action_t *act, DB_playItem_t *it)
{
printf ("Love starts here\n");
+ return 0;
}
static DB_plugin_action_t love_action = {
.title = "Love at Last.fm",
.name = "lfm_love",
.flags = DB_ACTION_SINGLE_TRACK,
- .callback = lfm_action_love,
+ .callback = DDB_ACTION_CALLBACK(lfm_action_love),
.next = NULL
};
@@ -894,7 +918,7 @@ static DB_plugin_action_t lookup_action = {
.title = "Lookup on Last.fm",
.name = "lfm_lookup",
.flags = DB_ACTION_SINGLE_TRACK,
- .callback = lfm_action_lookup,
+ .callback = DDB_ACTION_CALLBACK (lfm_action_lookup),
.next = NULL// &love_action
};
@@ -922,6 +946,7 @@ static const char settings_dlg[] =
"property Username entry lastfm.login \"\";\n"
"property Password password lastfm.password \"\";"
"property \"Scrobble URL\" entry lastfm.scrobbler_url \""SCROBBLER_URL_LFM"\";"
+ "property \"Prefer Album Artist over Artist field\" checkbox lastfm.prefer_album_artist 0;"
;
// define plugin interface
@@ -933,8 +958,8 @@ static DB_misc_t plugin = {
.plugin.type = DB_PLUGIN_MISC,
.plugin.name = "last.fm scrobbler",
.plugin.descr = "Sends played songs information to your last.fm account, or other service that use AudioScrobbler protocol",
- .plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ .plugin.copyright =
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/m3u/Makefile.am b/plugins/m3u/Makefile.am
index e77663c6..fdb61527 100644
--- a/plugins/m3u/Makefile.am
+++ b/plugins/m3u/Makefile.am
@@ -3,7 +3,7 @@ pkglib_LTLIBRARIES = m3u.la
m3u_la_SOURCES = m3u.c
-m3u_la_LDFLAGS = -module
+m3u_la_LDFLAGS = -module -lm
m3u_la_LIBADD = $(LIBADD)
diff --git a/plugins/m3u/m3u.c b/plugins/m3u/m3u.c
index f19a674c..8097698c 100644
--- a/plugins/m3u/m3u.c
+++ b/plugins/m3u/m3u.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -19,7 +19,7 @@
#include <string.h>
#include <stdlib.h>
-#include <math.h>
+#include <math.h> // for ceil
#include "../../deadbeef.h"
//#define trace(...) { fprintf(stderr, __VA_ARGS__); }
@@ -94,7 +94,34 @@ load_m3u (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname, int *pab
uint8_t nm[n+1];
memcpy (nm, p, n);
nm[n] = 0;
- sscanf (nm, "%d,%1000s - %1000s", &length, artist, title);
+ length = atoi (nm);
+ char *c = nm;
+ while (*c && *c != ',') {
+ c++;
+ }
+ if (*c == ',') {
+ c++;
+ const char *dash = NULL;
+ const char *newdash = strstr (c, " - ");
+
+ while (newdash) {
+ dash = newdash;
+ newdash = strstr (newdash+3, " - ");
+ }
+
+ if (dash) {
+ strncpy (title, dash+3, sizeof (title)-1);
+ title[sizeof(title)-1] = 0;
+ int l = dash - c;
+ strncpy (artist, c, min(l, sizeof (artist)));
+ artist[sizeof(artist)-1] = 0;
+ }
+ else {
+ strncpy (title, c, sizeof (title)-1);
+ title[sizeof(title)-1] = 0;
+ }
+ trace ("title: %s, artist: %s\n", title, artist);
+ }
}
}
while (p < end && *p >= 0x20) {
@@ -114,21 +141,42 @@ load_m3u (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname, int *pab
memcpy (nm, p, n);
nm[n] = 0;
+ if (title[0]) {
+ const char *cs = deadbeef->junk_detect_charset (title);
+ if (cs) {
+ char tmp[2048];
+ if (deadbeef->junk_iconv (title, strlen (title), tmp, sizeof (tmp), cs, "utf-8") >= 0) {
+ strcpy (title, tmp);
+ }
+ }
+ }
+ if (artist[0]) {
+ const char *cs = deadbeef->junk_detect_charset (artist);
+ if (cs) {
+ char tmp[2048];
+ if (deadbeef->junk_iconv (artist, strlen (artist), tmp, sizeof (tmp), cs, "utf-8") >= 0) {
+ strcpy (artist, tmp);
+ }
+ }
+ }
+
DB_playItem_t *it = NULL;
if (strrchr (nm, '/')) {
trace ("pl_insert_m3u: adding file %s\n", nm);
it = deadbeef->plt_insert_file (plt, after, nm, pabort, cb, user_data);
- if (length >= 0) {
- deadbeef->plt_set_item_duration (plt, it, length);
- }
- if (title[0]) {
- deadbeef->pl_replace_meta (it, "title", title);
- }
- else if (artist[0]) {
- deadbeef->pl_replace_meta (it, "title", " ");
- }
- if (artist[0]) {
- deadbeef->pl_replace_meta (it, "artist", artist);
+ if (it) {
+ if (length >= 0) {
+ deadbeef->plt_set_item_duration (plt, it, length);
+ }
+ if (title[0]) {
+ deadbeef->pl_replace_meta (it, "title", title);
+ }
+ else if (artist[0]) {
+ deadbeef->pl_replace_meta (it, "title", " ");
+ }
+ if (artist[0]) {
+ deadbeef->pl_replace_meta (it, "artist", artist);
+ }
}
}
else {
@@ -179,11 +227,13 @@ pls_insert_file (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname, c
trace ("pls_insert_file: adding file %s\n", fullpath);
it = deadbeef->plt_insert_file (plt, after, fullpath, pabort, cb, user_data);
}
- if (length[0]) {
- deadbeef->plt_set_item_duration (plt, it, atoi (length));
- }
- if (title[0]) {
- deadbeef->pl_replace_meta (it, "title", title);
+ if (it) {
+ if (length[0]) {
+ deadbeef->plt_set_item_duration (plt, it, atoi (length));
+ }
+ if (title[0]) {
+ deadbeef->pl_replace_meta (it, "title", title);
+ }
}
return it;
}
@@ -389,7 +439,11 @@ m3uplug_load (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname, int
}
DB_playItem_t *ret = NULL;
+
+ int tried_pls = 0;
+
if (ext && !strcasecmp (ext, "pls")) {
+ tried_pls = 1;
ret = load_pls (plt, after, fname, pabort, cb, user_data);
}
@@ -397,6 +451,10 @@ m3uplug_load (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname, int
ret = load_m3u (plt, after, fname, pabort, cb, user_data);
}
+ if (!ret && !tried_pls) {
+ ret = load_pls (plt, after, fname, pabort, cb, user_data);
+ }
+
return ret;
}
@@ -408,11 +466,16 @@ m3uplug_save_m3u (const char *fname, DB_playItem_t *first, DB_playItem_t *last)
}
DB_playItem_t *it = first;
deadbeef->pl_item_ref (it);
- fprintf (fp, "#M3UEXT\n");
+ fprintf (fp, "#EXTM3U\n");
while (it) {
int dur = (int)ceil(deadbeef->pl_get_item_duration (it));
char s[1000];
- deadbeef->pl_format_title (it, -1, s, sizeof (s), -1, "%a - %t");
+ if (deadbeef->pl_find_meta (it, "artist")) {
+ deadbeef->pl_format_title (it, -1, s, sizeof (s), -1, "%a - %t");
+ }
+ else {
+ deadbeef->pl_format_title (it, -1, s, sizeof (s), -1, "%t");
+ }
const char *fname = deadbeef->pl_find_meta (it, ":URI");
fprintf (fp, "#EXTINF:%d,%s\n", dur, s);
fprintf (fp, "%s\n", fname);
@@ -496,7 +559,7 @@ DB_playlist_t plugin = {
.plugin.name = "M3U and PLS support",
.plugin.descr = "Importing and exporting M3U and PLS formats\nRecognizes .pls, .m3u and .m3u8 file types\n\nNOTE: only utf8 file names are currently supported",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/mms/libmms/bswap.h b/plugins/mms/libmms/bswap.h
index 7fe6db62..b9be433d 100644
--- a/plugins/mms/libmms/bswap.h
+++ b/plugins/mms/libmms/bswap.h
@@ -31,33 +31,33 @@
/* Basic bit swapping functions
*/
-#define GUINT16_SWAP_LE_BE_CONSTANT(val) ((guint16) ( \
- (guint16) ((guint16) (val) >> 8) | \
- (guint16) ((guint16) (val) << 8)))
+#define GUINT16_SWAP_LE_BE_CONSTANT(val) ((uint16_t) ( \
+ (uint16_t) ((uint16_t) (val) >> 8) | \
+ (uint16_t) ((uint16_t) (val) << 8)))
-#define GUINT32_SWAP_LE_BE_CONSTANT(val) ((guint32) ( \
- (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \
- (((guint32) (val) & (guint32) 0x0000ff00U) << 8) | \
- (((guint32) (val) & (guint32) 0x00ff0000U) >> 8) | \
- (((guint32) (val) & (guint32) 0xff000000U) >> 24)))
+#define GUINT32_SWAP_LE_BE_CONSTANT(val) ((uint32_t) ( \
+ (((uint32_t) (val) & (uint32_t) 0x000000ffU) << 24) | \
+ (((uint32_t) (val) & (uint32_t) 0x0000ff00U) << 8) | \
+ (((uint32_t) (val) & (uint32_t) 0x00ff0000U) >> 8) | \
+ (((uint32_t) (val) & (uint32_t) 0xff000000U) >> 24)))
-#define GUINT64_SWAP_LE_BE_CONSTANT(val) ((guint64) ( \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x00000000000000ffU)) << 56) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x0000000000ff0000U)) << 24) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x00000000ff000000U)) << 8) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x000000ff00000000U)) >> 8) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x0000ff0000000000U)) >> 24) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) | \
- (((guint64) (val) & \
- (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) >> 56)))
+#define GUINT64_SWAP_LE_BE_CONSTANT(val) ((uint64_t) ( \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x00000000000000ffU)) << 56) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x0000000000ff0000U)) << 24) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x00000000ff000000U)) << 8) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x000000ff00000000U)) >> 8) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x0000ff0000000000U)) >> 24) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) | \
+ (((uint64_t) (val) & \
+ (uint64_t) G_GINT64_CONSTANT (0xff00000000000000U)) >> 56)))
/* Arch specific stuff for speed
*/
@@ -65,7 +65,7 @@
# if defined (__i386__)
# define GUINT16_SWAP_LE_BE_IA32(val) \
(__extension__ \
- ({ register guint16 __v, __x = ((guint16) (val)); \
+ ({ register uint16_t __v, __x = ((uint16_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT16_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -79,7 +79,7 @@
&& !defined (__pentiumpro__) && !defined (__pentium4__)
# define GUINT32_SWAP_LE_BE_IA32(val) \
(__extension__ \
- ({ register guint32 __v, __x = ((guint32) (val)); \
+ ({ register uint32_t __v, __x = ((uint32_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -93,7 +93,7 @@
# else /* 486 and higher has bswap */
# define GUINT32_SWAP_LE_BE_IA32(val) \
(__extension__ \
- ({ register guint32 __v, __x = ((guint32) (val)); \
+ ({ register uint32_t __v, __x = ((uint32_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -104,9 +104,9 @@
# endif /* processor specific 32-bit stuff */
# define GUINT64_SWAP_LE_BE_IA32(val) \
(__extension__ \
- ({ union { guint64 __ll; \
- guint32 __l[2]; } __w, __r; \
- __w.__ll = ((guint64) (val)); \
+ ({ union { uint64_t __ll; \
+ uint32_t __l[2]; } __w, __r; \
+ __w.__ll = ((uint64_t) (val)); \
if (__builtin_constant_p (__w.__ll)) \
__r.__ll = GUINT64_SWAP_LE_BE_CONSTANT (__w.__ll); \
else \
@@ -122,7 +122,7 @@
# elif defined (__ia64__)
# define GUINT16_SWAP_LE_BE_IA64(val) \
(__extension__ \
- ({ register guint16 __v, __x = ((guint16) (val)); \
+ ({ register uint16_t __v, __x = ((uint16_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT16_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -133,7 +133,7 @@
__v; }))
# define GUINT32_SWAP_LE_BE_IA64(val) \
(__extension__ \
- ({ register guint32 __v, __x = ((guint32) (val)); \
+ ({ register uint32_t __v, __x = ((uint32_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -144,7 +144,7 @@
__v; }))
# define GUINT64_SWAP_LE_BE_IA64(val) \
(__extension__ \
- ({ register guint64 __v, __x = ((guint64) (val)); \
+ ({ register uint64_t __v, __x = ((uint64_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT64_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -158,7 +158,7 @@
# elif defined (__x86_64__)
# define GUINT32_SWAP_LE_BE_X86_64(val) \
(__extension__ \
- ({ register guint32 __v, __x = ((guint32) (val)); \
+ ({ register uint32_t __v, __x = ((uint32_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -168,7 +168,7 @@
__v; }))
# define GUINT64_SWAP_LE_BE_X86_64(val) \
(__extension__ \
- ({ register guint64 __v, __x = ((guint64) (val)); \
+ ({ register uint64_t __v, __x = ((uint64_t) (val)); \
if (__builtin_constant_p (__x)) \
__v = GUINT64_SWAP_LE_BE_CONSTANT (__x); \
else \
@@ -191,14 +191,14 @@
# define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
#endif /* generic */
-#define GUINT16_SWAP_LE_PDP(val) ((guint16) (val))
+#define GUINT16_SWAP_LE_PDP(val) ((uint16_t) (val))
#define GUINT16_SWAP_BE_PDP(val) (GUINT16_SWAP_LE_BE (val))
-#define GUINT32_SWAP_LE_PDP(val) ((guint32) ( \
- (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \
- (((guint32) (val) & (guint32) 0xffff0000U) >> 16)))
-#define GUINT32_SWAP_BE_PDP(val) ((guint32) ( \
- (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) | \
- (((guint32) (val) & (guint32) 0xff00ff00U) >> 8)))
+#define GUINT32_SWAP_LE_PDP(val) ((uint32_t) ( \
+ (((uint32_t) (val) & (uint32_t) 0x0000ffffU) << 16) | \
+ (((uint32_t) (val) & (uint32_t) 0xffff0000U) >> 16)))
+#define GUINT32_SWAP_BE_PDP(val) ((uint32_t) ( \
+ (((uint32_t) (val) & (uint32_t) 0x00ff00ffU) << 8) | \
+ (((uint32_t) (val) & (uint32_t) 0xff00ff00U) >> 8)))
/* The G*_TO_?E() macros are defined in glibconfig.h.
diff --git a/plugins/mms/mmsplug.c b/plugins/mms/mmsplug.c
index 324efdc5..94d0ed3c 100644
--- a/plugins/mms/mmsplug.c
+++ b/plugins/mms/mmsplug.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -127,7 +127,7 @@ static DB_vfs_t plugin = {
.plugin.name = "mms vfs",
.plugin.descr = "MMS streaming plugin based on libmms",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified libmms-0.6.0, http://sourceforge.net/projects/libmms/\n"
"\n"
diff --git a/plugins/mono2stereo/mono2stereo.c b/plugins/mono2stereo/mono2stereo.c
index 66168bed..d6e286a4 100644
--- a/plugins/mono2stereo/mono2stereo.c
+++ b/plugins/mono2stereo/mono2stereo.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -144,7 +144,7 @@ static DB_dsp_t plugin = {
.plugin.name = "Mono to stereo",
.plugin.descr = "DSP plugin to convert mono to stereo",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/mpgmad/mpgmad.c b/plugins/mpgmad/mpgmad.c
index 041386a2..487219e2 100644
--- a/plugins/mpgmad/mpgmad.c
+++ b/plugins/mpgmad/mpgmad.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -1451,7 +1451,7 @@ static DB_decoder_t plugin = {
.plugin.name = "MPEG decoder",
.plugin.descr = "MPEG v1/2 layer1/2/3 decoder based on libmad",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/musepack/musepack.c b/plugins/musepack/musepack.c
index 8144ac52..69f0455a 100644
--- a/plugins/musepack/musepack.c
+++ b/plugins/musepack/musepack.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -534,7 +534,7 @@ static DB_decoder_t plugin = {
.plugin.name = "MusePack decoder",
.plugin.descr = "Musepack decoder using libmppdec",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses Musepack SV8 libs (r435), (C) 2005-2009, The Musepack Development Team\n"
"\n"
diff --git a/plugins/notify/notify.c b/plugins/notify/notify.c
index 50157921..905b65e0 100644
--- a/plugins/notify/notify.c
+++ b/plugins/notify/notify.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -333,7 +333,7 @@ DB_misc_t plugin = {
.plugin.name = "OSD Notify",
.plugin.descr = "Displays notifications when new track starts.\nRequires dbus and notification daemon to be running.\nNotification daemon should be provided by your desktop environment.\n",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/nullout/nullout.c b/plugins/nullout/nullout.c
index 48fcb5af..65e0273f 100644
--- a/plugins/nullout/nullout.c
+++ b/plugins/nullout/nullout.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -199,7 +199,7 @@ static DB_output_t plugin = {
.plugin.name = "null output plugin",
.plugin.descr = "doesn't play anything",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/oss/oss.c b/plugins/oss/oss.c
index b263aa17..6a747a2f 100644
--- a/plugins/oss/oss.c
+++ b/plugins/oss/oss.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -382,7 +382,7 @@ static DB_output_t plugin = {
.plugin.name = "OSS output plugin",
.plugin.descr = "plays sound via OSS API",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/pulse/pulse.c b/plugins/pulse/pulse.c
index 76baf98c..e8863094 100644
--- a/plugins/pulse/pulse.c
+++ b/plugins/pulse/pulse.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -367,7 +367,7 @@ static DB_output_t plugin =
.plugin.descr = "At the moment of this writing, PulseAudio seems to be very unstable in many (or most) GNU/Linux distributions.\nIf you experience problems - please try switching to ALSA or OSS output.\nIf that doesn't help - please uninstall PulseAudio from your system, and try ALSA or OSS again.\nThanks for understanding",
.plugin.copyright =
"Copyright (C) 2011 Jan D. Behrens <zykure@web.de>\n"
- "Copyright (C) 2010-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2010-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"Copyright (C) 2010 Anton Novikov <tonn.post@gmail.com>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
diff --git a/plugins/shellexec/shellexec.c b/plugins/shellexec/shellexec.c
index 76d31e34..b73299f9 100644
--- a/plugins/shellexec/shellexec.c
+++ b/plugins/shellexec/shellexec.c
@@ -1,7 +1,9 @@
/*
Shellexec plugin for DeaDBeeF
- Copyright (C) 2010-2011 Alexey Yakovenko <waker@users.sf.net>
- Copyright (C) 2010 Viktor Semykin <thesame.ml@gmail.com>
+ Copyright (C) 2010-2012 Deadbeef team
+ Original developer Viktor Semykin <thesame.ml@gmail.com>
+ Maintainance, minor improvements Alexey Yakovenko <waker@users.sf.net>
+ GUI support and bugfixing Azeem Arshad <kr00r4n@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,9 +34,11 @@
configuration
@flags comma-separated of command flags, allowed flags are:
- single - command allowed only for single track
- local - command allowed only for local files
- remote - command allowed only for non-local files
+ single - command allowed for single track
+ multiple - command allowerd for multiple tracks
+ local - command allowed for local files
+ remote - command allowed for non-local files
+ playlist - command allowed for playlist tabs
disabled - ignore command
*/
#ifdef HAVE_CONFIG_H
@@ -45,28 +49,15 @@
#include <stdlib.h>
#include <limits.h>
-#include "../../deadbeef.h"
+#include <deadbeef/deadbeef.h>
+#include "shellexec.h"
//#define trace(...) { fprintf(stderr, __VA_ARGS__); }
#define trace(fmt,...)
-static DB_misc_t plugin;
+static Shx_plugin_t plugin;
static DB_functions_t *deadbeef;
-//Probably it's reasonable to move these flags to parent struct
-enum {
- SHX_ACTION_LOCAL_ONLY = 1 << 0,
- SHX_ACTION_REMOTE_ONLY = 1 << 1
-};
-
-typedef struct Shx_action_s
-{
- DB_plugin_action_t parent;
-
- const char *shcommand;
- uint32_t shx_flags;
-} Shx_action_t;
-
static Shx_action_t *actions;
DB_plugin_t *
@@ -105,15 +96,15 @@ shx_callback (Shx_action_t *action, DB_playItem_t *it)
}
static DB_plugin_action_t *
-shx_get_actions (DB_playItem_t *it)
+shx_get_plugin_actions (DB_playItem_t *it)
{
int is_local = it ? deadbeef->is_local_file (deadbeef->pl_find_meta (it, ":URI")) : 1;
Shx_action_t *action;
for (action = actions; action; action = (Shx_action_t *)action->parent.next)
{
- if (((action->shx_flags & SHX_ACTION_LOCAL_ONLY) && !is_local) ||
- ((action->shx_flags & SHX_ACTION_REMOTE_ONLY) && is_local))
+ if ((!(action->shx_flags & SHX_ACTION_LOCAL_ONLY) && is_local) ||
+ (!(action->shx_flags & SHX_ACTION_REMOTE_ONLY) && !is_local))
action->parent.flags |= DB_ACTION_DISABLED;
else
action->parent.flags &= ~DB_ACTION_DISABLED;
@@ -121,18 +112,74 @@ shx_get_actions (DB_playItem_t *it)
return (DB_plugin_action_t *)actions;
}
-static int
-shx_start ()
+static char *
+shx_find_sep (char *str) {
+ while (*str && *str != ':') {
+ if (*str == '"') {
+ str++;
+ while (*str && *str !='"') {
+ str++;
+ }
+ }
+ str++;
+ }
+ return str;
+}
+
+void
+shx_save_actions(Shx_action_t *action_list)
{
- actions = NULL;
- Shx_action_t *prev = NULL;
+ deadbeef->conf_remove_items("shellexec.");
+ Shx_action_t *action = action_list;
+ int i = 0;
+ while(action) {
+ // build config line
+ // format- shellexec.NN shcmd:title:name:flags
+ size_t conf_line_length = 100 +
+ strlen(action->shcommand) + 1 +
+ strlen(action->parent.title) + 1 +
+ strlen(action->parent.name) + 1;
+ char conf_line[conf_line_length];
+ char conf_key[50];
+ sprintf(conf_key, "shellexec.%d", i);
+ sprintf(conf_line, "%s:%s:%s:", action->shcommand,
+ action->parent.title,
+ action->parent.name);
+ if(action->shx_flags & SHX_ACTION_REMOTE_ONLY) {
+ strcat(conf_line, "remote,");
+ }
+ if(action->shx_flags & SHX_ACTION_LOCAL_ONLY) {
+ strcat(conf_line, "local,");
+ }
+ if(action->parent.flags & DB_ACTION_PLAYLIST) {
+ strcat(conf_line, "playlist,");
+ }
+ if(action->parent.flags & DB_ACTION_SINGLE_TRACK) {
+ strcat(conf_line, "single,");
+ }
+ if(action->parent.flags & DB_ACTION_ALLOW_MULTIPLE_TRACKS) {
+ strcat(conf_line, "multiple,");
+ }
+ if(action->parent.flags & DB_ACTION_DISABLED) {
+ strcat(conf_line, "disabled,");
+ }
+ deadbeef->conf_set_str(conf_key, conf_line);
+ action = (Shx_action_t*)action->parent.next;
+ i++;
+ }
+ deadbeef->conf_save();
+}
+Shx_action_t*
+shx_get_actions (DB_plugin_action_callback_t callback, int omit_disabled)
+{
+ Shx_action_t *action_list = NULL;
+ Shx_action_t *prev = NULL;
DB_conf_item_t *item = deadbeef->conf_find ("shellexec.", NULL);
while (item)
{
size_t l = strlen (item->value) + 1;
char tmp[l];
- char *tmpptr;
strcpy (tmp, item->value);
trace ("Shellexec: %s\n", tmp);
@@ -141,7 +188,7 @@ shx_start ()
int idx = 0;
char *p = tmp;
while (idx < 4 && p) {
- char *e = strchr (p, ':');
+ char *e = shx_find_sep (p);
args[idx++] = p;
if (!e) {
break;
@@ -164,19 +211,20 @@ shx_start ()
name = "noname";
}
if (!flags) {
- flags = "local";
+ flags = "local,single";
}
- if (strstr (flags, "disabled"))
+ if (strstr (flags, "disabled") && omit_disabled) {
+ item = deadbeef->conf_find ("shellexec.", item);
continue;
+ }
Shx_action_t *action = calloc (sizeof (Shx_action_t), 1);
action->parent.title = strdup (title);
action->parent.name = strdup (name);
action->shcommand = strdup (command);
- action->parent.callback = (DB_plugin_action_callback_t)shx_callback;
- action->parent.flags = DB_ACTION_SINGLE_TRACK;
+ action->parent.callback = callback;
action->parent.next = NULL;
action->shx_flags = 0;
@@ -187,49 +235,53 @@ shx_start ()
if (strstr (flags, "remote"))
action->shx_flags |= SHX_ACTION_REMOTE_ONLY;
- if (0 == strstr (flags, "single"))
+ if (strstr (flags, "single"))
+ action->parent.flags |= DB_ACTION_SINGLE_TRACK;
+
+ if (strstr (flags, "multiple"))
action->parent.flags |= DB_ACTION_ALLOW_MULTIPLE_TRACKS;
+ if (strstr (flags, "playlist"))
+ action->parent.flags |= DB_ACTION_PLAYLIST;
+
+ if (strstr (flags, "disabled")) {
+ action->parent.flags |= DB_ACTION_DISABLED;
+ }
+
if (prev)
prev->parent.next = (DB_plugin_action_t *)action;
prev = action;
- if (!actions)
- actions = action;
+ if (!action_list)
+ action_list = action;
item = deadbeef->conf_find ("shellexec.", item);
}
+ return action_list;
+}
+
+static int
+shx_start ()
+{
+ actions = shx_get_actions((DB_plugin_action_callback_t)shx_callback, 1);
return 0;
}
// define plugin interface
-static DB_misc_t plugin = {
- .plugin.api_vmajor = 1,
- .plugin.api_vminor = 0,
- .plugin.version_major = 1,
- .plugin.version_minor = 0,
- .plugin.type = DB_PLUGIN_MISC,
- .plugin.id = "shellexec",
- .plugin.name = "Shell commands",
- .plugin.descr = "Executes configurable shell commands for tracks\n"
- "This plugin doesn't have GUI configuration yet. Please setup manually in config file\n"
- "Syntax:\n"
- "shellexec.NN shcmd:title:name:flags\n\n"
- "NN is any (unique) number, e.g. 01, 02, 03, etc\n\n"
- "shcmd is the command to execute, supports title formatting\n\n"
- "title is the name of command displayed in UI (context menu)\n\n"
- "name used for referencing commands from other plugins, e.g hotkeys\n\n"
- "flags are comma-separated list of items, allowed items are:\n"
- " single - command allowed only for single track\n"
- " local - command allowed only for local files\n"
- " remote - command allowed only for non-local files\n"
- " disabled - ignore command\n\n"
- "EXAMPLE: shellexec.00 notify-send \"%a - %t\":Show selected track:notify:singe\n"
- "this would show the name of selected track in notification popup"
- ,
- .plugin.copyright =
- "Copyright (C) 2010-2011 Alexey Yakovenko <waker@users.sf.net>\n"
- "Copyright (C) 2010 Viktor Semykin <thesame.ml@gmail.com>\n"
+static Shx_plugin_t plugin = {
+ .misc.plugin.api_vmajor = 1,
+ .misc.plugin.api_vminor = 0,
+ .misc.plugin.version_major = 1,
+ .misc.plugin.version_minor = 1,
+ .misc.plugin.type = DB_PLUGIN_MISC,
+ .misc.plugin.id = "shellexec",
+ .misc.plugin.name = "Shell commands",
+ .misc.plugin.descr = "Executes configurable shell commands for tracks and playlists",
+ .misc.plugin.copyright =
+ "Copyright (C) 2010-2012 Deadbeef team\n"
+ "Original developer Viktor Semykin <thesame.ml@gmail.com>\n"
+ "Maintainance, minor improvements Alexey Yakovenko <waker@users.sf.net>\n"
+ "GUI support and bugfixing Azeem Arshad <kr00r4n@gmail.com>"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
@@ -245,8 +297,10 @@ static DB_misc_t plugin = {
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
,
- .plugin.website = "http://deadbeef.sf.net",
- .plugin.start = shx_start,
- .plugin.get_actions = shx_get_actions
+ .misc.plugin.website = "http://deadbeef.sf.net",
+ .misc.plugin.start = shx_start,
+ .misc.plugin.get_actions = shx_get_plugin_actions,
+ .shx_get_actions = shx_get_actions,
+ .shx_save_actions = shx_save_actions
};
diff --git a/plugins/shellexec/shellexec.h b/plugins/shellexec/shellexec.h
new file mode 100644
index 00000000..08fc2279
--- /dev/null
+++ b/plugins/shellexec/shellexec.h
@@ -0,0 +1,49 @@
+/*
+ Shellexec plugin for DeaDBeeF
+ Copyright (C) 2010-2012 Deadbeef team
+ Original developer Viktor Semykin <thesame.ml@gmail.com>
+ Maintainance, minor improvements Alexey Yakovenko <waker@users.sf.net>
+ GUI support and bugfixing Azeem Arshad <kr00r4n@gmail.com>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef __SHELLEXEC_H
+#define __SHELLEXEC_H
+
+#include <deadbeef/deadbeef.h>
+
+//Probably it's reasonable to move these flags to parent struct
+enum {
+ SHX_ACTION_LOCAL_ONLY = 1 << 0,
+ SHX_ACTION_REMOTE_ONLY = 1 << 1
+};
+
+typedef struct Shx_action_s
+{
+ DB_plugin_action_t parent;
+
+ const char *shcommand;
+ uint32_t shx_flags;
+} Shx_action_t;
+
+typedef struct Shx_plugin_s
+{
+ DB_misc_t misc;
+ Shx_action_t *
+ (*shx_get_actions)(DB_plugin_action_callback_t callback, int omit_disabled);
+ void
+ (*shx_save_actions)(Shx_action_t *action_list);
+} Shx_plugin_t;
+
+#endif
diff --git a/plugins/shn/shn.c b/plugins/shn/shn.c
index c9d4acaf..da69866b 100644
--- a/plugins/shn/shn.c
+++ b/plugins/shn/shn.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -1804,7 +1804,7 @@ static DB_decoder_t plugin = {
.plugin.name = "Shorten player",
.plugin.descr = "decodes shn files",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Based on xmms-shn, http://www.etree.org/shnutils/xmms-shn/\n"
"Copyright (C) 2000-2007 Jason Jordan <shnutils@freeshell.org>\n"
diff --git a/plugins/sid/csid.cpp b/plugins/sid/csid.cpp
index 24e812ff..2bb5b84e 100644
--- a/plugins/sid/csid.cpp
+++ b/plugins/sid/csid.cpp
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/sid/csid.h b/plugins/sid/csid.h
index e40f8c69..39988f2d 100644
--- a/plugins/sid/csid.h
+++ b/plugins/sid/csid.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/plugins/sid/plugin.c b/plugins/sid/plugin.c
index 772b37a9..56223ec9 100644
--- a/plugins/sid/plugin.c
+++ b/plugins/sid/plugin.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -38,7 +38,7 @@ DB_decoder_t sid_plugin = {
.plugin.id = "sidplay2",
.plugin.descr = "SID player based on libsidplay2",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified libsidplay2-2.1.0\n"
"Commodore 64 SID emulation library\n"
diff --git a/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i b/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
index 22794e0f..c1aa0559 100644
--- a/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
+++ b/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
@@ -2349,7 +2349,7 @@ MOS6510::MOS6510 (EventContext *context)
# ifdef HAVE_EXCEPTIONS
instr->cycle = new(std::nothrow) (void (MOS6510::*[cycleCount]) (void));
# else
- instr->cycle = new (void (MOS6510::*[cycleCount]) (void));
+ instr->cycle = new (void (MOS6510::*[(int)cycleCount]) (void));
# endif
#endif // _MSC_VER
if (!instr->cycle)
@@ -2441,7 +2441,7 @@ MOS6510::MOS6510 (EventContext *context)
# ifdef HAVE_EXCEPTIONS
instr->cycle = new(std::nothrow) (void (MOS6510::*[cycleCount]) (void));
# else
- instr->cycle = new (void (MOS6510::*[cycleCount]) (void));
+ instr->cycle = new (void (MOS6510::*[(int)cycleCount]) (void));
# endif
#endif // _MSC_VER
if (!instr->cycle)
diff --git a/plugins/sndfile/sndfile.c b/plugins/sndfile/sndfile.c
index eae39b86..071dffdb 100644
--- a/plugins/sndfile/sndfile.c
+++ b/plugins/sndfile/sndfile.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -196,7 +196,7 @@ sndfile_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
default:
info->read_as_short = 1;
_info->fmt.bps = 16;
- fprintf (stderr, "[sndfile] unidentified input format: 0x%X\n", inf.format&0x000f);
+ trace ("[sndfile] unidentified input format: 0x%X\n", inf.format&0x000f);
break;
}
@@ -325,7 +325,7 @@ sndfile_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
trace ("calling sf_open_virtual\n");
info.ctx = sf_open_virtual (&vfs, SFM_READ, &inf, &info);
if (!info.ctx) {
- trace ("sndfile: sf_open failed");
+ trace ("sndfile: sf_open failed\n");
deadbeef->fclose (info.file);
return NULL;
}
@@ -544,7 +544,7 @@ static DB_decoder_t plugin = {
.plugin.name = "WAV/PCM player",
.plugin.descr = "wav/aiff player using libsndfile",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/soundtouch/plugin.c b/plugins/soundtouch/plugin.c
index 770f1c0a..6e813d4b 100644
--- a/plugins/soundtouch/plugin.c
+++ b/plugins/soundtouch/plugin.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -274,7 +274,7 @@ static DB_dsp_t plugin = {
.plugin.name = "Soundtouch",
.plugin.descr = "Tempo/Pitch/Rate changer using SoundTouch Library (http://www.surina.net/soundtouch)",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"uses SoundTouch Library, (C) Olli Parviainen"
"\n"
diff --git a/plugins/soundtouch/st.cpp b/plugins/soundtouch/st.cpp
index 458a5b44..50390c1c 100644
--- a/plugins/soundtouch/st.cpp
+++ b/plugins/soundtouch/st.cpp
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/soundtouch/st.h b/plugins/soundtouch/st.h
index ae1f4f05..9ea5c65c 100644
--- a/plugins/soundtouch/st.h
+++ b/plugins/soundtouch/st.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/supereq/Equ.cpp b/plugins/supereq/Equ.cpp
index 0aff4f8a..8e91f113 100644
--- a/plugins/supereq/Equ.cpp
+++ b/plugins/supereq/Equ.cpp
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
Original SuperEQ code (C) Naoki Shibata <shibatch@users.sf.net>
This program is free software; you can redistribute it and/or
diff --git a/plugins/supereq/Equ.h b/plugins/supereq/Equ.h
index a315741a..f9cfaf15 100644
--- a/plugins/supereq/Equ.h
+++ b/plugins/supereq/Equ.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/plugins/supereq/supereq.c b/plugins/supereq/supereq.c
index ac18285c..d50aff12 100644
--- a/plugins/supereq/supereq.c
+++ b/plugins/supereq/supereq.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -282,7 +282,7 @@ static DB_dsp_t plugin = {
.plugin.name = "SuperEQ",
.plugin.descr = "equalizer plugin using SuperEQ library",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses supereq library by Naoki Shibata, http://shibatch.sourceforge.net\n"
"Uses FFT library by Takuya Ooura, http://www.kurims.kyoto-u.ac.jp/~ooura/\n"
diff --git a/plugins/tta/ttaplug.c b/plugins/tta/ttaplug.c
index 48d38110..5b433e44 100644
--- a/plugins/tta/ttaplug.c
+++ b/plugins/tta/ttaplug.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -324,7 +324,7 @@ static DB_decoder_t plugin = {
.plugin.name = "tta decoder",
.plugin.descr = "tta decoder based on TTA Hardware Players Library Version 1.2",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified TTA Hardware Players Library Version 1.2,\n"
"(c) 2004 Alexander Djourik. All rights reserved.\n"
diff --git a/plugins/uade2/plugin.c b/plugins/uade2/plugin.c
index a07f82fe..b28861fe 100644
--- a/plugins/uade2/plugin.c
+++ b/plugins/uade2/plugin.c
@@ -1,6 +1,6 @@
/*
ddb_input_uade2 - UADE input plugin for DeaDBeeF player
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
based on UADE2 plugin for Audacious, Copyright (C) 2005-2006 Heikki Orsila, UADE TEAM
This program is free software; you can redistribute it and/or
diff --git a/plugins/vfs_curl/vfs_curl.c b/plugins/vfs_curl/vfs_curl.c
index 5b1add5a..b0779da7 100644
--- a/plugins/vfs_curl/vfs_curl.c
+++ b/plugins/vfs_curl/vfs_curl.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -429,7 +429,7 @@ parse_header (const uint8_t *p, const uint8_t *e, uint8_t *key, int keysize, uin
p = v;
// find linebreak
- while (v < e && *v != 0x0d || *v == 0x0a) {
+ while (v < e && *v != 0x0d && *v != 0x0a) {
v++;
}
@@ -1096,7 +1096,7 @@ static DB_vfs_t plugin = {
.plugin.name = "cURL vfs",
.plugin.descr = "http and ftp streaming module using libcurl, with ICY protocol support",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/vfs_zip/vfs_zip.c b/plugins/vfs_zip/vfs_zip.c
index d6b1b32b..f8ad50a1 100644
--- a/plugins/vfs_zip/vfs_zip.c
+++ b/plugins/vfs_zip/vfs_zip.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -219,7 +219,7 @@ static DB_vfs_t plugin = {
.plugin.name = "ZIP vfs",
.plugin.descr = "play files directly from zip files",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/vorbis/vorbis.c b/plugins/vorbis/vorbis.c
index 6911f667..cbc23a62 100644
--- a/plugins/vorbis/vorbis.c
+++ b/plugins/vorbis/vorbis.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -199,7 +199,7 @@ cvorbis_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
info->info.file = deadbeef->fopen (deadbeef->pl_find_meta (it, ":URI"));
if (!info->info.file) {
- trace ("ogg: failed to open file %s\n", it->fname);
+ trace ("ogg: failed to open file %s\n", deadbeef->pl_find_meta (it, ":URI"));
return -1;
}
int ln = deadbeef->fgetlength (info->info.file);
@@ -576,11 +576,11 @@ cvorbis_read_metadata (DB_playItem_t *it) {
fp = deadbeef->fopen (deadbeef->pl_find_meta (it, ":URI"));
if (!fp) {
- trace ("cvorbis_read_metadata: failed to fopen %s\n", it->fname);
+ trace ("cvorbis_read_metadata: failed to fopen %s\n", deadbeef->pl_find_meta (it, ":URI"));
return -1;
}
if (fp->vfs->is_streaming ()) {
- trace ("cvorbis_read_metadata: failed to fopen %s\n", it->fname);
+ trace ("cvorbis_read_metadata: failed to fopen %s\n", deadbeef->pl_find_meta (it, ":URI"));
goto error;
}
ov_callbacks ovcb = {
@@ -597,7 +597,7 @@ cvorbis_read_metadata (DB_playItem_t *it) {
int tracknum = deadbeef->pl_find_meta_int (it, ":TRACKNUM", -1);
vi = ov_info (&vorbis_file, tracknum);
if (!vi) { // not a vorbis stream
- trace ("cvorbis_read_metadata: failed to ov_open %s\n", it->fname);
+ trace ("cvorbis_read_metadata: failed to ov_open %s\n", deadbeef->pl_find_meta (it, ":URI"));
goto error;
}
@@ -640,7 +640,7 @@ cvorbis_write_metadata (DB_playItem_t *it) {
}
fp = fopen (deadbeef->pl_find_meta (it, ":URI"), "rb");
if (!fp) {
- trace ("cvorbis_write_metadata: failed to read metadata from %s\n", it->fname);
+ trace ("cvorbis_write_metadata: failed to read metadata from %s\n", deadbeef->pl_find_meta (it, ":URI"));
goto error;
}
if (vcedit_open (state, fp) != 0) {
@@ -732,7 +732,7 @@ cvorbis_write_metadata (DB_playItem_t *it) {
}
if (vcedit_write (state, out) < 0) {
- trace ("cvorbis_write_metadata: failed to write tags to %s, error: %s\n", it->fname, vcedit_error (state));
+ trace ("cvorbis_write_metadata: failed to write tags to %s, error: %s\n", deadbeef->pl_find_meta (it, ":URI"), vcedit_error (state));
goto error;
}
@@ -777,7 +777,7 @@ static DB_decoder_t plugin = {
.plugin.name = "OggVorbis decoder",
.plugin.descr = "OggVorbis decoder using standard xiph.org libraries",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/plugins/vtx/vtx.c b/plugins/vtx/vtx.c
index 53511b7c..81a60b0e 100644
--- a/plugins/vtx/vtx.c
+++ b/plugins/vtx/vtx.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -307,7 +307,7 @@ static DB_decoder_t plugin = {
.plugin.name = "VTX player",
.plugin.descr = "AY8910/12 chip emulator and vtx file player",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses libayemu - AY/YM sound chip emulator and music file loader\n"
"Copyright (C) 2003-2004 Sashnov Alexander\n"
diff --git a/plugins/wildmidi/wildmidiplug.c b/plugins/wildmidi/wildmidiplug.c
index fc07754b..36e2be3f 100644
--- a/plugins/wildmidi/wildmidiplug.c
+++ b/plugins/wildmidi/wildmidiplug.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -191,7 +191,7 @@ DB_decoder_t wmidi_plugin = {
.plugin.name = "WildMidi player",
.plugin.descr = "MIDI player based on WildMidi library\n\nRequires freepats package to be installed\nSee http://freepats.zenvoid.org/\nMake sure to set correct freepats.cfg path in plugin settings.",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"Uses modified WildMidi v0.2.2\n"
"(C) 2001-2004 Chris Ison\n"
diff --git a/po/LINGUAS b/po/LINGUAS
index 87d75b1a..9eb6a389 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -2,12 +2,16 @@ be
bg
bn
ca
+cs
da
de
el
en_GB
+eo
es
+et
fa
+fi
fr
gl
he
@@ -19,16 +23,23 @@ ja
kk
km
lg
+lt
+nb
nl
pl
pt
pt_BR
+ro
ru
+si
sk
+sl
sr
sr@latin
sv
+te
tr
+ug
uk
vi
zh_CN
diff --git a/po/be.po b/po/be.po
index 7c212a99..b4aac805 100644
--- a/po/be.po
+++ b/po/be.po
@@ -8,1112 +8,1148 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.4.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-01 22:33+0300\n"
-"PO-Revision-Date: 2011-02-15 00:37+0200\n"
-"Last-Translator: Максім Тамковіч <quendimax@tut.by>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-15 20:32+0200\n"
+"Last-Translator: Мікалай <crom-a@tut.by>\n"
"Language-Team: Belarusian <>\n"
+"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: \n"
-"Language: be\n"
-"Plural-Forms: \n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
-msgstr "Падтрымліваемыя фарматы"
+msgstr "Падтрыманыя фарматы"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Іншыя файлы (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Усе файлы (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Адкрыць файл(ы)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Дадаць файл(ы) у плэйліст..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Дадаць каталог(і) у плэйліст..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Ісці па сімвалічных спасылках"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
-msgstr "Не атрымалася прачытаць файл даведкі"
+msgstr "Не ўдалося прачытаць файл даведкі"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
-msgstr "Не атрымалася загрузіць файл даведкі"
+msgstr "Не ўдалося загрузіць файл даведкі"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
-msgstr "help.ru.txt"
+msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Даведка"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
-msgstr "Аб праграме DeaDBeeF %s"
+msgstr "Пра праграму DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:705
-msgid "about.txt"
-msgstr "about.txt"
-
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Змены ў DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:718
-msgid "ChangeLog"
-msgstr "Змены"
-
-#: ../plugins/gtkui/callbacks.c:729
-msgid "COPYING.GPLv2"
-msgstr "COPYING.GPLv2"
-
-#: ../plugins/gtkui/callbacks.c:740
-msgid "COPYING.LGPLv2.1"
-msgstr "COPYING.LGPLv2.1"
-
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
-msgstr "Перакладчыкі DeaDBeeF "
-
-#: ../plugins/gtkui/callbacks.c:1082
-msgid "translators.txt"
-msgstr "translators.txt"
+msgstr "Перакладчыкі DeaDBeeF"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Рэдагаваць плэйліст"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Назва:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Перайменаваць плэйліст"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
-msgstr "Выдаліць плэйліст"
+msgstr "Сцерці плэйліст"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Дадаць новы плэйліст"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Захаваць перадусталёўкі эквалайзера DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Файлы перадусталёвак DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Загрузіць перадусталёўкі эквалайзера DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Перадусталёўкі эквалайзера DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Імпартаваць перадусталёўку эквалайзера Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Перадусталёўкі эквалайзера Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Запісаць"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Загрузіць"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Імпартаваць перадусталёўку Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Уключыць"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Абнуліць усё"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Абнуліць перадузмацненне"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Абнуліць частоты"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Захаваць"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Загрузіць"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Імпартаваць перадусталёўку Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Профілі"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 дзень %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d дзён %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Стоп | %d трэкаў | %s агульны час"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Мона"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Стэрэа"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d кбіт/с "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Паўза | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s %s| %dГц | %d біт | %s | %d:%02d / %s | %d трэкаў | %s агульны час"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
-msgstr "Захаваць плэйліст як"
+msgstr "Запісаць плэйліст як"
-#: ../plugins/gtkui/gtkui.c:670 ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Файлы плэйлістоў DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
-msgstr "Загрузіць плэйліст"
+msgstr "Прачытаць плэйліст"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Іншыя файлы (*)"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Новы плэйліст"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Новы плэйліст (%d)"
-#: ../plugins/gtkui/interface.c:142 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Файл"
-#: ../plugins/gtkui/interface.c:149 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Адкрыць файл(ы)"
-#: ../plugins/gtkui/interface.c:165 ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Дадаць файл(ы)"
-#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Дадаць каталог(і)"
-#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Дадаць месцазнаходжанне"
-#: ../plugins/gtkui/interface.c:190 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Новы плэйліст"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
-msgstr "Загрузіць плэйліст"
+msgstr "Прачытаць плэйліст"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
-msgstr "Захаваць плэйліст"
-
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Захаваць плэйліст як"
+msgstr "Запісаць плэйліст"
-#: ../plugins/gtkui/interface.c:214 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Выйсцi"
-#: ../plugins/gtkui/interface.c:225 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
-msgstr "_Праўка"
+msgstr "_Рэдагаваць"
-#: ../plugins/gtkui/interface.c:232 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Ачысціць"
-#: ../plugins/gtkui/interface.c:240 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Вылучыць усё"
-#: ../plugins/gtkui/interface.c:247 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Зняць вылучэнне"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
-msgstr "Звярнуць вылучэнне"
+msgstr "Інвертаваць вылучэнне"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
-msgstr "Вылучанае"
+msgstr "Вылучэнне"
-#: ../plugins/gtkui/interface.c:265 ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
-msgstr "Выдаліць"
+msgstr "Сцерці"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Пакінуць вылучанае"
-#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Знайсці"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Парадкаваць па"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Назва"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Нумар трэка"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Альбом"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Выканаўца"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Дата"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Карыстальніцкі"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Наладкі"
-#: ../plugins/gtkui/interface.c:293 ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Выгляд"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Радок стану"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Загалоўкі слупкоў"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
-msgstr "Устаўкі"
+msgstr "Карткі"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Эквалайзер"
-#: ../plugins/gtkui/interface.c:316 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "Прай_граванне"
-#: ../plugins/gtkui/interface.c:323 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Чарга"
-#: ../plugins/gtkui/interface.c:330 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
-msgstr "Па чарзе"
+msgstr "Лінейная"
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Перамяшаць трэкі"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Уперамешку"
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Перамяшаць альбомы"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Выпадкова"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Паўтараць"
-#: ../plugins/gtkui/interface.c:355 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Паўтараць усё"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Паўтараць адзін трэк"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Не паўтараць"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Пракручваць плэйліст аўтаматычна"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Вылучаць бягучы трэк"
-#: ../plugins/gtkui/interface.c:382 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Спыніць пасля бягучага"
-#: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Перайсці на бягучы трэк"
-#: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Даведка"
-#: ../plugins/gtkui/interface.c:416 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Змены"
-#: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
-msgstr "_Аб праграме"
+msgstr "_Пра праграму"
-#: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Перакладчыкі"
-#: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Пошук"
-#: ../plugins/gtkui/interface.c:911 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Стоп"
-#: ../plugins/gtkui/interface.c:919 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Прайграць"
-#: ../plugins/gtkui/interface.c:927 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Паўза"
-#: ../plugins/gtkui/interface.c:935 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Папярэдняя"
-#: ../plugins/gtkui/interface.c:943 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Наступная"
-#: ../plugins/gtkui/interface.c:951 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Граць выпадкова"
-#: ../plugins/gtkui/interface.c:960 ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
-msgstr "Аб праграме"
+msgstr "Пра праграму"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
-msgstr "Выйсце"
-
-#: ../plugins/gtkui/interface.c:1045 ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Даданне файлаў..."
-
-#: ../plugins/gtkui/interface.c:1089 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "_Скасаваць"
+msgstr "Выйсці"
-#: ../plugins/gtkui/interface.c:1189 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Уласцівасці трэка"
-#: ../plugins/gtkui/interface.c:1235 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Настаўленні"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Ужыць"
-#: ../plugins/gtkui/interface.c:1256 ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
-msgstr "_Зачыніць"
+msgstr "_Замкнуць"
-#: ../plugins/gtkui/interface.c:1260 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
-msgstr "Метададзеныя"
+msgstr "Метаданыя"
-#: ../plugins/gtkui/interface.c:1306 ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Уласцівасці"
-#: ../plugins/gtkui/interface.c:1391 ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "Рэдагаваць слупок"
-
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Назва:"
-
-#: ../plugins/gtkui/interface.c:1414 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Увядзіце назву новага слупка"
-#: ../plugins/gtkui/interface.c:1422 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Тып:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Нумар"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431 ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Прайграецца"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
-msgstr "Вокладка альбому"
+msgstr "Вокладка альбома"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Выканаўца - Альбом"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434 ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Выканаўца"
-
-#: ../plugins/gtkui/interface.c:1435 ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Альбом"
-
-#: ../plugins/gtkui/interface.c:1436 ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Назва"
-
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
-msgstr "Даўжыня"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Працягласць"
-#: ../plugins/gtkui/interface.c:1438 ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Трэк"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Нумар трэка"
-#: ../plugins/gtkui/interface.c:1439 ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
-msgstr "Гурт / Выканаўца альбому"
+msgstr "Гурт / Выканаўца альбома"
-#: ../plugins/gtkui/interface.c:1440 ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Карыстальніцкі"
-
-#: ../plugins/gtkui/interface.c:1446 ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Фармат:"
-#: ../plugins/gtkui/interface.c:1461 ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Выраўніванне:"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Па леваму краю"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Па праваму краю"
-#: ../plugins/gtkui/interface.c:1472 ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Пераўтварэнне фармата (пачынаецца з %):\n"
-" %a-выканаўца, %t-назва, %b-альбом, %B-гурт,\n"
-" %C-кампазітар, %n-нумар трэка, %N-усяго трэкаў,\n"
-" %l-даўжыня, %y-год, %g-жанр, %c-каментар,\n"
-" %r-аўтарскія правы, %f-імя файла, %F-шлях да файла\n"
-" %T-тэгі, %d-дырэкторыя, %D-поўны шлях да дырэкторыі\n"
-"Прыклад: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501 ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040 ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Скасаваць"
-#: ../plugins/gtkui/interface.c:1522 ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061 ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_ОК"
-#: ../plugins/gtkui/interface.c:1753 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
-msgstr "Модуль вывада:"
+msgstr "Модуль вываду:"
-#: ../plugins/gtkui/interface.c:1766 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
-msgstr "Прылада вывада:"
+msgstr "Прылада вываду:"
-#: ../plugins/gtkui/interface.c:1775 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Заўсёды канверсаваць 8-біт аўдыё ў 16-біт"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Гук"
-#: ../plugins/gtkui/interface.c:1784 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Дазволіць дынамічную змену частаты дыскрэтызацыі"
-
-#: ../plugins/gtkui/interface.c:1792 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Алгарытм інтэрпаляцыі:"
-
-#: ../plugins/gtkui/interface.c:1811 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Рэжым аўтаўстаноўкі гучнасці:"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Адключаны"
-#: ../plugins/gtkui/interface.c:1824 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Трэк"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Выкарыстоўваць пікавае значэнне"
-#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 дБ"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 дБ"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Перадузмацненне з рыплэйгейна:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Глабальнае перадузмацненне:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-"Дадаваць файлы з каманднага радка\n"
-"(ці файлавага кіраўніка) у гэты плэйліст:"
+"Дадаваць файлы з загаднага радка (ці файлавага кіраўніка) у гэты плэйліст:"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
-msgstr "Аднаўляць папярэднюю сесію пры запуску"
+msgstr "Узнаўляць папярэдні сеанс пры запуску"
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Не дадаваць з архіваў пры праглядзе каталога"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Прайграванне"
-#: ../plugins/gtkui/interface.c:1854 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Канфігурацыя"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Профіль ланцужкоў DSP"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Чытаць"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
-msgstr "Згортваць у трэй паводле зачынення"
+msgstr "Згортваць у трэй замест закрыцця"
-#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
-msgstr "Сярэдняя кнопка мышы зачыняе плэйліст"
+msgstr "Сярэдняя кнопка мышы закрывае плэйліст"
-#: ../plugins/gtkui/interface.c:1862 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
-msgstr "Не адлюстроўваць іконку у трэі"
+msgstr "Не паказваць іконку у трэі"
-#: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
-msgstr "Выкарыстоўваць тлусты шрыфт для бягучага трэка"
+msgstr "Выкарыстоўваць цёмны шрыфт для бягучага трэка"
-#: ../plugins/gtkui/interface.c:1870 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
-msgstr "Прыбраць пункт \"Выдаліць з дыска\" з кантэкстнага меню"
+msgstr "Прыбраць пункт \"Сцерці з дыска\" з кантэкстнага меню"
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Аўтаматычна называць плэйліст, калі дадаецца адзін каталог"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Частата абнаўлення інтэрфейсу (разоў за сек.):"
-#: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Тэкст загалоўка пры прайграванні:"
-#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Тэкст загалоўка пры спыненні:"
-#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Плагін графічнага інтэрфейсу (змена патрабуе перазапуску):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Інтэрфейс"
-#: ../plugins/gtkui/interface.c:1916 ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Замяніць"
-#: ../plugins/gtkui/interface.c:1925 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Пярэдні план"
-#: ../plugins/gtkui/interface.c:1932 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Фон"
-#: ../plugins/gtkui/interface.c:1951 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Асноўныя колеры"
-#: ../plugins/gtkui/interface.c:1969 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Сярэдні"
-#: ../plugins/gtkui/interface.c:1976 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Светлы"
-#: ../plugins/gtkui/interface.c:1983 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Цёмны"
-#: ../plugins/gtkui/interface.c:2014 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Грунтоўны"
-#: ../plugins/gtkui/interface.c:2021 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Тэкст"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
-msgstr "Колеры ўставак"
+msgstr "Колеры картак"
-#: ../plugins/gtkui/interface.c:2030 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-"Замяніць (губляюцца наладкі тэмы GTK, але павялічваецца\n"
-"хуткасць адлюстроўвання"
+"Замяніць (губляюцца настаўленні тэмы GTK, але павялічваецца хуткасць "
+"адлюстравання)"
-#: ../plugins/gtkui/interface.c:2039 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
-msgstr ""
-"Цотны\n"
-"радок"
+msgstr "Цотны радок"
-#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
-msgstr ""
-"Няцотны\n"
-"радок"
-
-#: ../plugins/gtkui/interface.c:2065 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Тэкст"
+msgstr "Няцотны радок"
-#: ../plugins/gtkui/interface.c:2072 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
-msgstr ""
-"Вылучаны\n"
-"радок"
+msgstr "Вылучаны радок"
-#: ../plugins/gtkui/interface.c:2091 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
-msgstr "Вылучаны радок"
+msgstr "Вылучаны тэкст"
-#: ../plugins/gtkui/interface.c:2104 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Курсор"
-#: ../plugins/gtkui/interface.c:2117 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Колеры плэйліста"
-#: ../plugins/gtkui/interface.c:2121 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Колеры"
-#: ../plugins/gtkui/interface.c:2130 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Уключыць проксі-сервер"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Адрас:"
-#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Порт:"
-#: ../plugins/gtkui/interface.c:2166 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Тып проксі:"
-#: ../plugins/gtkui/interface.c:2185 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Імя карыстальніка:"
-#: ../plugins/gtkui/interface.c:2198 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Пароль:"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Сетка"
-#: ../plugins/gtkui/interface.c:2236 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Версія: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Аўтарскія правы"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Дадаткі"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Групаваць па"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Парадкаваць па..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Фармат"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Да павелічэння"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Да памяншэння"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Вылучце плагін DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Плагін"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Настаўленні рэдактара тэгаў"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Пісаць ID3v2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Пісаць ID3v1"
-#: ../plugins/gtkui/interface.c:2244 ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Пісаць APEv2"
-#: ../plugins/gtkui/interface.c:2252 ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Выразаць ID3v2"
-#: ../plugins/gtkui/interface.c:2256 ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Выразаць ID3v1"
-#: ../plugins/gtkui/interface.c:2260 ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Выразаць APEv2"
-#: ../plugins/gtkui/interface.c:2268 ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Версія ID3v2"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
-msgstr "2.3 (Параіная)"
+msgstr "2.3 (рэкамендавана)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282 ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
-msgstr "Кадыроўка ID3v1 (па змаўчанні iso8859-1)"
+msgstr "Знаказбор ID3v1 (прадвызначаны iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Пісать ID3v2.4"
-#: ../plugins/gtkui/interface.c:2388 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Рэдактар тэгаў"
-
-#: ../plugins/gtkui/interface.c:2419 ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Апісанне:"
-
-#: ../plugins/gtkui/interface.c:2434 ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Аўтар(ы):"
-
-#: ../plugins/gtkui/interface.c:2449 ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Электронны адрас:"
-
-#: ../plugins/gtkui/interface.c:2464 ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Вэб-сайт:"
-
-#: ../plugins/gtkui/interface.c:2495 ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Наладзіць"
-
-#: ../plugins/gtkui/interface.c:2499 ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Дадаткі"
-
-#: ../plugins/gtkui/interface.c:2881 ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "Рэдактаваць плэйліст"
-
-#: ../plugins/gtkui/interface.c:3008 ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109 ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Гуртаваць па"
-
-#: ../plugins/gtkui/interface.c:3134 ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Пераўтварэнне фармату (пачыная з %):\n"
-" %a-выканаўца, %t-назва, %b-альбом, %B-гурт,\n"
-" %C-кампазітар, %n-нумар трэка, %N-усяго трэкаў,\n"
-" %l-даўжыня, %y-год, %g-жанр, %c-каментар,\n"
-" %r-аўтарскія правы, %f-імя файла, %T-тэгі\n"
-"Прыклад: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306 ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Выканаўца / Альбом"
-#: ../plugins/gtkui/mainplaylist.c:307 ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Трэк №"
-#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Загаловак / Выканаўца"
-
-#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Працягласць"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
-msgstr "Выдаліць файлы з жорсткага дыска"
+msgstr "Выдаліць файлы з цвёрдага дыска"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
"Файлы будуць выдалены. Працягваць?\n"
-"(Гэты дыялог можы быць адключаны ў наладках GTKUI)"
+"(Гэты дыялог можы быць адключаны ў настаўленнях плагіна GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Увага"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Дадаць у чаргу"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Выдаліць з чаргі"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Аднавіць метададзеныя"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Выдаліць з жорсткага дыска"
-#: ../plugins/gtkui/plcommon.c:720 ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Дадаць слупок"
-#: ../plugins/gtkui/plcommon.c:750 ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
-msgstr "Рэдактаваць слупок"
+msgstr "Рэдагаваць слупок"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
-msgstr "Выдаліць слупок"
+msgstr "Прыбраць слупок"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
-msgstr "Гуртаваць па"
+msgstr "Групаваць па"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
-msgstr "Адсутнічае"
+msgstr "Няма"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Выканаўца/Дата/Альбом"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Адкрыць файл..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Усталёўкі %s"
+msgid "Configure %s"
+msgstr "Наставіць %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
-msgstr "Аўдыё прыстасаванне па змаўчанні"
+msgstr "Прадвызначаная прылада аўдыё"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Дадаць"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Гарачыя клавішы"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Слот"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Камбінацыя клавіш"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481 ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "Модуль вывада ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Даданне файлаў..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Ініцыялізацыя..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Дадзеныя для гэтага трэка былі зменены."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
-msgstr "Зачыніць вакно?"
+msgstr "Закрыць акно?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Месцазнаходжанне"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Некалькі велічынь] "
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Нумар укладзенага трэка"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Ключ"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Тып(ы) тэгаў"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Значэнне"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Укладзены файл cue"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Запісанне тэгаў..."
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Да"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Назва:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Не"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Назвы палёў не могуць пачынацца з : ці _"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Кодек"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Немагчыма дадаць поле"
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Ключ"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Поле з такой назвай ужо ёсць, паспрабуйце назваць інакш."
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Значэнне"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Сцерці вылучаныя палі?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Дадаць поле"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF зараз грае"
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Сцерці поле"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
-msgstr "Выкарыстоўванне: deadbeef [опцыі] [файл(ы)]\n"
+msgstr "Ужыванне: deadbeef [опцыі] [файл(ы)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Опцыі:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help ці -h Адлюстраваць даведку (гэты тэкст) і выйсці\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Выйсці з плэера\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
" --version Адлюстраваць інфармацыю аб версіі праграмы і выйсці\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Пачаць граць\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Спыніць прайграванне\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Прыпыніць прайграванне\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Пераключыць паўзу\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Пачаць прайграванне, калі спынена, іначай пераключыць "
+"паўзу\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Настуная песня ў плэйлісце\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Папярэдняя песня ў плэйлісце\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Выпадковая песня ў плэлісце\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Дадаць файл(ы) у існуючы плэйліст\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Адлюстраваць адфарматыраваную назву трэка\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
msgstr ""
-" FMT %%-сінтаксіс: %%a-выканаўца, %%t-назва, %%b-"
-"альбом,\n"
-" %%l-даўжыня, %%n-нумар трэка, %%y-год, %%c-каментар,\n"
-" %%r-аўтарскія правы, %%e-пройдзены час \n"
+" FMT %%-сінтаксіс: %%a-выканаўца, %%t-назва, %%"
+"b-альбом,\n"
+" %%l-даўжыня, %%n-нумар трэка, %%y-год, %%"
+"c-каментарый,\n"
+" %%r-аўтарскія правы, %%e-пройдзены час\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1122,19 +1158,43 @@ msgstr ""
" Напрыклад: --nowplaying \"%%a - %%t\" павінна вывесці "
"на экран \"artist - title\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " за падрабязнымі звесткамі, гл. http://sourceforge.net/a"
+"pps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
-msgstr "Плэйліст"
+msgstr "Прадвызначана"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Так"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Не"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
-"2.3 (Параіная)\n"
+"2.3 (Рэкамендавана)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Да павелічэння\n"
+"Да памяншэння"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1144,7 +1204,7 @@ msgstr ""
"Трэк\n"
"Альбом"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1153,8 +1213,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1167,10 +1227,10 @@ msgstr ""
"Назва\n"
"Даўжыня\n"
"Трэк\n"
-"Гурт / Выканаўца альбому\n"
+"Гурт / Выканаўца альбома\n"
"Рознае"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1179,9 +1239,10 @@ msgstr ""
"Правы"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
-msgstr "Не атрымалася знайсці файл выявы: %s"
+msgstr "Не ўдалося знайсці файл выявы: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
@@ -1211,7 +1272,7 @@ msgstr "Выкарыстоўваць перадыскрэтызацыю з да
msgid "Release device while stopped"
msgstr "Вызваляць прыстасаванне ў час спынення"
-#: ../translation/extra.c:8 ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Упадабаны памер буферу"
@@ -1240,167 +1301,568 @@ msgstr "Пароль"
msgid "Scrobble URL"
msgstr "Адрас для скроблінга"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Файл прылады"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Абход хібы OSS4 samplerate"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Перыяд аднаўлення кэша (гадзіны)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Атрымліваць з унутраных тэгаў"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Атрымліваць з лакальнай тэчкі"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Файлавая маска для лакальных вокладак"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Атрымліваць з last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Атрымліваць з albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Маштабаваць выявы па даўжэйшым баку"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Выкарыстоўваць CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Выкарытоўваць CD-Text замест CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB url (напрыклад, 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Нумар парта CDDB (напрыклад, '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Выкарыстоўваць пратакол CDDB замест HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Уключыць падтрымку NRG вобразаў"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Якасць перадысрэтызацыі (0..2, вышэй - лепш)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Максімальная даўжыня трэка (у хвілінах)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Запытваць пацверджанне на выдаленне файлаў з жорсткага дыска"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Адчувальнасць рэгулятара гучнасці ў значку статусу"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Карстальніцкі значок статусу"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Запускаць gtk_init з ключом --sync (рэжым адладкі)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Дадаваць раздзельнікі паміж пунктамі кантэкстнага меню плагінаў"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Фармат паведамлення"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Фармат загалоўка паведамлення"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Фармат зместу паведамлення"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Паказваць вокладку альбома"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Памер вокладкі альбома (пікс.)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "Сервер PulseAudio"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Частата дыскрэтызацыі"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Адносны шлях табліцы пошуку"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Абсолютный путь таблицы поиска"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Пераставіць месцамі аўдыё байты"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "Уключыць падтрымку HVSC"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Уключыць падтрымку HVSC Songlength DB"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Шлях да HVSC"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (from HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Бітаў на сэмпл (8 ці 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Тыповая даўжыня трэка (сек.)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Файл канфігурацыі для банка Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Назва трэка"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Выканаўца"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Дата"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Нумар трэка"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Усяго трэкаў"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Жанр"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Кампазітар"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Нумар дыска"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Каментар"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Кодер / Продавец"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Аўтарскія правы"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Месцазнаходжанне"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Нумар укладзенага трэка"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Тып(ы) тэгаў"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Укладзены файл cue"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Кодэк"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Канчаткі файлаў (праз ';')"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Канверсаваць"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Мэтавая частата дыскрэтызацыі"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Якасць / Алгарытм"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Аўтаматычная частата дыскрэтызацыі (перакрывае Мэтавую)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Файл ужо існуе. Перапісаць?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Папярэджанне канвертара"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Выберыце кадавальнік"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Памылка кадавальніка"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Пераўтварэнне..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Вылучыць каталог..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Не ўдалося запісаць профіль кадавальніка"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Праверце правы доступу каталога, паспрабуйце іншую назву, ці высвабадзіце "
+"месца на дыску"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Профіль з такой назвай ужо існуе. Паспрабуйце іншую назву."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Памылка"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Дадаць кадавальнік"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Рэдагаваць кадавальнік"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Сцерці профіль"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Гэта дзеянне выдаліць вылучаны профіль. Упэўнены?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Кадавальнікі"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Дадаць плагін у ланцуг DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Не ўдалося запісаць профіль DSP"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Новы профіль DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Рэдагаваць профіль DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Профілі DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Каталог вываду:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Назва файла вываду:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Канчатак файла (напр. mp3) будзе дададзены аўтаматычна.\n"
+"Пакіньце гэта поле пустым для прадвызначэння (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Кадавальнік:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Профіль DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Колькасць нітак:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Фармат выходнага сэмпла:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Захоўваць фармат крыніцы"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8-біт знакавая цэлая"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16-біт знакавая цэлая"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24-біт знакавая цэлая"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32-біт знакавая цэлая"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32-біт плыўная"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Калі файл існуе:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Спытаць"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Перапісаць"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Захоўваць структуру каталогаў, пачынаючы з:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Рэдагаваць профіль кадавальніка"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Неназваны кадавальнік"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Канчатак файла вываду:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Напр. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Загадны радок:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Прыклад: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - назва файла вываду\n"
+"%i - назва файла часовага ўводу</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Метад:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Канвеер"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Часовы файл"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Рэдактар тэгаў</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Рэдактар профіляў DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Неназваны профіль DSP"
+
+#~ msgid "about.txt"
+#~ msgstr "about.txt"
+
+#~ msgid "ChangeLog"
+#~ msgstr "Змены"
+
+#~ msgid "COPYING.GPLv2"
+#~ msgstr "COPYING.GPLv2"
+
+#~ msgid "COPYING.LGPLv2.1"
+#~ msgstr "COPYING.LGPLv2.1"
+
+#~ msgid "translators.txt"
+#~ msgstr "translators.txt"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Захаваць плэйліст як"
+
+#~ msgid "_Abort"
+#~ msgstr "_Скасаваць"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "Рэдагаваць слупок"
+
+#~ msgid "Length"
+#~ msgstr "Даўжыня"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Пераўтварэнне фармата (пачынаецца з %):\n"
+#~ " %a-выканаўца, %t-назва, %b-альбом, %B-гурт,\n"
+#~ " %C-кампазітар, %n-нумар трэка, %N-усяго трэкаў,\n"
+#~ " %l-даўжыня, %y-год, %g-жанр, %c-каментар,\n"
+#~ " %r-аўтарскія правы, %f-імя файла, %F-шлях да файла\n"
+#~ " %T-тэгі, %d-дырэкторыя, %D-поўны шлях да дырэкторыі\n"
+#~ "Прыклад: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Дазволіць дынамічную змену частаты дыскрэтызацыі"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Алгарытм інтэрпаляцыі:"
+
+#~ msgid "Description:"
+#~ msgstr "Апісанне:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Аўтар(ы):"
+
+#~ msgid "Email:"
+#~ msgstr "Электронны адрас:"
+
+#~ msgid "Website:"
+#~ msgstr "Вэб-сайт:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "Рэдактаваць плэйліст"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Пераўтварэнне фармату (пачыная з %):\n"
+#~ " %a-выканаўца, %t-назва, %b-альбом, %B-гурт,\n"
+#~ " %C-кампазітар, %n-нумар трэка, %N-усяго трэкаў,\n"
+#~ " %l-даўжыня, %y-год, %g-жанр, %c-каментар,\n"
+#~ " %r-аўтарскія правы, %f-імя файла, %T-тэгі\n"
+#~ "Прыклад: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Загаловак / Выканаўца"
+
+#~ msgid "Setup %s"
+#~ msgstr "Усталёўкі %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Модуль вывада ALSA"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF зараз грае"
+
+#~ msgid "HVSC path"
+#~ msgstr "Шлях да HVSC"
#~ msgid "Couldn't get enough memory for input buffering."
#~ msgstr ""
diff --git a/po/bg.po b/po/bg.po
index ca7a5192..6939c28f 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2011-03-03 11:27+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-01 01:02+0200\n"
"Last-Translator: Радослав <Rec.ku@hotmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: bg\n"
@@ -18,838 +18,903 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Поддържани звукови формати"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Други файлове (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Всички файлове (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Отвори файл(ове)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Добави файл(ове) в списъка за изпълнение..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Добави папка/и в списъка за изпълнение..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Последвай символните връзки"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Грешка при четене на помощен файл"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Грешка при зареждане на помощен файл"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Помощ"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Относно DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
-#, c-format,
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s Списък с промени"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Преводачи на DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Редактирай Списъка за изпълнение"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Заглавие:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Преименувай Списъка за изпълнение"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Премахни Списъка за изпълнение"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Добави нов Списък за изпълнение"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Запамети стойностите на Тонкоректора"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Файлове със стойности на Тонкоректора (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Зареждане стойности на Тонкоректора..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Зададени стойности на Тонкоректора (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Внасяне на стойности за Тонкоректор: Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Стойности на Тонкоректора Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Запамети зададеното"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Зареди зададено"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Внасяне на стойности Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Активирай"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Анулирай всичко"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Анулирай предусилвателя"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Анулирай лентите"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Запамети зададеното"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Зареди зададено"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Внасяне на стойности Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Предварително зададени"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 ден %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d дена %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Спрян | %d песни | %s времетраене"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Моно"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Стерео"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d кбвс"
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Паузиран |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr "%s%s %s| %dХц | %d бит | %s | %d:%02d / %s | %d песни | %s времетраене"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Запамети списъка като..."
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF списъци за изпълнение (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Зареди Списък"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Други файлове (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Нов Списък"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Нов Списък (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Файл"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Отваряне на файл(ове)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Добави файл(ове)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Добави папка/и"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Добави местоположение"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Нов списък"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Зареждане на списък"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Зпаметяване на списъка"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Запаметяване на списъка като..."
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Изход от приложението"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Редактиране"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Изчистване"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Маркиране на всички"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Демаркиране на всички"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Обръщане на избора"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Подбиране"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Премахване"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Изрязване"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Търсене"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Сортиране по"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Заглавие"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Номер на файла"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Албум"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Изпълнител"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Дата"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Предпочитани"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Предпочитания"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Изглед"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
-msgstr "Лента на състоянието"
+msgstr "Панел на състоянието"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Заглавия на колоните"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Етикети"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Тонкоректор"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Изпълнява се"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Подредба"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Линейно"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "Разбъркване"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Разбъркване на песни"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Разбъркване на албуми"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Произволно"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Повтаряемост"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Повтаряне след всички"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Повтаряне на една песен"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Без повтаряне"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Превъртане следва изпълняването"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Курсора следва изпълняването"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Спри след текущото"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Прескачане до текущата песен"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Помощ"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Отчет"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
-msgstr "_Относно"
+msgstr "От_носно"
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "П_реводачи"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Търсене"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Спиране"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Пускане"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Паузиране"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Предишна"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Следваща"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Произволно изпълняване"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Относно"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Изход"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Добавяне на файлове..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Прекъсване"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Свойства за Песента"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>ВНИМАНИЕ</b>: поставянето на етикети е в разбработка.\n"
-"<b>Направете възстановяващи копия</b> преди да го използвате."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Настройки"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Прилагане"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Затваряне"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Метаданни"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Свойства"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-#, fuzzy
-msgid "editcolumndlg"
-msgstr "Редактиране на Колоните"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Заглавие:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Име на нова колона:"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Вид:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Номер на файла"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Индекс на елемента"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Изпълнява се"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Обложка на албума"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Изпълнител - Албум"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Изпълнител"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Албум"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Заглавие"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Времетраене"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Продължителност"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-#, fuzzy
-msgid "Track"
-msgstr "Име на файла"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Номер на песента"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Група / Изпълнител на албума"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Предпочитани"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Формат:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Подравняване:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Ляво"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Дясно"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Символи за формат (започват с %):\n"
-"[a]-Артист, [t]-Заглавие, [b]-Албум, [B]-Група, [C]-Композитор\n"
-"[n]-Номер на файла, [N]-Всички файлове,\n"
-"[l]-Времетраене, [y]-Година, [g]-Жанр, [c]-Коментар,\n"
-"[r]-Запазени права, [f]-Име на файла, [F]-Път до папката, [T]Етикети,\n"
-"[d]-Папка, [D]-Път до (и име на) папката\n"
-"Пример: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Отказ"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
-msgstr "_Добре"
+msgstr "_Да"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Изходна приставка:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Иходно устройство:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Винаги да се конвертира 8-битов звук в 16-битов"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Звук"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Позволи динамична промяна на честотата"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Конвертирано качество:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Режим на усилване:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Деактивиране"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Име на файла"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Скала за усилване на максимума"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 дБ"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 дБ"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Режим на усилване:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Усилване за цялата система:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Добавяне на файлове с команда (или файлов мениджър) в този лист за "
"изпълнение:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "При следващото стартиране, продължи предишната сесия"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Да не се добавят от архиви, когато се добавят папки"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Възпроизвеждане"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Настройване"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Запамети зададеното"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "Заре_ждане"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "При затваряне, минимизирай в таблата"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Средният бутон на мишката затваря листа за изпълнение"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Скрий иконата в таблата"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Използване на удебелен шрифт за текущата песен"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Скриване на елемент от менюто - \"Изтриване от Диска\""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+"Автоматично именуване на листа за изпълнение, когато е добавена само една "
+"папка"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Опресняване (пъти в секунда):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Заглавен текст при изпълнение:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Заглавен текст при спиране:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Приставка за графичния вид (промяната изисква рестарт):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Графичен вид"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Презапис"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "На преден план"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "На фон"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Цвят на бутона за Превъртане/Усилване"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Среден"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Светъл"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Тъмен"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Основен"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Текст"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Цветове на разделната лента"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Презапис (увеличава се производителността, но се губи естетиката)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Четен ред"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Нечетен ред"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Текст"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Маркираният ред"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Маркираният текст"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Курсор"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Цветове на листа"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Цветове"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Активиране на помощен сървър"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Адрес на помощния сървър:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Порт на помощния сървър:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Вид помощен сървър:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Потребителско име:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Парола:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Мрежа"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Версия:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Copyright"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Приставки"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "Адрес:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Групиране по"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Сортиране по..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Формат"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Възходящ"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Низходящ"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Подбиране"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Приставка"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Настройки на редактора на етикети"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Запиши ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Запиши ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Зпаиши APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Лента ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Лента ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Лента APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Версия на ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Препоръчителна)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Транслиране на символите за ID3v1 (по подразбиране е iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Запиши ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Създаване на етикети"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Описание:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Автор(и):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Електронна поща:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Уебсайт:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Настройване"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Приставки"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-#, fuzzy
-msgid "editplaylistdlg"
-msgstr "Редактиране на Листа"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "Адрес:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Групиране по"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Символи за формат (започват с %):\n"
-"[a]-Артист, [t]-Заглавие, [b]-Албум, [B]-Група, [C]-Композитор\n"
-"[n]-Номер на песента, [N]-Всички файлове,\n"
-"[l]-Времетраене, [y]-Година, [g]-Жанр, [c]-Коментар,\n"
-"[r]-Запазени права, [f]-Име на файла, [T]-Етикети,\n"
-"Пример: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Артист/Албум"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Номер на Песента"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Заглавие/Изпълнител"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Продължителност"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Изтрий файловете от носителя"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -858,195 +923,220 @@ msgstr ""
"(Това съобщение, може да бъде деактивирано от настройките\n"
"на приставката за Графичния вид)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Предупреждение"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Добави в опашката за изпълнение"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Премахни от опашката за изпълнение"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Презареди метаданните"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Прехани от носителя"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Добавяне на Колона"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Редактиране на Колона"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Премахване на Колона"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Групиране по"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Нищо"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Изпълнител/Дата/Албум"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Отвори файл..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Настройки %s"
+msgid "Configure %s"
+msgstr "Настройване на %s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Аудио устройство по подразбиране"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Добави"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Системни \"Бързи\" клавиши"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Слот"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Клавишна комбинация"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA изходна приставка"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Добавяне на файлове..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Разпознаване..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Имате променяни данни за тази песен."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Да се затвори ли прозореца?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Тип(ове) Етикет(и)"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Вградени фрази"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Да"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Не"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Кодек"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Множество стойности]"
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Ключ"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Стойност"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF в момента изпълнява:"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Записване на етикетите..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Име:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Имената на полетата не могат да започват с \":\" или \"_\""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Не може да бъде добавено поле"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Вече съществува поле със същото име, моля пробвайте с друго!"
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Да се премахне ли избраното поле?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Добавяне на поле"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Премахване на поле"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Употреба: deadbeef [опции] [файл(ове)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Опции:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr "--help или -h Изписва помощ (това съобщение) и излиза\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr "--quit Изход от Плейъра\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr "--version Изписва информация за версията и излиза\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr "--play Възпроизвеждане\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr "--stop Спиране\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr "--pause Паузиране\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr "--toggle-pause Превключване в\\от режим на пауза\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr "--play-pause Започване на възпроизвеждане, ако е спряно или излизане от "
+"режим на пауза\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr "--next Следващата песен в листа\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr "--prev Предишната песен в листа\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr "--random Произволна песен от листа\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr "--queue Прибавяне на файл(ове) в съществуващия лист\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr "--nowplaying \"Формат\" Изписва Форматирано име\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1057,18 +1147,34 @@ msgstr ""
"[b]-Албум, [l]-Времетраене, [n]-Номер на песента,\n"
"[y]-Година, [c]-Коментар, [r]-Авторски права, [e]-Изминали\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr "пр.: --nowplaying \"%%a - %%t\" ще изведе \"изпълнител - песен\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr "За повече информация: http://sourceforge.net/apps/mediawiki/deadbeef/index.p"
+"hp?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "По подразбиране"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Да"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Не"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1076,7 +1182,15 @@ msgstr ""
"2.3 (Препоръчителна)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Възходящо\n"
+"Низходящо"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1086,17 +1200,17 @@ msgstr ""
"Песен\n"
"Албум"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1112,7 +1226,7 @@ msgstr ""
"Група/Албумен Изпълнител\n"
"Обичайни"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1121,70 +1235,669 @@ msgstr ""
"Дясно"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Не е открито Х-изображение: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Няма достатъчно памет за входящо буфериране."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: Файлът с настройките - freepats не е открит. Моля, инсталирайте "
+"пакета \"timidity-freepats\" или опишете пътя до freepats.cfg, в настройките "
+"на приставката!"
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Добавяне на Аудио диск"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Грешка при прочитането на първия слой от Ogg потоците."
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Свързване към Last.fm"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Грешка при прочитането на първия заглавен пакет."
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "Използване на ALSA ресемплинг"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Няма достатъчно памет за регистриране номера на новия поток."
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Освободи устройство след спиране"
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Входящият е прекъснат или празен."
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "Предпочитан размер на буфера"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Входящото не е Ogg битов поток."
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "Предпочитана дължина на периода"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg потока не съдържа Vorbis данни."
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "Активиране на помощен сървър"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Деактивиране на настоящо изпълнение"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Потребителско име:"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Парола:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Адрес на помощния сървър"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Файл за устройство"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Край на файла преди разпознаването на потока."
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg потока не съдържа, поддържания тип данни."
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Увредена втора заглавна част."
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Край на файла преди последната Vorbis заглавна част."
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Увредени или липсващи данни, продължаване..."
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Изтрий файловете от носителя"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Обложка на албума"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Номер на Песента"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Заглавие/Изпълнител"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Номер на файла"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Добави местоположение"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Тип(ове) Етикет(и)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Вградени фрази"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Кодек"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Маркиране на всички"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Грешка при записването. Вероятно изходящия поток е увреден или прекъснат."
-#: ../plugins/wildmidi/wildmidiplug.c:162
-#, c-format,
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Редактиране на Колона"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Запамети зададеното"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Запамети зададеното"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Запамети зададеното"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Запамети зададеното"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Иходно устройство:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Изходна приставка:"
+
+#: ../plugins/converter/interface.c:126
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
msgstr ""
-"wildmidi: Файлът с настройките - freepats не е открит. Моля, инсталирайте "
-"пакета \"timidity-freepats\" или опишете пътя до freepats.cfg, в настройките "
-"на приставката!"
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Запамети зададеното"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Презапис"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Зареди зададено"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Изходна приставка:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Зпаиши APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Запиши ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Запиши ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Създаване на етикети"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Запаметяване на списъка като..."
+
+#~ msgid "_Abort"
+#~ msgstr "_Прекъсване"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>ВНИМАНИЕ</b>: поставянето на етикети е в разбработка.\n"
+#~ "<b>Направете възстановяващи копия</b> преди да го използвате."
+
+#, fuzzy
+#~ msgid "editcolumndlg"
+#~ msgstr "Редактиране на Колоните"
+
+#~ msgid "Length"
+#~ msgstr "Времетраене"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Символи за формат (започват с %):\n"
+#~ "[a]-Артист, [t]-Заглавие, [b]-Албум, [B]-Група, [C]-Композитор\n"
+#~ "[n]-Номер на файла, [N]-Всички файлове,\n"
+#~ "[l]-Времетраене, [y]-Година, [g]-Жанр, [c]-Коментар,\n"
+#~ "[r]-Запазени права, [f]-Име на файла, [F]-Път до папката, [T]Етикети,\n"
+#~ "[d]-Папка, [D]-Път до (и име на) папката\n"
+#~ "Пример: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Позволи динамична промяна на честотата"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Конвертирано качество:"
+
+#~ msgid "Description:"
+#~ msgstr "Описание:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Автор(и):"
+
+#~ msgid "Email:"
+#~ msgstr "Електронна поща:"
+
+#~ msgid "Website:"
+#~ msgstr "Уебсайт:"
+
+#, fuzzy
+#~ msgid "editplaylistdlg"
+#~ msgstr "Редактиране на Листа"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Символи за формат (започват с %):\n"
+#~ "[a]-Артист, [t]-Заглавие, [b]-Албум, [B]-Група, [C]-Композитор\n"
+#~ "[n]-Номер на песента, [N]-Всички файлове,\n"
+#~ "[l]-Времетраене, [y]-Година, [g]-Жанр, [c]-Коментар,\n"
+#~ "[r]-Запазени права, [f]-Име на файла, [T]-Етикети,\n"
+#~ "Пример: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Настройки %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA изходна приставка"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "Няма достатъчно памет за входящо буфериране."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Грешка при прочитането на първия слой от Ogg потоците."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Грешка при прочитането на първия заглавен пакет."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "Няма достатъчно памет за регистриране номера на новия поток."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Входящият е прекъснат или празен."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Входящото не е Ogg битов поток."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg потока не съдържа Vorbis данни."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "Край на файла преди разпознаването на потока."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg потока не съдържа, поддържания тип данни."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Увредена втора заглавна част."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Край на файла преди последната Vorbis заглавна част."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Увредени или липсващи данни, продължаване..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Грешка при записването. Вероятно изходящия поток е увреден или прекъснат."
diff --git a/po/bn.po b/po/bn.po
index fe854f2f..a9c4b205 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bn\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-06-15 12:31+0600\n"
"Last-Translator: Israt Jahan <israt@ankur.org.bd>\n"
"Language-Team: LBengali <ankur-bd-l10n@googlegroups.com>\n"
@@ -18,154 +18,176 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "সমর্থিত শব্দ ফরম্যাট"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "অন্যান্য ফাইলসমূহ (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "ফাইল খুলুন..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "প্লেলিস্টে ফাইল সংযুক্ত করুন..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "প্লেলিস্টে ফোল্ডার সংযুক্ত করুন..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "সহায়িকা ফাইল পড়তে ব্যর্থ হয়েছে"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "সহায়িকা ফাইল লোড করতে ব্যর্থ হয়েছে"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "সহায়তা"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "DeaDBeeF %s সম্বন্ধে"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s লগপরিবর্তন"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF এখন চালাচ্ছে"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "প্লেলিস্ট সম্পাদন করুন"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "শিরোনাম:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "প্লেলিস্ট পুনরায় নামকরণ করুন"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "প্লেলিস্ট অপসারণ করুন"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "নতুন প্লেলিস্ট যোগ করুন"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "পূর্বনির্ধারিত DeaDBeeF EQ সংরক্ষণ করুন"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "পূর্বনির্ধারিত DeaDBeeF EQ ফাইলসমূহ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "পূর্বনির্ধারিত DeaDBeeF EQ লোড করুন..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "পূর্বনির্ধারিত DeaDBeeF EQ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "পূর্বনির্ধারিত Foobar2000 EQ ইম্পোর্ট করুন..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "পূর্বনির্ধারিত Foobar2000 EQ (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "পূর্বনির্ধারিত অংশ লোড করুন"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "পূর্বনির্ধারিত Foobar2000 ইম্পোর্ট করুন"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "সক্রিয়"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "সবগুলো শূন্য"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "শূন্য প্রিম্প"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "শূন্য ব্যান্ড"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "পূর্বনির্ধারিত অংশ লোড করুন"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "পূর্বনির্ধারিত Foobar2000 ইম্পোর্ট করুন"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "প্রথম দিন %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d দিন %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "বন্ধ | %d ট্র্যাকসমুহ | %s সর্বমোট যতটুকু সময় চালানো হয়েছে"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "মোনো"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "স্টেরিও"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps"
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "বিরত | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
@@ -173,680 +195,735 @@ msgstr ""
"%s%s %s| %dHz | %d বিট | %s | %d:%02d / %s | %d ট্র্যাকসমূহ | %s যতটুকু সময় "
"চালানো হয়েছে"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "নতুন ভাবে প্লেলিস্ট সংরক্ষণ করুন"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF প্লেলিস্ট ফাইলসমূহ (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "প্লেলিস্ট লোড করুন"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "অন্যান্য ফাইলসমূহ (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "নতুন প্লেলিস্ট"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "নতুন প্লেলিস্ট (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "ফাইল (_F)"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "ফাইল খুলুন (_O)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "ফাইল যোগ করুন"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "ফোল্ডার যোগ করুন"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "অবস্থান যোগ করুন"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "নতুন প্লেলিস্ট"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "প্লেলিস্ট লোড করুন"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "প্লেলিস্ট সংরক্ষণ করুন"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "প্লেলিস্ট নতুনভাবে সংরক্ষণ করুন"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "প্রস্থান করুন (_Q)"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "সম্পাদনা করুন (_Q)"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "মুছে ফেলুন (_C)"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "সব নির্বাচন করুন"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "সব অনির্বাচিত করুন"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "বিপরীতমুখী নির্বাচন"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "নির্বাচন"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "অপসারণ"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "ছাঁটা"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "খুঁজুন (_F)"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "শিরোনাম"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "ফাইল সংখ্যা"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "অ্যালবাম"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "শিল্পী"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "স্বনির্ধারিত"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "পছন্দসমূহ"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "প্রদর্শন করুন (_V)"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "স্ট্যাটাস বার"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "কলাম শীর্ষচরণ"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "ট্যাব"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "ইকুয়ালাইজার"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "প্লেব্যাক (_P)"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "ক্রম"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "রৈখিক"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
msgstr "এলোমেলো করা"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
+msgstr "এলোমেলো করা"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "এলোমেলো"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "পুনরাবৃত্তি হচ্ছে"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "সবগুলো পুনরাবৃত্তি করুন"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "একক গান পুনরাবৃত্তি করুন"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "পুনরাবৃত্তি হবে না"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "স্ক্রল প্লেব্যাককে অনুসরণ করে"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "কার্সার প্লেব্যাককে অনুসরণ করে"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "বর্তমানটি হয়ে যাওয়ার পর থামুন"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "সহায়তা (_H)"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "লগপরিবর্তন (_C)"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "সম্বন্ধে (_A)"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "অনুসন্ধান করুন"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "বন্ধ করুন"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "চালান"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "বিরতি"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "পূর্ববর্তী"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "পরবর্তী"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "এলোমেলোভাবে চালান"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "সম্বন্ধে"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "প্রস্থান করুন"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "ফাইল যোগ করা হচ্ছে..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "বাতিল করুন (_A)"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "ট্র্যাক বৈশিষ্ট্যাবলী"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>সতর্কবানী</b>: ট্যাগ লেখার বৈশিষ্ট্যের উন্নয়নের কাজ এখনও চলছে। ব্যবহারের পূর্বে \n"
-"<b>ব্যাকআপ অনুলিপি তৈরি করে</b>।"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "প্রয়োগ করুন (_A)"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "বন্ধ করুন (_C)"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "মেটাডাটা"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "বৈশিষ্ট্যাবলী"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "কলামসম্পাদনাডায়ালগ"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "শিরোনাম:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "নতুন কলাম শিরোনাম দিন"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "টাইপ করুন:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "ফাইল সংখ্যা"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "চলছে"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "অ্যালবাম শিল্প"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "শিল্পী - অ্যালবাম"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "শিল্পী"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "অ্যালবাম"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "শিরোনাম"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "দৈর্ঘ্য"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "স্থিতিকাল"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "ট্র্যাক"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "ট্র্যাক নং"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "ব্যান্ড / অ্যালবাম শিল্পী"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "স্বনির্ধারিত"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "বিন্যাস:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "প্রান্তিককরণ:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "বাম"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "ডান"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, fuzzy, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"রূপান্তরের বিন্যাস (শুরু হয় % দিয়ে):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"উদাহরণ: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "বাতিল (_C)"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "ঠিক আছে (_O)"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "অাউটপুট প্লাগইন:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "অাউটপুট ডিভাইস:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "শব্দ"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "ডাইনামিক স্যাম্পলরেট বদলের অনুমোদন দেয়া হবে"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "স্যাম্পলরেট রূপান্তরের গুণগত মান:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "পুনরায় চালানোর মোড:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "নিষ্ক্রিয়"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "ট্র্যাক"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "পুনরায় চালনার সর্বোচ্চ মান"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "পুনরায় চালানোর মোড:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "প্লেব্যাক (_P)"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "কনফিগার"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "ট্রে ছোট করতে বন্ধ করুন"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "মাউসের মধ্যবর্তী বোতাম দ্বারা প্লেলিস্ট বন্ধ করা হয়"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "উপেক্ষা করা"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "পুরোভূমি"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "পটভূমি"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "সিকবার/ভলিউমবার এর রঙ"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "মধ্যবর্তী"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "হালকা"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "গাঢ়"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "ভিত্তি"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "টেক্সট"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "ট্যাবের অংশের রং"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "উপেক্ষা (GTK ট্রিভিউ থিমিং হারায়, কিন্তু পরিণত করার গতি বাড়ায়)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "জোড় সংখ্যক সারি"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "বিজোড় সংখ্যক সারি"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "টেক্সট"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "নির্বাচিত সারি"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "নির্বাচিত টেক্সট"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "কারসার"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "প্লেলিস্টের রং"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "প্রক্সি সার্ভার সক্রিয় করুন"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "প্রক্সি সার্ভারের ঠিকানা:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "প্রক্সি সার্ভারের পোর্ট:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "প্রক্সির ধরণ:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "প্রক্সি ব্যবহারকাীর নাম:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "প্রক্সি পাসওয়ার্ড:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "নেটওয়ার্ক"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "প্লাগইন"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "যা অনুসারে গ্রুপ হবে"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "বিন্যাস:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "নির্বাচন"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "প্লাগইন"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "ট্যাগ লেখক"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "ID3v2 লিখুন"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "ID3v1 লিখুন"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 লিখুন"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 অংশ"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 অংশ"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 অংশ"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 সংস্করণ"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "২.৩ (সুপারিশকৃত)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "২.৪"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 অক্ষর এনকোড করছে (iso8859-1 পূর্বনির্ধারিত)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "ID3v2.4 লিখুন"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "ট্যাগ লেখক"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "বর্ণনা:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "লেখক:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "ইমেইল:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "ওয়েবসাইট:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "কনফিগার"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "প্লাগইন"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "প্লেলিস্টডায়ালগসম্পাদনা"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "যা অনুসারে গ্রুপ হবে"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"রূপান্তরের বিন্যাস (শুরু হয় % দিয়ে):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"উদাহরণ: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "শিল্পী / অ্যালবাম"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "ট্র্যাক নং"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "শিরোনাম / ট্র্যাক শিল্পী"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "স্থিতিকাল"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "ডিস্ক থেকে ফাইল অপসারণ করুন"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -854,195 +931,222 @@ msgstr ""
"ফাইল মুছে যাবে। চালিয়ে যেতে চান?\n"
"(GTKUI প্লাগইন সেটিং এ এই ডায়ালগটি বন্ধ করা যেতে পারে)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "সতর্কবানী"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "প্লেব্যাকের সারিতে যোগ করুন"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "প্লেব্যাক সারি থেকে অপসারণ করুন"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "মেটাডাটা পুনরায় লোড করুন"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "ডিস্ক থেকে অপসারণ করুন"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "কলাম যোগ করুন"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "কলাম সম্পাদনা করুন"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "কলাম অপসারণ করুন"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "যা অনুসারে গ্রুপ হবে"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "কোনটি না"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "শিল্পী/তারিখ/অ্যালবাম"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "ফাইল খুলুন..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "নির্ধারণ %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "কনফিগার"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "পূর্বনির্ধারিত অডিও ডিভাইস"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "যোগ"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "গ্লোবাল হটকীসমূহ"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "স্লট"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "কী সমাবেশ"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA অাউটপুট প্লাগইন"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "ফাইল যোগ করা হচ্ছে..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "আরম্ভ করা হচ্ছে..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "আপনি এই ট্র্যাকে ডাটা পরিবর্তন করেছেন।"
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "সত্যিই উইন্ডোটি বন্ধ করতে চান?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "ট্যাগের ধরণ"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "সন্নিবেশিত তথ্যপৃষ্ঠা"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "হ্যাঁ"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "না"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "কী"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "মান"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF এখন চালাচ্ছে"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "সত্যিই উইন্ডোটি বন্ধ করতে চান?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "ফাইল যোগ করুন"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "অপসারণ"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "ব্যবহারের নিয়ম: deadbeef [অপশন] [ফাইল]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "অপশন:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --সহায়তা অথবা -h সহায়তা মুদ্রণ করুন (এই বার্তা) এবং প্রস্থান করুন\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --বন্ধ করুন প্লেয়ার বন্ধ করুন\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --সংস্করণ সংস্করণের তথ্য মুদ্রণ করে বন্ধ করুন\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --চালান প্লেব্যাক শুরু করুন\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --বন্ধ করুন প্লেব্যাক বন্ধ করুন\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --বিরতি প্লেব্যাক বিরত রাখুন\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --পরবর্তী প্লেলিস্টে পরবর্তী গান\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --পূর্ববর্তী প্লেলিস্টে পূর্ববর্তী গান\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --এলোমেলো প্লেলিস্টে এলোমেলো গান\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --সারি বিদ্যমান প্লেলিস্টে সবশেষে যোগ করা ফাইল\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --FMT এখন চলছে স্ট্যান্ডআউটে বিন্যাসিত ট্র্যাক নাম মুদ্রণ করুন\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1053,7 +1157,7 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1062,11 +1166,26 @@ msgstr ""
" e.g.: --এখন চলছে \"%%a - %%t\" মুদ্রণ হবে \"শিল্পী - "
"শিরোনাম\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "পূর্বনির্ধারিত"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "হ্যাঁ"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "না"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1074,7 +1193,13 @@ msgstr ""
"২.৩ (সুপারিশকৃত)‌‌\n"
"২.৪"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1084,17 +1209,18 @@ msgstr ""
"ট্র্যাক\n"
"অ্যালবাম"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1110,7 +1236,7 @@ msgstr ""
"ব্যান্ড / অ্যালবাম শিল্পী\n"
"স্বনির্ধারিত"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1119,74 +1245,673 @@ msgstr ""
"ডান"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "pixmap ফাইল পায়নি: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "ইনপুট বাফারিং এর জন্য যথেষ্ট মেমরি পায়নি।"
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "অডিও CD যোগ করুন"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "প্রক্সি সার্ভার সক্রিয় করুন"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF এখন চালাচ্ছে"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "প্রক্সি ব্যবহারকাীর নাম:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "প্রক্সি পাসওয়ার্ড:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "ডিস্ক থেকে ফাইল অপসারণ করুন"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "অ্যালবাম শিল্প"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "ট্র্যাক নং"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "শিরোনাম / ট্র্যাক শিল্পী"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "ফাইল সংখ্যা"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "অবস্থান যোগ করুন"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "ট্যাগের ধরণ"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "সন্নিবেশিত তথ্যপৃষ্ঠা"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Ogg বিটস্ট্রীমের প্রথম পৃষ্ঠা পড়ার সময় ত্রুটি ঘটেছে।"
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "প্রাথমিক শীর্ষচরণ প্যাকেট পড়ার সময় ত্রুটি ঘটেছে।"
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "নতুন স্ট্রীমের সিরিয়াল নাম্বার রেজিস্টার করার মত পর্যাপ্ত মেমরি পায়নি।"
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "ইনপুটটি কাঁটছাট করা অথবা ফাঁকা আছে।"
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "ইনপুট কোনো Ogg বিটস্ট্রীম নয়।"
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg বিটস্ট্রীম কোনো ভরবিস ডাটা ধারণ করেনা।"
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "সনাক্তকৃত স্ট্রীমের আগে ফাইলের শেষ।"
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg বিটস্ট্রীম সমর্থিত ধরণের ডাটা ধারণ করেনা।"
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "বিকৃত গৌণ শীর্ষচরণ।"
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "ভরবিস শীর্ষচরণ সমাপ্ত হওয়ার আগে ফাইলের শেষ।"
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "সব নির্বাচন করুন"
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "ডাটা বিকৃত বা অনুপস্থিত আছে, চলছে..."
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"আউটপুটে স্ট্রীম লেখার সময় ত্রুটি ঘটেছে। আউটপুট স্ট্রীমকে বিকৃত করা হয়েছে বা কাঁটছাট "
-"করা হয়েছে।"
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "কলাম সম্পাদনা করুন"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "অাউটপুট ডিভাইস:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "অাউটপুট প্লাগইন:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "পূর্বনির্ধারিত অংশ সংরক্ষণ করুন"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "উপেক্ষা করা"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "পূর্বনির্ধারিত অংশ লোড করুন"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "অাউটপুট প্লাগইন:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "APEv2 লিখুন"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "ID3v1 লিখুন"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "ID3v2 লিখুন"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "ট্যাগ লেখক"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "অডিও CD যোগ করুন"
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "প্লেলিস্ট নতুনভাবে সংরক্ষণ করুন"
+
+#~ msgid "_Abort"
+#~ msgstr "বাতিল করুন (_A)"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>সতর্কবানী</b>: ট্যাগ লেখার বৈশিষ্ট্যের উন্নয়নের কাজ এখনও চলছে। ব্যবহারের "
+#~ "পূর্বে \n"
+#~ "<b>ব্যাকআপ অনুলিপি তৈরি করে</b>।"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "কলামসম্পাদনাডায়ালগ"
+
+#~ msgid "Length"
+#~ msgstr "দৈর্ঘ্য"
+
+#, fuzzy
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "রূপান্তরের বিন্যাস (শুরু হয় % দিয়ে):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "উদাহরণ: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "ডাইনামিক স্যাম্পলরেট বদলের অনুমোদন দেয়া হবে"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "স্যাম্পলরেট রূপান্তরের গুণগত মান:"
+
+#~ msgid "Description:"
+#~ msgstr "বর্ণনা:"
+
+#~ msgid "Author(s):"
+#~ msgstr "লেখক:"
+
+#~ msgid "Email:"
+#~ msgstr "ইমেইল:"
+
+#~ msgid "Website:"
+#~ msgstr "ওয়েবসাইট:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "প্লেলিস্টডায়ালগসম্পাদনা"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "রূপান্তরের বিন্যাস (শুরু হয় % দিয়ে):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "উদাহরণ: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "নির্ধারণ %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA অাউটপুট প্লাগইন"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "ইনপুট বাফারিং এর জন্য যথেষ্ট মেমরি পায়নি।"
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Ogg বিটস্ট্রীমের প্রথম পৃষ্ঠা পড়ার সময় ত্রুটি ঘটেছে।"
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "প্রাথমিক শীর্ষচরণ প্যাকেট পড়ার সময় ত্রুটি ঘটেছে।"
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "নতুন স্ট্রীমের সিরিয়াল নাম্বার রেজিস্টার করার মত পর্যাপ্ত মেমরি পায়নি।"
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "ইনপুটটি কাঁটছাট করা অথবা ফাঁকা আছে।"
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "ইনপুট কোনো Ogg বিটস্ট্রীম নয়।"
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg বিটস্ট্রীম কোনো ভরবিস ডাটা ধারণ করেনা।"
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "সনাক্তকৃত স্ট্রীমের আগে ফাইলের শেষ।"
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg বিটস্ট্রীম সমর্থিত ধরণের ডাটা ধারণ করেনা।"
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "বিকৃত গৌণ শীর্ষচরণ।"
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "ভরবিস শীর্ষচরণ সমাপ্ত হওয়ার আগে ফাইলের শেষ।"
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "ডাটা বিকৃত বা অনুপস্থিত আছে, চলছে..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "আউটপুটে স্ট্রীম লেখার সময় ত্রুটি ঘটেছে। আউটপুট স্ট্রীমকে বিকৃত করা হয়েছে বা কাঁটছাট "
+#~ "করা হয়েছে।"
#~ msgid "Sound (adv.)"
#~ msgstr "শব্দ (adv.)"
diff --git a/po/ca.po b/po/ca.po
index bd14141b..e0256c9a 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-09-01 00:39+0200\n"
"Last-Translator: sisco <sisco.garcia@ubuntu.cat>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,1061 +18,1154 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formats de so suportats"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Altres fitxers (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Obre fitxer(s)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Afegeix fitxer(s) a la llista..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Afegeix directori(s) a la llista..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
#, fuzzy
msgid "Failed while reading help file"
msgstr "Errada mentre llegia el fitxer d'ajuda"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Error en la càrrega del fitxer d'ajuda"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Ajuda"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, fuzzy, c-format
msgid "About DeaDBeeF %s"
msgstr "Sobre DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, fuzzy, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Registre de canvis al DeaDBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Edita la llista de reproducció"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Títol:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Reanomena la Llista de Reproducció"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Elimina la Llista de Reproducció"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Afegeix una Nova Llista de Reproducció"
# Suposo que el més correcte seria «Desa els preajustaments d'equalització del DeaDBeeF», però ho trobo excessiu.
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
#, fuzzy
msgid "Save DeaDBeeF EQ Preset"
msgstr "Desa el DeaDBeeF EQ Preset"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
#, fuzzy
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Fitxers de preajustament del DeaDBeeF EQ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Carrega els Preajustaments del DeaDBeeF EQ..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Preajustaments del DeaDBeeF EQ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importa els Preajustaments Foobar2000 EQ..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Preajustaments Foobar2000 EQ (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Carrega els preajustaments"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importa els preajustaments del Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Activa"
# podria ser «tots muts»?
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
#, fuzzy
msgid "Zero All"
msgstr "Tots nuls"
# Podria ser «emmudeix el preamplificador»?
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
#, fuzzy
msgid "Zero Preamp"
msgstr "Preamplificador a Zero"
# Podria ser «emmudeix les bandes»?
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
#, fuzzy
msgid "Zero Bands"
msgstr "Bandes a zero"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Desa els preajustaments"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Carrega els preajustaments"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importa els preajustaments del Foobar2000"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, fuzzy, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dia %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, fuzzy, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dies %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, fuzzy, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Aturat | %d temes | %s temps total"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
#, fuzzy
msgid "Stereo"
msgstr "Estèreo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, fuzzy, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps"
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "En pausa |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, fuzzy, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d temes | %s temps total"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Anomena i desa la Llista de Reproducció"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Fitxers de la Llista de Reproducció DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Carrega la Llista de Reproducció"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Altres fitxers (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Llista de Reproducció Nova"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Llista de Reproducció Nova (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Fitxer"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Obre fitxer(s)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Afegeix fitxer(s)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Afegeix fitxer(s)"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Afegeix localització"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nova llista de reproducció"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Carrega la llista de reproducció"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Desa la llista de reproducció"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Anomena i desa la llista de reproducció"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Surt"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Edita"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Neteja"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Selecciona-ho tot"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Deselecciona-ho tot"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverteix la selecció"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Selecció"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Elimina"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr ""
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
#, fuzzy
msgid "_Find"
msgstr "_Troba"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Títol"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Nombre de fitxer"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Àlbum"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artista"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Personalització"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferències"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Vista"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barra d'estat"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Encapçalaments de columna"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Pestanyes"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalitzador"
# Suposo que «Playback» és admès hores d'ara.
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Reproducció"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Ordre"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
#, fuzzy
msgid "Linear"
msgstr "Lineal"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Shuffle"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
#, fuzzy
-msgid "Shuffle"
+msgid "Shuffle albums"
msgstr "Shuffle"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Aleatori"
# Podria ser «bucle»?
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
#, fuzzy
msgid "Looping"
msgstr "Repeteix"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
#, fuzzy
msgid "Loop All"
msgstr "Repeteix totes"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
#, fuzzy
msgid "Loop Single Song"
msgstr "Repeteix una sola cançó"
# Potser és millor «Deixa de repetir»?
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
#, fuzzy
msgid "Don't Loop"
msgstr "No repeteixis"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
#, fuzzy
msgid "Scroll follows playback"
msgstr "L'escroll segueix la reproducció"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
#, fuzzy
msgid "Cursor follows playback"
msgstr "El cursor segueix la reproducció"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Atura't en acabar l'actual"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Ajuda"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Registre de Canvis"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Sobre"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Cerca"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Atura"
# Potser ja s'admet «Play»?
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
#, fuzzy
msgid "Play"
msgstr "Engega"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "En pausa"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Anterior"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Següent"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Reproducció aleatòria"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Sobre"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Surt"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Afegint fitxers..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-#, fuzzy
-msgid "_Abort"
-msgstr "_Avorta"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Propietats del tema"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-#, fuzzy
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>AVÍS<b>: l'opció d'escriptura d'etiquetes encara és en fase de "
-"desenvolupament. \n"
-"<b>Fes còpies de seguretat</b> abans d'utilitzar-ho."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Aplica"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Tanca"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadada"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Propietats"
-# editcolumndlg
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-#, fuzzy
-msgid "editcolumndlg"
-msgstr "editacolumnadlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Títol:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Introduïu un nou títol de columna aquí"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tipus:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Nombre de fitxer"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Reproduint"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr ""
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artista - Àlbum"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Artista"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Àlbum"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Títol"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Durada"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr ""
-# Pista?
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-#, fuzzy
-msgid "Track"
-msgstr "Tema"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr ""
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Banda / Àlbum Artista"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Personalització"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Alineació:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Esquerra"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Dreta"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, fuzzy, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format de conversions (comença amb %):\n"
-"[a]rtista, [t]ítol, al[b]um, [B]anda, [C]ompositor\n"
-"[n]ombre de tema, [N]temestotals,\n"
-"[l]largada, an[y], [g]ènere, [c]omentari,\n"
-"copy[r]ight, nom[f]itxer, e[T]iquetes\n"
-"Exemple: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Cancel·la"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Correcte"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
#, fuzzy
msgid "Output plugin:"
msgstr "Connexió de sortida:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Dispositiu de sortida"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "So"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
msgstr ""
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
-msgid "Replaygain mode:"
+# Pista?
+#: ../plugins/gtkui/interface.c:1874
+#, fuzzy
+msgid "Track"
+msgstr "Tema"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
-msgid "Disable"
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
msgstr ""
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
-msgid "Replaygain peak scale"
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
# Suposo que «Playback» és admès hores d'ara.
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "_Reproducció"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr ""
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr ""
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr ""
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr ""
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr ""
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr ""
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr ""
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr ""
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr ""
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
-msgid "Write ID3v2"
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
msgstr ""
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
-msgid "Write ID3v1"
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
msgstr ""
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
-msgid "Write APEv2"
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
msgstr ""
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
-msgid "Strip ID3v2"
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
-msgid "Strip ID3v1"
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
-msgid "Strip APEv2"
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
-msgid "ID3v2 version"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Format:"
-#: ../plugins/gtkui/interface.c:2247
-msgid "2.3 (Recommended)"
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2248
-msgid "2.4"
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
-msgid "ID3v1 character encoding (default is iso8859-1)"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Selecció"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "Write ID3v2.4"
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
msgstr ""
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
msgstr ""
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
msgstr ""
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format de conversions (comença amb %):\n"
-"[a]rtista, [t]ítol, al[b]um, [B]anda, [C]ompositor\n"
-"[n]ombre de tema, [N]temestotals,\n"
-"[l]largada, an[y], [g]ènere, [c]omentari,\n"
-"copy[r]ight, nom[f]itxer, e[T]iquetes\n"
-"Exemple: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
-msgid "Artist / Album"
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
-msgid "Track No"
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr ""
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Afegint fitxers..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Afegeix fitxer(s)"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Elimina"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr ""
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr ""
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr ""
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr ""
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr ""
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr ""
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr ""
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr ""
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr ""
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr ""
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1080,115 +1173,658 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
msgstr ""
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Afegeix Àudio CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Títol"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Nombre de fitxer"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Afegeix localització"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Selecciona-ho tot"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Dispositiu de sortida"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Connexió de sortida:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Desa els preajustaments"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Carrega els preajustaments"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Connexió de sortida:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "Afegeix Àudio CD"
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Anomena i desa la llista de reproducció"
+
+#, fuzzy
+#~ msgid "_Abort"
+#~ msgstr "_Avorta"
+
+#, fuzzy
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>AVÍS<b>: l'opció d'escriptura d'etiquetes encara és en fase de "
+#~ "desenvolupament. \n"
+#~ "<b>Fes còpies de seguretat</b> abans d'utilitzar-ho."
+
+# editcolumndlg
+#, fuzzy
+#~ msgid "editcolumndlg"
+#~ msgstr "editacolumnadlg"
+
+#~ msgid "Length"
+#~ msgstr "Durada"
+
+#, fuzzy
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format de conversions (comença amb %):\n"
+#~ "[a]rtista, [t]ítol, al[b]um, [B]anda, [C]ompositor\n"
+#~ "[n]ombre de tema, [N]temestotals,\n"
+#~ "[l]largada, an[y], [g]ènere, [c]omentari,\n"
+#~ "copy[r]ight, nom[f]itxer, e[T]iquetes\n"
+#~ "Exemple: %a - %t [%l]"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format de conversions (comença amb %):\n"
+#~ "[a]rtista, [t]ítol, al[b]um, [B]anda, [C]ompositor\n"
+#~ "[n]ombre de tema, [N]temestotals,\n"
+#~ "[l]largada, an[y], [g]ènere, [c]omentari,\n"
+#~ "copy[r]ight, nom[f]itxer, e[T]iquetes\n"
+#~ "Exemple: %a - %t [%l]"
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 00000000..95e39eea
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,1801 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Vašek Kovářík <l3d9z6@seznam.cz>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DeaDBeeF\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-11-18 18:16+0100\n"
+"Last-Translator: Vašek Kovářík <l3d9z6@seznam.cz>\n"
+"Language-Team: čeština <>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Country: Czech Republic\n"
+"X-Poedit-Language: Czech\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../plugins/gtkui/callbacks.c:123
+msgid "Supported sound formats"
+msgstr "Podporované zvukové formáty"
+
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
+msgstr "Další soubory (*)"
+
+#: ../plugins/gtkui/callbacks.c:144
+msgid "Open file(s)..."
+msgstr "Otevřít soubor(y)..."
+
+#: ../plugins/gtkui/callbacks.c:179
+msgid "Add file(s) to playlist..."
+msgstr "Přidat soubor(y) do playlistu..."
+
+#: ../plugins/gtkui/callbacks.c:220
+msgid "Add folder(s) to playlist..."
+msgstr "Přidat adresář(e) do playlistu..."
+
+#: ../plugins/gtkui/callbacks.c:225
+msgid "Follow symlinks"
+msgstr "Následovat symbolické odkazy"
+
+#: ../plugins/gtkui/callbacks.c:711
+msgid "Failed while reading help file"
+msgstr "Chyba při čtení souboru nápovědy"
+
+#: ../plugins/gtkui/callbacks.c:721
+msgid "Failed to load help file"
+msgstr "Selhalo načtení souboru nápovědy"
+
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
+msgid "Help"
+msgstr "Nápověda"
+
+#: ../plugins/gtkui/callbacks.c:747
+#, c-format
+msgid "About DeaDBeeF %s"
+msgstr "O aplikaci DeaDBeeF %s"
+
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
+msgid "DeaDBeeF %s ChangeLog"
+msgstr "DeaDBeeF %s ChangeLog"
+
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF přeložili"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
+msgid "Edit playlist"
+msgstr "Upravit playlist"
+
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Název:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
+msgid "Rename Playlist"
+msgstr "Přejmenovat playlist"
+
+#: ../plugins/gtkui/ddbtabstrip.c:821
+msgid "Remove Playlist"
+msgstr "Odstranit playlist"
+
+#: ../plugins/gtkui/ddbtabstrip.c:828
+msgid "Add New Playlist"
+msgstr "Přidat nový playlist"
+
+#: ../plugins/gtkui/eq.c:136
+msgid "Save DeaDBeeF EQ Preset"
+msgstr "Uložit předvolbu ekvalizéru DeaDBeeF"
+
+#: ../plugins/gtkui/eq.c:143
+msgid "DeaDBeeF EQ preset files (*.ddbeq)"
+msgstr "Soubory předvoleb ekvalizéru DeaDBeeF (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:182
+msgid "Load DeaDBeeF EQ Preset..."
+msgstr "Načíst předvolby ekvalizéru DeaDBeeF..."
+
+#: ../plugins/gtkui/eq.c:186
+msgid "DeaDBeeF EQ presets (*.ddbeq)"
+msgstr "Předvolby ekvalizéru DeaDBeeF (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:247
+msgid "Import Foobar2000 EQ Preset..."
+msgstr "Importovat předvolby ekvalizéru Foobar2000..."
+
+#: ../plugins/gtkui/eq.c:251
+msgid "Foobar2000 EQ presets (*.feq)"
+msgstr "Předvolby ekvalizéru Foobar2000 (*.feq)"
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Uložit předvolbu"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Načíst předvolbu"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importovat předvolby Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
+msgstr "Povolit"
+
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
+msgstr "Vynulovat vše"
+
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
+msgstr "Vynulovat předzesilovač"
+
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
+msgstr "Vynulovat pásma"
+
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Předvolby"
+
+#: ../plugins/gtkui/gtkui.c:137
+#, c-format
+msgid "1 day %d:%02d:%02d"
+msgstr "1 den %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:140
+#, c-format
+msgid "%d days %d:%02d:%02d"
+msgstr "%d dní %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:149
+#, c-format
+msgid "Stopped | %d tracks | %s total playtime"
+msgstr "Zastaveno | %d stop | %s celkový čas přehrávání"
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Mono"
+msgstr "Mono"
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Stereo"
+msgstr "Stereo"
+
+#: ../plugins/gtkui/gtkui.c:187
+#, c-format
+msgid "| %4d kbps "
+msgstr "| %4d kbps "
+
+#: ../plugins/gtkui/gtkui.c:193
+msgid "Paused | "
+msgstr "Zastaveno | "
+
+#: ../plugins/gtkui/gtkui.c:198
+#, c-format
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d stop | %s celkový čas "
+"přehrávání"
+
+#: ../plugins/gtkui/gtkui.c:644
+msgid "Save Playlist As"
+msgstr "Uložit playlist jako"
+
+#: ../plugins/gtkui/gtkui.c:655
+msgid "DeaDBeeF playlist files (*.dbpl)"
+msgstr "Soubory playlistů DeaDBeeF (*.dbpl)"
+
+#: ../plugins/gtkui/gtkui.c:773
+msgid "Load Playlist"
+msgstr "Načíst playlist"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Další soubory (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
+msgid "New Playlist"
+msgstr "Nový playlist"
+
+#: ../plugins/gtkui/gtkui.c:929
+#, c-format
+msgid "New Playlist (%d)"
+msgstr "Nový playlist (%d)"
+
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
+msgid "_File"
+msgstr "_Soubor"
+
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
+msgid "_Open file(s)"
+msgstr "_Otevřít soubor(y)"
+
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+msgid "Add file(s)"
+msgstr "Přidat soubor(y)"
+
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
+msgid "Add folder(s)"
+msgstr "Přidat složku(y)"
+
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
+msgid "Add location"
+msgstr "Přidat umístění"
+
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
+msgid "New playlist"
+msgstr "Nový playlist"
+
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
+msgid "Load playlist"
+msgstr "Načíst playlist"
+
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
+msgid "Save playlist"
+msgstr "Uložit playlist"
+
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
+msgid "_Quit"
+msgstr "_Zavřít"
+
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
+msgid "_Edit"
+msgstr "_Upravit"
+
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
+msgid "_Clear"
+msgstr "_Smazat"
+
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
+msgid "Select all"
+msgstr "Vybrat vše"
+
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
+msgid "Deselect all"
+msgstr "Zrušit výběr "
+
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
+msgid "Invert selection"
+msgstr "Invertovat výběr"
+
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "Selection"
+msgstr "Výběr"
+
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
+msgid "Remove"
+msgstr "Odstranit"
+
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
+msgid "Crop"
+msgstr "Ořez"
+
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
+msgid "_Find"
+msgstr "_Hledat"
+
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Třídit dle"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Název"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Číslo stopy"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Umělec"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Datum"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Vlastní"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
+msgid "Preferences"
+msgstr "Nastavení"
+
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
+msgid "_View"
+msgstr "_Zobrazit"
+
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
+msgid "Status bar"
+msgstr "Stavový řádek"
+
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
+msgid "Column headers"
+msgstr "Záhlaví sloupců"
+
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Tabs"
+msgstr "Záložky"
+
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
+msgid "Equalizer"
+msgstr "Ekvalizér"
+
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
+msgid "_Playback"
+msgstr "_Přehrát"
+
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
+msgid "Order"
+msgstr "Pořadí"
+
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
+msgid "Linear"
+msgstr "Lineárně"
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Náhodné stopy"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Náhodná alba"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
+msgid "Random"
+msgstr "Náhodně"
+
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
+msgid "Looping"
+msgstr "Opakování"
+
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
+msgid "Loop All"
+msgstr "Opakovat vše"
+
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
+msgid "Loop Single Song"
+msgstr "Opakovat jednotlivou skladbu"
+
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
+msgid "Don't Loop"
+msgstr "Neopakovat"
+
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
+msgid "Scroll follows playback"
+msgstr "Posunovat s přehráváním"
+
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
+msgid "Cursor follows playback"
+msgstr "Sledovat kurzorem přehrávání"
+
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
+msgid "Stop after current"
+msgstr "Zastavit po aktuální"
+
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Přeskočit na aktuální stopu"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
+msgid "_Help"
+msgstr "_Nápověda"
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
+msgid "_ChangeLog"
+msgstr "_ChangeLog"
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
+msgid "_About"
+msgstr "_O aplikaci"
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "_Přeložili"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
+msgid "Search"
+msgstr "Hledat"
+
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
+msgid "Stop"
+msgstr "Zastavit"
+
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
+msgid "Play"
+msgstr "Přehrát"
+
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
+msgid "Pause"
+msgstr "Pauza"
+
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
+msgid "Previous"
+msgstr "Předchozí"
+
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
+msgid "Next"
+msgstr "Následující"
+
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
+msgid "Play Random"
+msgstr "Přehrát náhodně"
+
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
+msgid "About"
+msgstr "Info"
+
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
+msgid "Quit"
+msgstr "Konec"
+
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Track Properties"
+msgstr "Vlastnosti skladby"
+
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Nastavení"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
+msgid "_Apply"
+msgstr "_Použít"
+
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
+msgid "_Close"
+msgstr "_Zavřít"
+
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
+msgid "Metadata"
+msgstr "Metadata"
+
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
+msgid "Properties"
+msgstr "Vlastnosti"
+
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
+msgid "Enter new column title here"
+msgstr "Zde vložit nový název sloupce"
+
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "Type:"
+msgstr "Typ:"
+
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Rejstřík"
+
+#. create default set of columns
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
+msgid "Playing"
+msgstr "Přehrávání"
+
+#: ../plugins/gtkui/interface.c:1512
+msgid "Album Art"
+msgstr "Obal alba"
+
+#: ../plugins/gtkui/interface.c:1513
+msgid "Artist - Album"
+msgstr "Umělec - Album"
+
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Trvání"
+
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Číslo stopy"
+
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
+msgid "Band / Album Artist"
+msgstr "Skupina/umělec alba"
+
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
+msgid "Format:"
+msgstr "Formát:"
+
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
+msgid "Alignment:"
+msgstr "Zarovnání:"
+
+#: ../plugins/gtkui/interface.c:1559
+msgid "Left"
+msgstr "Vlevo"
+
+#: ../plugins/gtkui/interface.c:1560
+msgid "Right"
+msgstr "Vpravo"
+
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
+msgid "_Cancel"
+msgstr "_Zrušit"
+
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
+msgid "_OK"
+msgstr "_OK"
+
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
+msgid "Output plugin:"
+msgstr "Výstupní zásuvné moduly:"
+
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
+msgid "Output device:"
+msgstr "Výstupní zařízení:"
+
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Vždy převést 8 bit audio na 16 bit"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr "Zvuk"
+
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
+msgstr "Režim replaygain:"
+
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
+msgstr "Zakázat"
+
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Stopa"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
+msgstr "Měřítko vrcholu replaygain"
+
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Předzesilovač replaygain:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+#, fuzzy
+msgid "Global preamp:"
+msgstr "Předzesilovač replaygain:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
+msgid "Add files from command line (or file manager) to this playlist:"
+msgstr ""
+"Přidat soubory z příkazové řádky (nebo souborového manažeru) do tohoto "
+"playlistu:"
+
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
+msgid "Resume previous session on startup"
+msgstr "Při startu obnovit předchozí sezení"
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Ignorovat archivy během přidávání adresářů"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
+msgid "Playback"
+msgstr "Přehrát"
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Nastavit"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Předvolba DSP"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Načíst"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
+msgid "Close minimizes to tray"
+msgstr "Zavřít do traye"
+
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
+msgid "Middle mouse button closes playlist"
+msgstr "Zavřít playlist prostředním tlačítkem myši"
+
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
+msgid "Hide system tray icon"
+msgstr "Skrýt ikonu v trayi"
+
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Use bold font for currently playing track"
+msgstr "Použít tučný font pro přehrávanou stopu"
+
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
+msgid "Hide \"Delete from disk\" context menu item"
+msgstr "Skrýt položku \"Smazat z disku\" z kontextového menu"
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Automaticky pojmenovat přidaný adresář"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Četnost obnovení rozhraní (za vteřinu):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
+msgid "Titlebar text while playing:"
+msgstr "Titulní text během přehrávání:"
+
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
+msgid "Titlebar text while stopped:"
+msgstr "Titulní text během zastavení:"
+
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "GUI Plugin (vyžaduje restart):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr "GUI"
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
+msgid "Override"
+msgstr "Předefinovat"
+
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
+msgid "Foreground"
+msgstr "Popředí"
+
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
+msgid "Background"
+msgstr "Pozadí"
+
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
+msgid "Seekbar/Volumebar colors"
+msgstr "Barvy průběhu hledání/hlasitosti"
+
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
+msgid "Middle"
+msgstr "Střední"
+
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
+msgid "Light"
+msgstr "Světlé"
+
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
+msgid "Dark"
+msgstr "Tmavé"
+
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
+msgid "Base"
+msgstr "Základní"
+
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Text"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
+msgid "Tab strip colors"
+msgstr "Barvy lišty záložek"
+
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
+msgid "Override (looses GTK treeview theming, but speeds up rendering)"
+msgstr "Předefinovat (ztratí GTK téma, ale zrychlí vykreslování)"
+
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
+msgid "Even row"
+msgstr "Sudý řádek"
+
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
+msgid "Odd row"
+msgstr "Lichý řádek"
+
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
+msgid "Selected row"
+msgstr "Vybraný řádek"
+
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
+msgid "Selected text"
+msgstr "Vybraný text"
+
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
+msgid "Cursor"
+msgstr "Kurzor"
+
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
+msgid "Playlist colors"
+msgstr "Barvy playlistu"
+
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
+msgid "Colors"
+msgstr "Barvy"
+
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
+msgid "Enable Proxy Server"
+msgstr "Povolit server Proxy"
+
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
+msgid "Proxy Server Address:"
+msgstr "Adresa Proxy serveru:"
+
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
+msgid "Proxy Server Port:"
+msgstr "Port Proxy serveru:"
+
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
+msgid "Proxy Type:"
+msgstr "Typ Proxy:"
+
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
+msgid "Proxy Username:"
+msgstr "Uživatelské jméno Proxy:"
+
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
+msgid "Proxy Password:"
+msgstr "Heslo Proxy:"
+
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
+msgid "Network"
+msgstr "Síť"
+
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Verze:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Copyright"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Zásuvné moduly"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Seskupit dle"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Třídit dle..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Formát"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Vzestupně"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Sestupně"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Vybrat zásuvný modul DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Zásuvný modul"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Nastavení autora popisku"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
+msgstr "Zapsat ID3v2"
+
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
+msgstr "Zapsat ID3v1"
+
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
+msgstr "Zapsat APEv2"
+
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
+msgstr "Odstranit ID3v2"
+
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
+msgstr "Odstranit ID3v1"
+
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
+msgstr "Odstranit APEv2"
+
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
+msgstr "Verze ID3v2"
+
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr "2.3 (Doporučeno)"
+
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr "2.4"
+
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr "Kódování znaků ID3v1 (výchozí je iso8859-1)"
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
+msgstr "Zapsat ID3v2.4"
+
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
+msgstr "Umělec / Album"
+
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
+msgstr "Stopa č."
+
+#: ../plugins/gtkui/plcommon.c:338
+msgid "Delete files from disk"
+msgstr "Smazat soubory z disku"
+
+#: ../plugins/gtkui/plcommon.c:339
+msgid ""
+"Files will be lost. Proceed?\n"
+"(This dialog can be turned off in GTKUI plugin settings)"
+msgstr ""
+"Soubory budou ztraceny. Pokračovat?\n"
+"(Tento dialog lze vypnout v nastavení zásuvného modulu GTKUI)"
+
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
+msgid "Warning"
+msgstr "Upozornění"
+
+#: ../plugins/gtkui/plcommon.c:444
+msgid "Add to playback queue"
+msgstr "Přidat do fronty přehrávání"
+
+#: ../plugins/gtkui/plcommon.c:449
+msgid "Remove from playback queue"
+msgstr "Odstranit z fronty přehrávání"
+
+#: ../plugins/gtkui/plcommon.c:457
+msgid "Reload metadata"
+msgstr "Znovu načíst metadata"
+
+#: ../plugins/gtkui/plcommon.c:476
+msgid "Remove from disk"
+msgstr "Odstranit z disku"
+
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
+msgid "Add column"
+msgstr "Přidat sloupec"
+
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
+msgid "Edit column"
+msgstr "Upravit sloupec"
+
+#: ../plugins/gtkui/plcommon.c:988
+msgid "Remove column"
+msgstr "Odstranit sloupec"
+
+#: ../plugins/gtkui/plcommon.c:998
+msgid "Group by"
+msgstr "Seskupit dle"
+
+#: ../plugins/gtkui/plcommon.c:1005
+msgid "None"
+msgstr "Žádné"
+
+#: ../plugins/gtkui/plcommon.c:1009
+msgid "Artist/Date/Album"
+msgstr "Umělec/Datum/Album"
+
+#: ../plugins/gtkui/pluginconf.c:42
+msgid "Open file..."
+msgstr "Otevřít soubor..."
+
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format
+msgid "Configure %s"
+msgstr "Nastavit %s"
+
+#: ../plugins/gtkui/prefwin.c:82
+msgid "Default Audio Device"
+msgstr "Výchozí audio zařízení"
+
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
+msgid "Add"
+msgstr "Přidat"
+
+#: ../plugins/gtkui/prefwin.c:328
+msgid "Global Hotkeys"
+msgstr "Globální klávesové zkratky"
+
+#: ../plugins/gtkui/prefwin.c:390
+msgid "Slot"
+msgstr "Slot"
+
+#: ../plugins/gtkui/prefwin.c:391
+msgid "Key combination"
+msgstr "Kombinace kláves"
+
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Přidávají se soubory..."
+
+#: ../plugins/gtkui/progress.c:90
+msgid "Initializing..."
+msgstr "Inicializuje se..."
+
+#: ../plugins/gtkui/trkproperties.c:159
+msgid "You've modified data for this track."
+msgstr "Byla změněna data této stopy."
+
+#: ../plugins/gtkui/trkproperties.c:161
+msgid "Really close the window?"
+msgstr "Opravdu zavřít okno?"
+
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Vícenásobné hodnoty]"
+
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Klávesa"
+
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Hodnota"
+
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Zapisují se tagy..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Jméno:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Název pole nesmí začínat : nebo _"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Nelze přidat pole"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Pole s tímto názvem již existuje, prosím, zvolte jiný název."
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Opravdu odstranit vybrané pole?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Přidat pole"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Odstranit pole"
+
+#: ../main.c:91
+#, c-format
+msgid "Usage: deadbeef [options] [file(s)]\n"
+msgstr "Použití: deadbeef [volby] [soubor(y)]\n"
+
+#: ../main.c:92
+#, c-format
+msgid "Options:\n"
+msgstr "Volby:\n"
+
+#: ../main.c:93
+#, c-format
+msgid " --help or -h Print help (this message) and exit\n"
+msgstr " --help or -h Zobrazit nápovědu (tuto zprávu) a ukončit\n"
+
+#: ../main.c:94
+#, c-format
+msgid " --quit Quit player\n"
+msgstr " --quit Zavřít přehrávač\n"
+
+#: ../main.c:95
+#, c-format
+msgid " --version Print version info and exit\n"
+msgstr " --version Zobrazit verzi a ukončit\n"
+
+#: ../main.c:96
+#, c-format
+msgid " --play Start playback\n"
+msgstr " --play Zahájit přehrávání\n"
+
+#: ../main.c:97
+#, c-format
+msgid " --stop Stop playback\n"
+msgstr " --stop Zastavit přehrávání\n"
+
+#: ../main.c:98
+#, c-format
+msgid " --pause Pause playback\n"
+msgstr " --pause Pauza přehrávání\n"
+
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Přepnout pauzu\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+" --play-pause Spustit přehrávání, pokud je zastaveno, jinak přepnout "
+"pauzu\n"
+
+#: ../main.c:101
+#, c-format
+msgid " --next Next song in playlist\n"
+msgstr " --next Další skladba z playlistu\n"
+
+#: ../main.c:102
+#, c-format
+msgid " --prev Previous song in playlist\n"
+msgstr " --prev Předchozí skladba z playlistu\n"
+
+#: ../main.c:103
+#, c-format
+msgid " --random Random song in playlist\n"
+msgstr " --random Náhodná skladba z playlistu\n"
+
+#: ../main.c:104
+#, c-format
+msgid " --queue Append file(s) to existing playlist\n"
+msgstr " --queue Připojit soubor(y) do existujícího playlistu\n"
+
+#: ../main.c:105
+#, c-format
+msgid " --nowplaying FMT Print formatted track name to stdout\n"
+msgstr " --nowplaying FMT Zapsat zformátovaný název stopy do stdout\n"
+
+#: ../main.c:106
+#, c-format
+msgid ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+msgstr ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" např.: --nowplaying \"%%a - %%t\" zapíše \"umělec - "
+"název\"\n"
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+" pro další informace navštivte http://sourceforge.net/"
+"apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
+msgid "Default"
+msgstr "Výchozí"
+
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Ano"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ne"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
+msgid ""
+"2.3 (Recommended)\n"
+"2.4"
+msgstr ""
+"2.3 (Doporučeno)\n"
+"2.4"
+
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Vzestupně\n"
+"Sestupně"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
+msgid ""
+"Disable\n"
+"Track\n"
+"Album"
+msgstr ""
+"Zakázat\n"
+"Stopa\n"
+"Album"
+
+#: ../plugins/gtkui/deadbeef.glade.h:56
+msgid ""
+"Item Index\n"
+"Playing\n"
+"Album Art\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Title\n"
+"Duration\n"
+"Track Number\n"
+"Band / Album Artist\n"
+"Custom"
+msgstr ""
+"Rejstřík\n"
+"Přehrávání\n"
+"Obal alba\n"
+"Umělec - Album\n"
+"Umělec\n"
+"Název\n"
+"Trvání\n"
+"Číslo stopy\n"
+"Skupina / umělec alba\n"
+"Vlastní"
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
+msgid ""
+"Left\n"
+"Right"
+msgstr ""
+"Vlevo\n"
+"Vpravo"
+
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
+#, c-format
+msgid "Couldn't find pixmap file: %s"
+msgstr "Nelze najít pixmap soubor: %s"
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wilmidi: konfigurační soubor freepats nenalezen. Instalujte balíček timidity-"
+"freepats nebo v nastavení zásuvného modulu nastavte cestu k souboru freepats."
+"cfg"
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Přidat Audio CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Vyhledat na Last.fm"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "Použít ALSA převzorkování"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Při zastavení uvolnit zařízení"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "Preferovaná velikost bufferu"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "Preferovaná perioda bufferu"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "Povolit scrobbler"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Zakázat nowplaying"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Uživatelské jméno"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Heslo"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Scrobble URL"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Soubor zařízení"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Obcházení chyb vzorkovací frekvence OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "Perioda aktualizace vyrovnávací paměti (hod)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "Získat z vložených popisků"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "Získat z místního adresáře"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "Maska místního souboru s obalem"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "Získat z Last.fm"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "Získat z albumart.org"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Přizpůsobit obrázek delší straně"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "Použít CDDB/FreeDB"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "Upřednostnit CD-Text před CDDB"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "CDDB url (např. 'freedb.org')"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "Číslo portu CDDB (např. '888')"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "Upřednostnit protokol CDDB před HTTP"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "Povolit podporu obrázků NRG"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "Převzorkovat kvalitu (0..2, vyšší je lepší)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "Maximální délka skladby (v minutách)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Potvrzovat mazání souborů z disku"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "Citlivost ovládání hlasitosti"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "Vlastní ikona stavu"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "Spustit gtk_init se --sync (ladící režim )"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Přidat oddělovače mezi položky kontextového menu zásuvných modulů"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Formát titulku upozornění"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Formát obsahu upozornění"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Zobrazit obal alba"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Velikost obalu alba (px)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "Server PulseAudio"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "Vzorkovací frekvence"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "Relativní cesta vyhledávací tabulky"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "Absolutní cesta vyhledávací tabulky"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "Přehození audio bajtů (zapnout pokud je zvuk statický)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Povolit HVSC Songlength DB"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (z HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bitů na vzorek (8 or 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Výchozí délka skladby (s)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Konfigurační soubor Timidity++ bank"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Název stopy"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Protagonista"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Celkem stop"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Žánr"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Skladatel"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Číslo disku"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Komentář"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "Kódování / Vydavatel"
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Umístění"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Subtrack rejstřík"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Typ(y) popisků"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Vložený Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Kodek"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Přípony souborů (oddělené s ';')"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Převést"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Cílová vzorkovací frekvence"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Kvalita / Algorytmus"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+"Automatická vzorkovací frekvence (přepíše cílovou vzorkovací frekvenci)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Soubor již existuje. Přepsat?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Varování konvertoru"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Vyberte enkodér"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Chyba konvertoru"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Převádí se..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Vybrat adresář..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Selhalo ukládání předvolby enkodéru"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Ověřte oprávnění k adresáři předvolby, zvolte jiný název nebo uvolněte místo "
+"na disku"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Předvolba stejného jména již existuje. Zkuste zvolit jiný název."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Chyba"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Přidat nový enkodér"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Upravit enkodér"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Odstranit předvolbu"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Tato akce odstraní vybranou předvolbu. Pokračovat?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Enkodéry"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Přidat zásuvný modul do řetězce DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Selhalo ukládání předvolby DSP"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Nová předvolba DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Upravit předvolbu DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Předvolby DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Výstupní adresář:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Název výstupního souboru:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Přípona (např. .mp3) bude připojena automaticky.\n"
+"Ponechte pole prázdné pro výchozí (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Enkodér:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Předvolba DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Počet vláken:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Výstupní formát vzorku:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Zachovat zdrojový formát"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 bit podepsaný int"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 bit podepsaný int"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 bit podepsaný int"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 bit podepsaný int"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 bit plovoucí"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Pokud soubor existuje:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Prompt"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Přepsat"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Zachovat strukturu adresáře, počínaje od:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Upravit předvolbu enkodéru"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Enkodér bez názvu"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Přípona výstupního souboru:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Např. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Příkazový řádek:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Příklad: lame - %o\n"
+"%i pro vstupní soubor, %o pro výstupní soubor, - pro stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - název výstupního souboru\n"
+"%i - název dočasného vstupního souboru</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Metoda:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Roura"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Dočasný soubor"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Autor popisku</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Editor předvolby DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Předvolba DSP bez názvu"
+
+#~ msgid ""
+#~ "Keep source format\n"
+#~ "8 bit signed int\n"
+#~ "16 bit signed int\n"
+#~ "24 bit signed int\n"
+#~ "32 bit signed int\n"
+#~ "32 bit float"
+#~ msgstr ""
+#~ "Zachovat zdrojový formát\n"
+#~ "8 bit podepsaný int\n"
+#~ "16 bit podepsaný int\n"
+#~ "24 bit podepsaný int\n"
+#~ "32 bit podepsaný int\n"
+#~ "32 bit plovoucí"
+
+#~ msgid ""
+#~ "Pipe\n"
+#~ "Temporary file"
+#~ msgstr ""
+#~ "Roura\n"
+#~ "Dočasný soubor"
+
+#~ msgid ""
+#~ "Prompt\n"
+#~ "Overwrite"
+#~ msgstr ""
+#~ "Prompt\n"
+#~ "Přepsat"
diff --git a/po/da.po b/po/da.po
index 4b34b5b4..32a111af 100644
--- a/po/da.po
+++ b/po/da.po
@@ -16,108 +16,138 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-11 04:23+0000\n"
-"PO-Revision-Date: 2010-09-11 17:30+01:00\n"
-"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-27 13:40+0200\n"
+"Last-Translator: mjjzf <mjjzf@syntaktisk.dk>\n"
"Language-Team: \n"
+"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Understøttede lydformater"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Andre filer (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Alle filer (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Åbn filer..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Tilføj filer til afspilningsliste..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Tilføj mapper til afspilningsliste..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Følg symbolske henvisninger"
# Måske lidt mere direkte. "Fejlede under læsning af hjælpefil"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Kunne ikke læse hjælpefil"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Kunne ikke indlæse hjælpefil"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Hjælp"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Om DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s - ændringslog"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Oversættere af DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Rediger afspilningsliste"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Omdøb afspilningsliste"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Fjern afspilningsliste"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Tilføj ny afspilningsliste"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Gem DeaDBeef EQ-forhåndsindstilling"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ-forhåndsindstillede filer (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Indlæs DeaDBeeF EQ forhåndsindstilling..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ-forhåndsindstillinger (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importer Foobar2000 EQ-forhåndsindstilling..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ-forhåndsindstillinger (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Indlæs forhåndsindstilling"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importer Foobar2000-forhåndsindstilling"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Aktiver"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Nulstil alle"
@@ -125,62 +155,54 @@ msgstr "Nulstil alle"
# Hmm, altså det kommer jo an på om man taler om det den gør ved
# lydniveauet (forforstærkning) eller den enhed som gør det, som hedder
# en forforstærker
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Nulstil forforstærkning"
# KDE amarok: Bands -> bands
# hvis det er sådan nogle frekvensintervaller i en equlizer så kan man
# måske godt kommen afsted med at kalde det bånd, frekvensbånd.
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Nulstil frekvensbånd"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Gem forhåndsindstilling"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Forhåndsindstillinger"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Indlæs forhåndsindstilling"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importer Foobar2000-forhåndsindstilling"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dag %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dage %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Stoppet | %d numre | %s samlet afspilningstid"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pause | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
@@ -188,699 +210,752 @@ msgstr ""
"%s%s %s| %d Hz | %d bit | %s | %d:%02d / %s | %d numre | %s samlet "
"afspilningstid"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Gem afspilningsliste som"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF-afspilningsfiler (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Indlæs afspilningsliste"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Andre filer (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Ny afspilningsliste"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Ny afspilningsliste (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Fil"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Åbn filer"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Tilføj filer"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Tilføj mapper"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Tilføj placering"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Ny afspilningsliste"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Indlæs afspilningsliste"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Gem afspilningsliste"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Gem afspilningsliste som"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Afslut"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Rediger"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Ryd"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Vælg alle"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Fravælg alle"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverter markering"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Markering"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Fjern"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Beskær"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Find"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Sorter efter"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Titel"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Nummer"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Kunstner"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Dato"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Tilpasset"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Indstillinger"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Vis"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Statusbjælke"
# kunne også være ..overskrifter men man er lige nødt til at sikre sig at det går
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Kolonnehoveder"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Faneblade"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizer"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Afspilning"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Rækkefølge"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Lineær"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "Bland"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Bland numre"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Bland albums"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Tilfældig"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Gentage"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Gentag alle"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Gentag enkelt sang"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Gentag ikke"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Rul følger afspilning"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Markør følger afspilning"
# mon ikke det passer bedre med aktuelle, sådan som jeg kan forestille
# mig den streng brugt
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Stop efter aktuelle"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Spring til aktuelle nummer"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Hjælp"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Ændringslog"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Om"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "Oversæ_ttere"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Søg"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Stop"
# afspil, spil
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Afspil"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pause"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Forrige"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Næste"
# spørgsmålet er så om den betyder, afspil en tilfældig fil, eller mere
# generelt afspil tilfældigt, det er måske værd at spørge om
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Afspil tilfældig"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Om"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Afslut"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Tilføjer filer..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Om"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Nummeregenskaber"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>ADVARSEL</b>: muligheden for mærkeskrivning er stadig under udvikling.\n"
-"<b>Lav sikkerhedskopier</b> før brug."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Indstillinger"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Anvend"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Luk"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadata"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Egenskaber"
-# den er da helt sort?
-# ja spørgsmålet er hvad dlg er, fejlmeld
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Titel:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Indtast ny kolonnetitel her"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Type:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Filnummer"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Indeks"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Spiller"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Albumomslag"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Kunstner - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Kunstner"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Titel"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Længde"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Varighed"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
msgstr "Nummer"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Band-/albumkunstner"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Tilpasset"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Justering:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Venstre"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Højre"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formatkonverteringer (starter med %):\n"
-" [a] kunstner, [t] titel, [b] album, [B] band, [C] komponist\n"
-" [n] nummer på sang, [N] samlet antal numre,\n"
-" [l] længde, [y] år, [g] genre, [c] bemærkning,\n"
-" [r] ophavsret, [f] filnavn, [F] fuld stinavn, [T] mærker\n"
-"Eksempel: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Afbryd"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_O.k."
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Udvidelsesmodul for uddata:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Uddataenhed:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Konverter altid 8-bits lyd til 16-bit"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Lyd"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Tillad dynamisk skift af målefrekvens"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Kvalitet af målefrekvenskonvertering:"
-
# gain er en form for forstærkning, f.eks. ved lydafspilning for at
# sikre at det hele har samme lydniveau før det kommer til lydkortet.
# Jeg tror at hvis du kigger på wikipedia omkring gain kan du måske få
# en ide til oversættelse. Jeg tror måske at vi kan kalde det sådan
# noget som afspilningsforstærkning måske:
# "Tilstand for afspilningsforstærkning:"
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Replaygains tilstand:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Deaktiver"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Nummer"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Replaygains niveauskala"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+# gain er en form for forstærkning, f.eks. ved lydafspilning for at
+# sikre at det hele har samme lydniveau før det kommer til lydkortet.
+# Jeg tror at hvis du kigger på wikipedia omkring gain kan du måske få
+# en ide til oversættelse. Jeg tror måske at vi kan kalde det sådan
+# noget som afspilningsforstærkning måske:
+# "Tilstand for afspilningsforstærkning:"
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Replaygains tilstand:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Tilføj filer fra kommandolinje (eller filhåndtering) til afspilningslisten:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Genoptag forrige session ved opstart"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Afspilning"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Konfigurer"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Luk minimeringer til statusfelt"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Midterste museknap lukker afspilningsliste"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Skjul statusikon"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Brug fed skrift for det nummer som aktuelt afspilles"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Skjul kontekstmenupunktet »Slet fra disk«"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Titelbjælketekst under afspilning:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Titelbjælketekst når stoppet:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Overskriv"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Forgrund"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Baggrund"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Farver for søgebjælke/lydstyrkebjælke"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Midt"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Lys"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Mørk"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Tekst"
+
# hvad er dette?
# Den her tror jeg at jeg ville fejlmelde og bede om information
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Farver for fanebladsfjernelse"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
"Overskriv (mister tema for GTK-trævisning, men øger optegningshastigheden)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Lige række"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Ulige række"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Tekst"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Markeret række"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Markeret tekst"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Markør"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Farver på afspilningsliste"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Farver"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Aktiver proxyserver"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adresse for proxyserver:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port til proxyserver:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Proxytype:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Brugernavn til proxy:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Adgangskode til proxy:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Netværk"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Udvidelsesmoduler"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "Internetadresse:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Grupper efter"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Format:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Markering"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Udvidelsesmoduler"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Mærkeskrivning"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Skriv ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Skriv ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Skriv APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Fjern ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Fjern ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Fjern APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2-version"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Anbefalet)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1-tegnkodning (standard er iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Skriv ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Mærkeskrivning"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Beskrivelse:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Forfattere:"
-
-# måske "..postadresse:"
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "E-post:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Internetside:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Konfigurer"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Udvidelsesmoduler"
-
-# hvad er dette?
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "Internetadresse:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Grupper efter"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formatkonverteringer (starter med %):\n"
-" [a] kunstner, [t] titel, [b] album, [B] band, [C] komponist\n"
-" [n] nummer på sang, [N] samlet antal numre,\n"
-" [l] længde, [y] år, [g] genre, [c] bemærkning,\n"
-" [r] ophavsret, [f] filnavn, [T] mærker\n"
-"Eksempel: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Kunster / album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Nummer"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Titel / kunstner"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Varighed"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Slet filer fra disk"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -888,198 +963,222 @@ msgstr ""
"Filer vil gå tabt. Fortsæt?\n"
"(Denne dialog kan fjernes i opsætningen for GTKUI-udvidelsesmodulet)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Advarsel"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Tilføj til afspilningskø"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Fjern fra afspilningskø"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Genindlæs metadata"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Fjern fra disk"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Tilføj kolonne"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Rediger kolonne"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Fjern kolonne"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Grupper efter"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Ingen"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Kunster/dato/album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Åbn fil..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Opsæt %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Konfigurer"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Standardlydenhed"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Tilføj"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Globale genveje"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Plads"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Tastekombination"
-# Mon ikke det er et udvidelsesmodul som gør at man kan sende lyd ud via
-# ALSA, jeg vil mene det skal være "ALSA-uddataudvidelsesmodul" eller
-# "Uddataudvidelsesmodul til ALSA"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Uddataudvidelsesmodul til ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Tilføjer filer..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Initialiserer..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Du har ændret data for dette nummer."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Luk vinduet?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Mærketyper"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Indlejret stikordsliste (cuesheet)"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ja"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nej"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Tast"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Værdi"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF spiller nu"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Luk vinduet?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Tilføj filer"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Fjern"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Brug: deadbeef [tilvalg] [filer]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Tilvalg:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help eller -h Vis hjælp (denne besked) og afslut\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Afslut afspiller\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Vis versionsinfo og afslut\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Start afspilning\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Stop afspilning\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pause afspilning\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Næste sang i afspilningsliste\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Forrige sang i afspilningsliste\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Tilfældig sang i afspilningsliste\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Tilføj filer til eksisterende afspilningsliste\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Vis formateret nummernavn til stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1090,7 +1189,7 @@ msgstr ""
" [l] længde, [n] nummer, [y] år, [c] bemærkning,\n"
" [r] ophavsret, [e] forløbet\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1099,11 +1198,26 @@ msgstr ""
" f.eks.: --nowplaying \"%%a - %%t\" skal vise »kunstner "
"- titel«\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Standard"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Ja"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Nej"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1111,7 +1225,13 @@ msgstr ""
"2.3 (Anbefalet)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1121,17 +1241,18 @@ msgstr ""
"Nummer\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1147,7 +1268,7 @@ msgstr ""
"Band / albumkunstner\n"
"Tilpasset"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1156,74 +1277,682 @@ msgstr ""
"Højre"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Kunne ikke finde pixmapfil: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Kunne ikke indhente nok hukommelse til inddatamellemlager."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: Konfigurationsfil til freepats ikke fundes. Installer venligst "
+"pakken timidity-freepats, eller angiv stien til freepats.cfg i "
+"udvidelsesmodulopsætningen."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+#, fuzzy
+msgid "Release device while stopped"
+msgstr "Titelbjælketekst når stoppet:"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Aktiver proxyserver"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF spiller nu"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Brugernavn til proxy:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Adgangskode til proxy:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Kunne ikke læse første side af Ogg-bitstrøm."
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Kunne ikke læse oprindelig teksthovedpakke."
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
msgstr ""
-"Kunne ikke indhente nok hukommelse til at registrere nyt strømserielnummer."
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Inddata afkortet eller tom."
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Inddata er ikke en Ogg-bitstrøm."
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg-bitstrøm indeholder ikke Vorbisdata."
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "EOF før genkendt strøm."
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Slet filer fra disk"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg-bitstrøm indeholder ikke en understøttet datatype."
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Ødelagt sekundært hoved."
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "EOF før afslutning på Vorbishoveder."
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Ødelagt eller manglende data, fortsætter..."
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Albumomslag"
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Nummer"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Titel / kunstner"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Filnummer"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Tilføj placering"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Mærketyper"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Indlejret stikordsliste (cuesheet)"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Vælg alle"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Fejl ved skrivning af strøm til uddata. Uddatastrøm er måske ødelagt eller "
-"afkortet."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Rediger kolonne"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Uddataenhed:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Udvidelsesmodul for uddata:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Gem forhåndsindstilling"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Overskriv"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Indlæs forhåndsindstilling"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Udvidelsesmodul for uddata:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
msgstr ""
-"wildmidi: Konfigurationsfil til freepats ikke fundes. Installer venligst "
-"pakken timidity-freepats, eller angiv stien til freepats.cfg i "
-"udvidelsesmodulopsætningen."
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Skriv APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Skriv ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Skriv ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Mærkeskrivning"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Gem afspilningsliste som"
+
+#~ msgid "_Abort"
+#~ msgstr "_Om"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>ADVARSEL</b>: muligheden for mærkeskrivning er stadig under "
+#~ "udvikling.\n"
+#~ "<b>Lav sikkerhedskopier</b> før brug."
+
+# den er da helt sort?
+# ja spørgsmålet er hvad dlg er, fejlmeld
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Længde"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formatkonverteringer (starter med %):\n"
+#~ " [a] kunstner, [t] titel, [b] album, [B] band, [C] komponist\n"
+#~ " [n] nummer på sang, [N] samlet antal numre,\n"
+#~ " [l] længde, [y] år, [g] genre, [c] bemærkning,\n"
+#~ " [r] ophavsret, [f] filnavn, [F] fuld stinavn, [T] mærker\n"
+#~ "Eksempel: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Tillad dynamisk skift af målefrekvens"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Kvalitet af målefrekvenskonvertering:"
+
+#~ msgid "Description:"
+#~ msgstr "Beskrivelse:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Forfattere:"
+
+# måske "..postadresse:"
+#~ msgid "Email:"
+#~ msgstr "E-post:"
+
+#~ msgid "Website:"
+#~ msgstr "Internetside:"
+
+# hvad er dette?
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formatkonverteringer (starter med %):\n"
+#~ " [a] kunstner, [t] titel, [b] album, [B] band, [C] komponist\n"
+#~ " [n] nummer på sang, [N] samlet antal numre,\n"
+#~ " [l] længde, [y] år, [g] genre, [c] bemærkning,\n"
+#~ " [r] ophavsret, [f] filnavn, [T] mærker\n"
+#~ "Eksempel: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Opsæt %s"
+
+# Mon ikke det er et udvidelsesmodul som gør at man kan sende lyd ud via
+# ALSA, jeg vil mene det skal være "ALSA-uddataudvidelsesmodul" eller
+# "Uddataudvidelsesmodul til ALSA"
+#~ msgid "ALSA output plugin"
+#~ msgstr "Uddataudvidelsesmodul til ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "Kunne ikke indhente nok hukommelse til inddatamellemlager."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Kunne ikke læse første side af Ogg-bitstrøm."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Kunne ikke læse oprindelig teksthovedpakke."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Kunne ikke indhente nok hukommelse til at registrere nyt "
+#~ "strømserielnummer."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Inddata afkortet eller tom."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Inddata er ikke en Ogg-bitstrøm."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg-bitstrøm indeholder ikke Vorbisdata."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "EOF før genkendt strøm."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg-bitstrøm indeholder ikke en understøttet datatype."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Ødelagt sekundært hoved."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "EOF før afslutning på Vorbishoveder."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Ødelagt eller manglende data, fortsætter..."
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Fejl ved skrivning af strøm til uddata. Uddatastrøm er måske ødelagt "
+#~ "eller afkortet."
diff --git a/po/de.po b/po/de.po
index b5765726..db32340e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DeaDBeeF\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-01 12:39+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-06-03 17:59+0100\n"
"Last-Translator: Jan D. Behrens <zykure@web.de>\n"
"Language-Team: \n"
@@ -18,82 +18,83 @@ msgstr ""
"X-Poedit-Country: Germany\n"
"X-Poedit-Language: German\n"
-#: ../plugins/gtkui/callbacks.c:121
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Unterstützte Tonformate"
-#: ../plugins/gtkui/callbacks.c:132 ../plugins/gtkui/gtkui.c:776
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Andere Dateien (*)"
-#: ../plugins/gtkui/callbacks.c:142
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Dateien öffnen..."
-#: ../plugins/gtkui/callbacks.c:177
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Dateien zur Wiedergabeliste hinzufügen..."
-#: ../plugins/gtkui/callbacks.c:218
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Verzeichnisse zur Wiedergabeliste hinzufügen..."
-#: ../plugins/gtkui/callbacks.c:223
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Symbolischen Links folgen"
-#: ../plugins/gtkui/callbacks.c:724
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Fehler beim Lesen der Hilfedatei"
-#: ../plugins/gtkui/callbacks.c:734
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Fehler beim Laden der Hilfedatei"
-#: ../plugins/gtkui/callbacks.c:749
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:750 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Hilfe"
-#: ../plugins/gtkui/callbacks.c:760
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Über DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:773
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s ChangeLog"
-#: ../plugins/gtkui/callbacks.c:1122
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "DeaDBeeF Übersetzer"
-#: ../plugins/gtkui/ddbtabstrip.c:689 ../plugins/gtkui/trkproperties.c:618
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Wiedergabeliste bearbeiten"
-#: ../plugins/gtkui/ddbtabstrip.c:692 ../plugins/gtkui/interface.c:1486
-#: ../plugins/gtkui/interface.c:2905 ../plugins/gtkui/deadbeef.glade.h:136
-#: ../plugins/converter/interface.c:402
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
msgid "Title:"
msgstr "Titel:"
-#: ../plugins/gtkui/ddbtabstrip.c:748
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Wiedergabeliste umbenennen"
-#: ../plugins/gtkui/ddbtabstrip.c:755
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Wiedergabeliste löschen"
-#: ../plugins/gtkui/ddbtabstrip.c:762
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Neue Wiedergabeliste hinzufügen"
@@ -149,7 +150,7 @@ msgstr "Vorverstärkung zurücksetzen"
msgid "Zero Bands"
msgstr "Equalizer zurücksetzen"
-#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:826
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
msgid "Presets"
msgstr "Voreinstellungen"
@@ -192,23 +193,27 @@ msgid ""
msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d Titel | %s gesamte Spielzeit"
-#: ../plugins/gtkui/gtkui.c:632
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Wiedergabeliste speichern unter..."
-#: ../plugins/gtkui/gtkui.c:643
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF Wiedergabeliste (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:761
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Wiedergabeliste laden..."
-#: ../plugins/gtkui/gtkui.c:914 ../plugins/gtkui/fileman.c:40
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Andere Dateien (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Neue Wiedergabeliste"
-#: ../plugins/gtkui/gtkui.c:917
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Neue Wiedergabeliste (%d)"
@@ -229,7 +234,7 @@ msgstr "Dateien hinzufügen"
msgid "Add folder(s)"
msgstr "Verzeichnisse hinzufügen"
-#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3005
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Ort hinzufügen"
@@ -274,9 +279,9 @@ msgstr "Auswahl umkehren"
msgid "Selection"
msgstr "Auswahl"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:458
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
-#: ../plugins/converter/interface.c:653
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Entfernen"
@@ -293,10 +298,10 @@ msgid "Sort By"
msgstr "Sortieren nach"
#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
-#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
-#: ../plugins/converter/interface.c:630
+#: ../plugins/converter/interface.c:622
msgid "Title"
msgstr "Titel"
@@ -305,14 +310,14 @@ msgid "Track number"
msgstr "Track-Nummer"
#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
#: ../translation/extra.c:69
msgid "Album"
msgstr "Album"
#. Track properties dialog
#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
-#: ../plugins/gtkui/plcommon.c:1003 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
#: ../translation/extra.c:65
msgid "Artist"
msgstr "Künstler"
@@ -323,11 +328,11 @@ msgid "Date"
msgstr "Datum"
#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
-#: ../plugins/gtkui/plcommon.c:1007 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
msgid "Custom"
msgstr "Benutzerdefiniert"
-#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1803
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Einstellungen"
@@ -356,7 +361,7 @@ msgstr "Equalizer"
msgid "_Playback"
msgstr "_Wiedergabe"
-#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3281
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Reihenfolge"
@@ -491,7 +496,7 @@ msgstr "S_chließen"
msgid "Metadata"
msgstr "Metadaten"
-#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:608
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Eigenschaften"
@@ -509,7 +514,7 @@ msgid "Item Index"
msgstr "Index"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:314
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Wiedergabe"
@@ -521,7 +526,7 @@ msgstr "Album Artwork"
msgid "Artist - Album"
msgstr "Künstler - Album"
-#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:318
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
#: ../plugins/gtkui/search.c:394
msgid "Duration"
msgstr "Dauer"
@@ -534,7 +539,7 @@ msgstr "Track-Nummer"
msgid "Band / Album Artist"
msgstr "Band / Album-Künstler"
-#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3133
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
@@ -551,365 +556,365 @@ msgstr "Linksbündig"
msgid "Right"
msgstr "Rechtsbündig"
-#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2936
-#: ../plugins/gtkui/interface.c:3048 ../plugins/gtkui/interface.c:3174
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Abbrechen"
-#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2957
-#: ../plugins/gtkui/interface.c:3069 ../plugins/gtkui/interface.c:3195
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1824 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Ausgabeplugin:"
-#: ../plugins/gtkui/interface.c:1837 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Ausgabegerät:"
-#: ../plugins/gtkui/interface.c:1846 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
msgid "Always convert 8 bit audio to 16 bit"
msgstr "Immer 8-bit Audio nach 16-bit konvertieren"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Wiedergabe"
-#: ../plugins/gtkui/interface.c:1863 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Replaygain-Modus:"
-#: ../plugins/gtkui/interface.c:1872
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Deaktivieren"
-#: ../plugins/gtkui/interface.c:1873
+#: ../plugins/gtkui/interface.c:1874
msgid "Track"
msgstr "Titel"
-#: ../plugins/gtkui/interface.c:1876 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Replaygain-Ausschlagschutz"
-#: ../plugins/gtkui/interface.c:1884 ../plugins/gtkui/deadbeef.glade.h:108
-msgid "Replaygain preamp:"
-msgstr "Replaygain-Vorverstärkung:"
-
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1910
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
#: ../plugins/gtkui/deadbeef.glade.h:2
msgid "-12 dB"
msgstr "-12 dB"
-#: ../plugins/gtkui/interface.c:1898 ../plugins/gtkui/interface.c:1920
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
#: ../plugins/gtkui/deadbeef.glade.h:1
msgid "+12 dB"
msgstr "+12 dB"
-#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:47
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Replaygain-Vorverstärkung:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
msgid "Global preamp:"
msgstr "Globale Vorverstärkung:"
-#: ../plugins/gtkui/interface.c:1928 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Datein beim Hinzufügen von Kommandozeile (oder Dateimanager) an Liste "
"anhängen:"
-#: ../plugins/gtkui/interface.c:1937 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Beim Start letzte Sitzung wiederherstellen"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:37
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
msgid "Don't add from archives when adding folders"
msgstr ""
"Dateien innerhalb von Archiven beim Hinzufügen von Verzeichnissen auslassen"
-#: ../plugins/gtkui/interface.c:1945 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Wiedergabe"
-#: ../plugins/gtkui/interface.c:1966 ../plugins/gtkui/interface.c:2498
-#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:657
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
msgid "Configure"
msgstr "Einstellungen"
-#: ../plugins/gtkui/interface.c:2001 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
msgid "DSP Chain Preset"
msgstr "DSP Voreinstellung"
-#: ../plugins/gtkui/interface.c:2013 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
msgid "_Load"
msgstr "_Laden"
-#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:28
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
msgid "DSP"
msgstr "DSP"
-#: ../plugins/gtkui/interface.c:2026 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Beim Schließen minimieren"
-#: ../plugins/gtkui/interface.c:2030 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Mittlere Maustaste zum Schließen der Wiedergabeliste verwenden"
-#: ../plugins/gtkui/interface.c:2034 ../plugins/gtkui/deadbeef.glade.h:51
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Systemleisten-Icon verstecken"
-#: ../plugins/gtkui/interface.c:2038 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Aktuellen Titel hervorheben"
-#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Eintrag \"Vom Datenträger entfernen\" im Kontextmenü verstecken"
-#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
msgid "Auto-name playlists when adding a single folder"
msgstr ""
"Wiedergabeliste beim Hinzufügen einzelner Verzeichnisse automatisch benennen"
-#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
msgid "Interface refresh rate (times per second):"
msgstr "Aktualisierungsrate der Benutzeroberfläche (Ereignisse pro Sekunde):"
-#: ../plugins/gtkui/interface.c:2068 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Fenstertitel beim Abspielen:"
-#: ../plugins/gtkui/interface.c:2082 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Fenstertitel wenn angehalten:"
-#: ../plugins/gtkui/interface.c:2096 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
msgid "GUI Plugin (changing requires restart):"
msgstr "GUI-Plugin (Änderung benötigt Neustart):"
-#: ../plugins/gtkui/interface.c:2104 ../plugins/gtkui/deadbeef.glade.h:45
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:2119 ../plugins/gtkui/interface.c:2163
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Überschreiben"
-#: ../plugins/gtkui/interface.c:2128 ../plugins/gtkui/deadbeef.glade.h:42
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Vordergrund"
-#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Hintergrund"
-#: ../plugins/gtkui/interface.c:2154 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Farben von Suchleiste und Lautstärkeregler"
-#: ../plugins/gtkui/interface.c:2172 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Mittel"
-#: ../plugins/gtkui/interface.c:2179 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Hell"
-#: ../plugins/gtkui/interface.c:2186 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Dunkel"
-#: ../plugins/gtkui/interface.c:2217 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Basis"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2281
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
#: ../plugins/gtkui/deadbeef.glade.h:134
msgid "Text"
msgstr "Text"
-#: ../plugins/gtkui/interface.c:2237 ../plugins/gtkui/deadbeef.glade.h:131
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Farben der Reiterleiste"
-#: ../plugins/gtkui/interface.c:2246 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Überschreiben (beschleunigt die Darstellung)"
-#: ../plugins/gtkui/interface.c:2255 ../plugins/gtkui/deadbeef.glade.h:41
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Gerade Zeile"
-#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Ungerade Zeile"
-#: ../plugins/gtkui/interface.c:2288 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Ausgewählte Zeile"
-#: ../plugins/gtkui/interface.c:2307 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Ausgewählter Text"
-#: ../plugins/gtkui/interface.c:2320 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Mauszeiger"
-#: ../plugins/gtkui/interface.c:2333 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Farben der Wiedergabeliste"
-#: ../plugins/gtkui/interface.c:2337 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Farben"
-#: ../plugins/gtkui/interface.c:2346 ../plugins/gtkui/deadbeef.glade.h:38
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Proxyserver aktivieren"
-#: ../plugins/gtkui/interface.c:2354 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adresse des Proxyservers:"
-#: ../plugins/gtkui/interface.c:2368 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port des Proxyservers:"
-#: ../plugins/gtkui/interface.c:2382 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Art des Proxyservers:"
-#: ../plugins/gtkui/interface.c:2401 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Benutzername für Proxyserver:"
-#: ../plugins/gtkui/interface.c:2414 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Passwort für Proxyserver:"
-#: ../plugins/gtkui/interface.c:2424 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Netzwerk"
-#: ../plugins/gtkui/interface.c:2455 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
msgid "Version: "
msgstr "Version: "
-#: ../plugins/gtkui/interface.c:2519 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
#: ../translation/extra.c:78
msgid "Copyright"
msgstr "Copyright"
-#: ../plugins/gtkui/interface.c:2529 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
msgid "Plugins"
msgstr "Erweiterungen"
-#: ../plugins/gtkui/interface.c:3016 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
msgid "URL:"
msgstr "URL:"
-#: ../plugins/gtkui/interface.c:3118 ../plugins/gtkui/deadbeef.glade.h:48
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
msgid "Group By"
msgstr "Gruppieren nach"
-#: ../plugins/gtkui/interface.c:3242 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
msgid "Sort by..."
msgstr "Sortieren nach..."
-#: ../plugins/gtkui/interface.c:3258 ../plugins/gtkui/deadbeef.glade.h:43
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
msgid "Format"
msgstr "Format"
-#: ../plugins/gtkui/interface.c:3288
+#: ../plugins/gtkui/interface.c:3305
msgid "Ascending"
msgstr "Auftseigend"
-#: ../plugins/gtkui/interface.c:3289
+#: ../plugins/gtkui/interface.c:3306
msgid "Descending"
msgstr "Absteigend"
-#: ../plugins/gtkui/interface.c:3342 ../plugins/gtkui/deadbeef.glade.h:114
-#: ../plugins/converter/interface.c:758
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
msgid "Select DSP Plugin"
msgstr "Auswahl des DSP-Plugins"
-#: ../plugins/gtkui/interface.c:3358 ../plugins/gtkui/deadbeef.glade.h:93
-#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:774
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
#: ../plugins/gtkui/dspconfig.c:139
msgid "Plugin"
msgstr "Erweiterung"
-#: ../plugins/gtkui/interface.c:3444 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
msgid "Tag Writer Settings"
msgstr "Einstellungen für den Tag-Editor"
-#: ../plugins/gtkui/interface.c:3475 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Schreibe ID3v2"
-#: ../plugins/gtkui/interface.c:3479 ../plugins/gtkui/interface.c:3606
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Schreibe ID3v1"
-#: ../plugins/gtkui/interface.c:3483 ../plugins/gtkui/interface.c:3562
-#: ../plugins/gtkui/interface.c:3602 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 schreiben"
-#: ../plugins/gtkui/interface.c:3491 ../plugins/gtkui/interface.c:3570
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 entfernen"
-#: ../plugins/gtkui/interface.c:3495 ../plugins/gtkui/interface.c:3618
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 entfernen"
-#: ../plugins/gtkui/interface.c:3499 ../plugins/gtkui/interface.c:3574
-#: ../plugins/gtkui/interface.c:3614 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 entfernen"
-#: ../plugins/gtkui/interface.c:3507 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 Version"
-#: ../plugins/gtkui/interface.c:3514
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (empfohlen)"
-#: ../plugins/gtkui/interface.c:3515
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:3521 ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 Zeichensatz (Vorgabe ist iso8859-1)"
-#: ../plugins/gtkui/interface.c:3558 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Schreibe ID3v2.4"
-#: ../plugins/gtkui/mainplaylist.c:315 ../plugins/gtkui/search.c:391
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Künstler / Album"
-#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:392
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Track-Nr."
-#: ../plugins/gtkui/plcommon.c:329
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Dateien vom Datenträger entfernen"
-#: ../plugins/gtkui/plcommon.c:330
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -917,49 +922,49 @@ msgstr ""
"Dateien werden verloren gehen. Weitermachen?\n"
"(Diese Abfrage kann in den Einstellungen des GTK-Plugin abgeschaltet werden)"
-#: ../plugins/gtkui/plcommon.c:331 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Warnung"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Zur Warteschlange hinzufügen"
-#: ../plugins/gtkui/plcommon.c:439
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Von Warteschlange entfernen"
-#: ../plugins/gtkui/plcommon.c:447
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Metadaten neu laden"
-#: ../plugins/gtkui/plcommon.c:466
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Vom Datenträger entfernen"
-#: ../plugins/gtkui/plcommon.c:845 ../plugins/gtkui/plcommon.c:970
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Spalte hinzufügen"
-#: ../plugins/gtkui/plcommon.c:875 ../plugins/gtkui/plcommon.c:974
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Spalte bearbeiten"
-#: ../plugins/gtkui/plcommon.c:978
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Spalte entfernen"
-#: ../plugins/gtkui/plcommon.c:988
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Gruppieren nach"
-#: ../plugins/gtkui/plcommon.c:995
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Nichts"
-#: ../plugins/gtkui/plcommon.c:999
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Künstler/Datum/Album"
@@ -976,7 +981,7 @@ msgstr "%s konfigurieren"
msgid "Default Audio Device"
msgstr "Standard Ausgabegerät"
-#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:649
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Hinzufügen"
@@ -1056,86 +1061,86 @@ msgstr "Feld hinzufügen"
msgid "Remove field"
msgstr "Feld entfernen"
-#: ../main.c:90
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Benutzung: deadbeef [Optionen] [Datei(en)]\n"
-#: ../main.c:91
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Optionen:\n"
-#: ../main.c:92
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help oder -h Hilfe (diese Meldung) anzeigen und beenden\n"
-#: ../main.c:93
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Player beenden\n"
-#: ../main.c:94
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Versionsinformationen anzeigen und beenden\n"
-#: ../main.c:95
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Wiedergabe starten\n"
-#: ../main.c:96
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Wiedergabe beenden\n"
-#: ../main.c:97
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Wiedergabe pausieren\n"
-#: ../main.c:98
+#: ../main.c:99
#, c-format
msgid " --toggle-pause Toggle pause\n"
msgstr " --toggle-pause Wiedergabe umschalten (Play/Pause)\n"
-#: ../main.c:99
+#: ../main.c:100
#, c-format
msgid ""
" --play-pause Start playback if stopped, toggle pause otherwise\n"
msgstr ""
" --play-pause Wiedergabe starten falls angehalten, sonst pausieren\n"
-#: ../main.c:100
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Nächster Titel in der Wiedergabeliste\n"
-#: ../main.c:101
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Vorheriger Titel in der Wiedergabeliste\n"
-#: ../main.c:102
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Zufälliger Titel in der Wiedergabeliste\n"
-#: ../main.c:103
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
" --queue Datei(en) an bestehende Wiedergabeliste anhängen\n"
-#: ../main.c:104
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
" --nowplaying FMT Formatierten Tracknamen auf Standardausgabe schreiben\n"
-#: ../main.c:105
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1143,7 +1148,7 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:108
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1152,22 +1157,22 @@ msgstr ""
" z.B.: --nowplaying \"%%a - %%t\" sollte \"Artist - "
"Titel\" ausgeben\n"
-#: ../main.c:109
+#: ../main.c:110
#, c-format
msgid ""
" for more info, see http://sourceforge.net/apps/"
"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
msgstr ""
-#: ../playlist.c:443 ../playlist.c:2613
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Standard"
-#: ../playlist.c:3862
+#: ../playlist.c:3664
msgid "Yes"
msgstr "Ja"
-#: ../playlist.c:3862
+#: ../playlist.c:3664
msgid "No"
msgstr "Nein"
@@ -1557,12 +1562,15 @@ msgstr "Fehler beim Speichern des Encoder-Profil"
msgid ""
"Check preset folder permissions, try to pick different title, or free up "
"some disk space"
-msgstr "Bitte Zugriffsrechte auf das Verzeichnis prüfen, einen anderen Titel "
-"wählen oder freien Platz auf der Festplatte schaffen"
+msgstr ""
+"Bitte Zugriffsrechte auf das Verzeichnis prüfen, einen anderen Titel wählen "
+"oder freien Platz auf der Festplatte schaffen"
#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid "Preset with the same name already exists. Try to pick another title."
-msgstr "Ein Profil mit diesem Namen existiert bereits. Bitte einen anderen Titel wählen."
+msgstr ""
+"Ein Profil mit diesem Namen existiert bereits. Bitte einen anderen Titel "
+"wählen."
#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
msgid "Error"
@@ -1608,15 +1616,15 @@ msgstr "DSP-Profil bearbeiten"
msgid "DSP Presets"
msgstr "DSP-Profile"
-#: ../plugins/converter/interface.c:97
+#: ../plugins/converter/interface.c:94
msgid "Output folder:"
msgstr "Zielverzeichnis:"
-#: ../plugins/converter/interface.c:118
+#: ../plugins/converter/interface.c:115
msgid "Output file name:"
msgstr "Dateiname:"
-#: ../plugins/converter/interface.c:129
+#: ../plugins/converter/interface.c:126
msgid ""
"Extension (e.g. .mp3) will be appended automatically.\n"
"Leave the field empty for default (%a - %t)."
@@ -1624,83 +1632,83 @@ msgstr ""
"Erweiterung (z.B. .mp3) wird automatisch angehängt.\n"
"Feld leer lassen um Standardwert zu verwenden (%a - %t)."
-#: ../plugins/converter/interface.c:142
+#: ../plugins/converter/interface.c:139
msgid "Encoder:"
msgstr "Encoder:"
-#: ../plugins/converter/interface.c:166
+#: ../plugins/converter/interface.c:163
msgid "DSP preset:"
msgstr "DSP-Profil:"
-#: ../plugins/converter/interface.c:189
+#: ../plugins/converter/interface.c:186
msgid "Number of threads:"
msgstr "Thread-Anzahl:"
-#: ../plugins/converter/interface.c:202
+#: ../plugins/converter/interface.c:199
msgid "Output sample format:"
msgstr "Ausgabe-Sampleformat:"
-#: ../plugins/converter/interface.c:209
+#: ../plugins/converter/interface.c:206
msgid "Keep source format"
msgstr "Format der Eingangsdatei verwenden"
-#: ../plugins/converter/interface.c:210
+#: ../plugins/converter/interface.c:207
msgid "8 bit signed int"
msgstr ""
-#: ../plugins/converter/interface.c:211
+#: ../plugins/converter/interface.c:208
msgid "16 bit signed int"
msgstr ""
-#: ../plugins/converter/interface.c:212
+#: ../plugins/converter/interface.c:209
msgid "24 bit signed int"
msgstr ""
-#: ../plugins/converter/interface.c:213
+#: ../plugins/converter/interface.c:210
msgid "32 bit signed int"
msgstr ""
-#: ../plugins/converter/interface.c:214
+#: ../plugins/converter/interface.c:211
msgid "32 bit float"
msgstr ""
-#: ../plugins/converter/interface.c:220
+#: ../plugins/converter/interface.c:217
msgid "When file exists:"
msgstr "Falls Datei bereits existiert:"
-#: ../plugins/converter/interface.c:227
+#: ../plugins/converter/interface.c:224
msgid "Prompt"
msgstr "Nachfragen"
-#: ../plugins/converter/interface.c:228
+#: ../plugins/converter/interface.c:225
msgid "Overwrite"
msgstr "Überschreiben"
-#: ../plugins/converter/interface.c:230
+#: ../plugins/converter/interface.c:227
msgid "Preserve folder structure, starting from:"
msgstr "Verzeichnis-Struktur beibehalten, starten mit:"
-#: ../plugins/converter/interface.c:386
+#: ../plugins/converter/interface.c:379
msgid "Edit Encoder Preset"
msgstr "Profil laden"
-#: ../plugins/converter/interface.c:409
+#: ../plugins/converter/interface.c:402
msgid "Untitled Encoder"
msgstr "Neuer Encoder"
-#: ../plugins/converter/interface.c:417
+#: ../plugins/converter/interface.c:410
msgid "Output file extension:"
msgstr "Endung der Zieldatei:"
-#: ../plugins/converter/interface.c:424
+#: ../plugins/converter/interface.c:417
msgid "E.g. mp3"
msgstr "Z.B. mp3"
-#: ../plugins/converter/interface.c:432
+#: ../plugins/converter/interface.c:425
msgid "Command line:"
msgstr "Kommandozeile:"
-#: ../plugins/converter/interface.c:443
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
"Example: lame - %o\n"
@@ -1709,7 +1717,7 @@ msgstr ""
"Beispiel: lame - %o\n"
"%i für Eingabedatei, %o für Zieldatei, - für stdin"
-#: ../plugins/converter/interface.c:453
+#: ../plugins/converter/interface.c:446
#, c-format
msgid ""
"<small>%o - output file name\n"
@@ -1718,47 +1726,47 @@ msgstr ""
"<small>%o - Name der Zieldatei\n"
"%i - Name der temporären Eingabedatei</small>"
-#: ../plugins/converter/interface.c:462
+#: ../plugins/converter/interface.c:455
msgid "Method:"
msgstr "Methode:"
-#: ../plugins/converter/interface.c:469
+#: ../plugins/converter/interface.c:462
msgid "Pipe"
msgstr ""
-#: ../plugins/converter/interface.c:470
+#: ../plugins/converter/interface.c:463
msgid "Temporary file"
msgstr "Temporäre Datei"
-#: ../plugins/converter/interface.c:487
+#: ../plugins/converter/interface.c:480
msgid "APEv2"
msgstr "APEv2"
-#: ../plugins/converter/interface.c:493
+#: ../plugins/converter/interface.c:486
msgid "ID3v1"
msgstr "ID3v1"
-#: ../plugins/converter/interface.c:499
+#: ../plugins/converter/interface.c:492
msgid "OggVorbis"
msgstr "OggVorbis"
-#: ../plugins/converter/interface.c:505
+#: ../plugins/converter/interface.c:498
msgid "FLAC"
msgstr "FLAC"
-#: ../plugins/converter/interface.c:517
+#: ../plugins/converter/interface.c:510
msgid "ID3v2"
msgstr "ID3v2"
-#: ../plugins/converter/interface.c:527
+#: ../plugins/converter/interface.c:520
msgid "<b>Tag writer</b>"
msgstr "<b>Tags schreiben</b>"
-#: ../plugins/converter/interface.c:614
+#: ../plugins/converter/interface.c:606
msgid "DSP Preset Editor"
msgstr "DSP-Profileditor"
-#: ../plugins/converter/interface.c:637
+#: ../plugins/converter/interface.c:629
msgid "Untitled DSP Preset"
msgstr "Neues DSP-Profil"
diff --git a/po/el.po b/po/el.po
index 292c3a97..37dc838c 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2011-04-18 08:17+0200\n"
"Last-Translator: George <forfolias@gmail.com>\n"
"Language-Team: Greek\n"
@@ -20,154 +20,176 @@ msgstr ""
"X-Poedit-Language: Greek\n"
"X-Poedit-Country: GREECE\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Υποστηριζόμενοι τύποι ήχου"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Άλλα αρχεία (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Άνοιγμα αρχείου..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Προσθήκη αρχείου στη λίστα αναπαραγωγής"
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Προσθήκη φακέλου στη λίστα αναπαραγωγής"
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Να ακολουθούνται οι συμβολικοί δεσμοί"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Αποτυχία κατά την ανάγνωση του αρχείου βοήθειας"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Αποτυχία κατά τη φόρτωση του αρχείου βοήθειας"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Βοήθεια"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Περί DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s ChangeLog"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF τώρα αναπαράγει"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Επεξεργασία λίστας αναπαραγωγής"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Τίτλος:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Μετονομασία λίστας αναπαραγωγής"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Αφαίρεση λίστας αναπαραγωγής"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Προσθήκη νέας λίστας αναπαραγωγής"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Αποθήκευση ρύθμισης DeaDBeeF EQ"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Αρχεία ρύθμισης DeaDBeeF EQ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Φόρτωση ρύθμισης DeaDBeeF EQ"
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Ρυθμίσεις DeaDBeeF EQ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Εισαγωγή ρυθμίσεων Foobar2000 EQ..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Ρυθμίσεις Foobar2000 EQ (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Φόρτωση ρύθμισης"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Εισαγωγή ρύθμισης Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Ενεργό"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Όλα μηδέν"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Μηδέν προενίσχυση"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Μηδέν ζώνες"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Αποθήκευση ρύθμισης"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Φόρτωση ρύθμισης"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Εισαγωγή ρύθμισης Foobar2000"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 μέρα %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d μέρες %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Διακοπή | %d κομμάτια | %s συνολικός χρόνος αναπαραγωγής"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Μονοφωνικό"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Στερεοφωνικό"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Παύση |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
@@ -175,681 +197,736 @@ msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d κομμάτια | %s συνολικός "
"χρόνος αναπαραγωγής"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Αποθήκευση λίστας αναπαραγωγής ως"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Αρχεία λίστας αναπαραγωγής DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Φόρτωση λίστας αναπαραγωγής"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Άλλα αρχεία (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Νέα λίστα αναπαραγωγής"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Νέα λίστα αναπαραγωγής (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Αρχείο"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Άνοιγμα αρχείου"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Προσθήκη αρχείου"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Προσθήκη φακέλου"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Προσθήκη τοποθεσίας"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Νέα λίστα αναπαραγωγής"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Φόρτωση λίστας αναπαραγωγής"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Αποθήκευση λίστας αναπαραγωγής"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Αποθήκευση λίστας αναπαραγωγής ως"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Έξοδος"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Επεξεργασία"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Καθαρισμός"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Επιλογή όλων"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Αποεπιλογή όλων"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Αναστροφή επιλογής"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Επιλεγμένο"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Αφαίρεση"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Περικοπή"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Αναζήτηση"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Τίτλος"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Αριθμός αρχείου"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Άλμπουμ"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Καλλιτέχνης"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Αυτοσχέδιο"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Ρυθμίσεις"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Προβολή"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Μπάρα κατάστασης"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Τίτλοι στύλων"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Καρτέλες"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ισοσταθμιστής"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Αναπαραγωγή"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Σειρά"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Γραμμικά"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Ανακατεμένα"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "Ανακατεμένα"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Τυχαία"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Επανάληψη"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Επανάληψη όλων"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Επανάληψη κομματιού"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Χωρίς επανάληψη"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Η κύληση ακολουθεί την αναπαραγωγή"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Ο δείκτης ποντικιού ακολουθεί την αναπαραγωγή"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Διακοπή μετά το τρέχον"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Βοήθεια"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_ChangeLog"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Περί"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Αναζήτηση"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Διακοπή"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Αναπαραγωγή"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Παύση"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Προηγούμενο"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Επόμενο"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Αναπαραγωγή τυχαίου"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Περί"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Έξοδος"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Προσθήκη αρχείων"
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Ακύρωση"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Ιδιότητες κομματιού"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>ΠΡΟΕΙΔΟΠΟΙΗΣΉ</b>: η εγγραφή ετικετών είναι ακόμα υπό ανάπτυξη.\n"
-"<b>Κρατήστε αντίγραφα ασφαλείας</b> πριν τη χρήση."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Εφαρμογή"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Κλείσιμο"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Μεταδεδομένα"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Ιδιότητες"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "Επεξεργασία στήλης"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Τίτλος:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Εισαγωγή νέου τίτλου για τη στήλη"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Τύπος"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Αριθμός αρχείου"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Αναπαραγωγή"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Σχέδιο άλπουμ"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Καλλιτέχνης - Άλμπουμ"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Καλλιτέχνης"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Άλμπουμ"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Τίτλος"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Διάρκεια"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Κομμάτι"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "Αριθμός κομματιού"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Συγκρότημα / Καλλιτέχνης άλμπουμ"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Αυτοσχέδιο"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Μορφή:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Στοίχιση:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Αριστερά"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Δεξιά"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Μορφή μετατροπής (ξεκινούν με %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and,\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Παράδειγμα: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Άκυρο"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Εντάξει"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Πρόσθετο εξόδου:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Συσκευή εξόδου:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Ήχος"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Να επιτρέπεται η δυναμική ρύθμιση της δειγματοληψίας"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Ποιότητα μετατροπής samplerate:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Λειτουργία Replaygain:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Ανενεργό"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Κομμάτι"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Κορυφή κλίμακας Replaygain"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Λειτουργία Replaygain:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Προσθήκη αρχείων από την γραμμή εντολών (ή το διαχειριστή αρχείων) σε αυτή "
"τη λίστα αναπαραγωγής:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Συνέχεια προηγούμενης συνεδρίας στην εκκίνηση"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Αναπαραγωγή"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Ρύθμιση"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Ελαχιστοποίηση στο πλαίσιο συστήματος στο κλείσιμο"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Το μεσαίο πλήκτρο του ποντικιού να κλείνει τη λίστα αναπαραγωγής"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Απόκρυψη εικονιδίου στο πλαίσιο συστήματος"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Χρήση έντονης γραμματοσειράς κομμάτι που αναπαράγεται"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Απόκρυψη του μενού \"Διαγραφή από το δίσκο\""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Τίτλος παραθύρου κατά την αναπαραγωγή:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Τίτος παραθύρου κατά τη διακοπή:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Γραφική Διεπαφή"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Παράκαμψη"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Προσκήνιο"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Παρασκήνιο"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Χρώματα μπάρας μετατόπισης/ήχου"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Μέση"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Φωτεινό"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Σκοτεινό"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Βάση"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Κείμενο"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Χρώματα στο χώρο καρτελών"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Παράκαμψη (χάνει το GTK treeview θέμα, αλλά επιταχύνει την απόδοση)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Ζυγή σειρά"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Μονή σειρά"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Κείμενο"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Επιλεγμένη σειρά"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Επιλεγμένο κείμενο"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Δείκτης ποντικιού"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Χρώματα λίστας αναπαραγωγής"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Χρώματα"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Ενεργοποίηση Proxy Server"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Διεύθυνση Proxy Server:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Πόρτα Proxy Server:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Τύπος Proxy:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Όνομα χρήστη Proxy:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Κωδικός Proxy:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Δίκτυο"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Πρόσθετα"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Ομαδοποίηση κατά"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Μορφή:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Επιλεγμένο"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Πρόσθετα"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Συγγραφέας ετικετών"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Εγγραφή ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Εγγραφή ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Εγγραφή APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Αφαίρεση ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Αφαίρεση ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Αφαίρεση APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Έκδοση ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Προτείνεται)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 κωδικοποίηση χαρακτήρων (προεπιλογή είναι iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Εγγραφή ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Συγγραφέας ετικετών"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Περιγραφή:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Συγγραφέας:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Ιστοσελίδα:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Ρύθμιση"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Πρόσθετα"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "Επεξεργασία λίστας αναπαραγωγής"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Ομαδοποίηση κατά"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format μετατροπής (ξεκινούν με %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and,\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Παράδειγμα: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Καλλιτέχνης / Άλμπουμ"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Αριθμός κομματιού"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Τίτλος / Καλλιτέχνης κομματιού"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Διάρκεια"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Διαγραφή αρχείων από το δίσκο"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -858,195 +935,222 @@ msgstr ""
"(Αυτό το παράθυρο μπορεί να απενεργοποιηθεί από τις ρυθμίσεις του πρόσθετου "
"GTKUI)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Προειδοποίηση"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Προσθήκη στην ουρά αναπαραγωγής"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Αφαίρεση από την ουρά αναπαραγωγής"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Επαναφόρτωση μεταδεδομένων"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Αφαίρεση από τον δίσκο"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Προσθήκη στήλης"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Επεξεργασία στήλη"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Αφαίρεση στήλης"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Ομαδοποίηση κατά"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Κανένα"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Καλλιτέχνης/Ημερομηνία/Άλμπουμ"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Άνοιγμα αρχείου..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Εγκατάσταση %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Ρύθμιση"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Προεπιλεγμένη συσκευή ήχου"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Προσθήκη"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Συντομεύσεις πληκτρολογίου"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Θέση"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Συνδυασμός πλήκτρων"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Πρόσθετο εξόδου ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Προσθήκη αρχείων"
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Αρχικοποίηση..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Έχετε τροποποιήσει στοιχεία του κομματιού."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Είστε σίγουροι πως θέλετε να κλείσετε το παράθυρο;"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Τύπος ετικέτας"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Ενσωματωμένα Cuesheet"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ναί"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Όχι"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Κωδικοποιητής"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Πλήκτρο"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Τιμή"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF τώρα αναπαράγει"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Είστε σίγουροι πως θέλετε να κλείσετε το παράθυρο;"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Προσθήκη αρχείου"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Αφαίρεση"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Χρήση: deadbeef [επιλογές] [αρχεία]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Επιλογές:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help ή -h Εμφάνιση κειμένου βοήθειας και έξοδος\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr "--quit Έξοδος\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr "--version Εμφάνιση πληροφοριών έκδοσης και έξοδος\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr "--play Εκκίνηση αναπαραγωγής\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr "--stop Διακοπή αναπαραγωγής\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr "--pause Παύση αναπαραγωγής\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr "--next Επόμενο τραγούδι στη λίστα αναπαραγωγής\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr "--prev Προηγούμενο τραγούδι στη λίστα αναπαραγωγής\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr "--random Τυχαίο κομμάτι στη λίστα αναπαραγωγής\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr "--queue Προσάρτηση αρχείου στην υπάρχουσα λίστα αναπαραγωγής\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr "--nowplaying FMT Εμφάνιση μορφοποιημένου ονόματος κομματιού\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1057,18 +1161,33 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr "π.χ.: --nowplaying \"%%a - %%t\" θα εμφανίσει \"artist - title\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Προεπιλογή"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Ναί"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Όχι"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1076,7 +1195,13 @@ msgstr ""
"2.3 (Προτείνεται)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1086,17 +1211,18 @@ msgstr ""
"Κομμάτι\n"
"Άλμπουμ"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1112,7 +1238,7 @@ msgstr ""
"Καλλιτέχνης Μπάντας / Άλμπουμ\n"
"Προσαρμοσμένο"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1121,80 +1247,678 @@ msgstr ""
"Δεξιά"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Δε βρέθηκε το αρχείο pixmap: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Δεν ήταν δυνατή η χρήση αρκετής μνήμης για το input buffering"
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: δε βρέθηκε το αρχείο ρυθμίσεων του freepats. Παρακαλώ εγκαταστήστε "
+"το πακέτο timidity-freepats, ή καθορίστε τη διαδρομή του freepats.cfg στις "
+"επιλογές του πρόσθετου."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Προσθήκη CD ήχου"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+#, fuzzy
+msgid "Release device while stopped"
+msgstr "Τίτος παραθύρου κατά τη διακοπή:"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Ενεργοποίηση Proxy Server"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF τώρα αναπαράγει"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Όνομα χρήστη Proxy:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Κωδικός Proxy:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Διαγραφή αρχείων από το δίσκο"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Σχέδιο άλπουμ"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Αριθμός κομματιού"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Τίτλος / Καλλιτέχνης κομματιού"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Αριθμός αρχείου"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Προσθήκη τοποθεσίας"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Τύπος ετικέτας"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Ενσωματωμένα Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Κωδικοποιητής"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Σφάλμα ανάγνωσης πρώτης σελίδας του Ogg bitstream."
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Σφάλμα ανάγνωσης κεφαλίδας αρχικού πακέτου."
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
msgstr ""
-"Δεν μπόρεσε να καταληφθεί αρκετή μνήμη για την καταγραφή νέου σειριακού "
-"αριθμού stream."
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Η είσοδος είναι περικομμένη ή άδεια."
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Η είσοδος δεν είναι μια ροή δεδομένων Ogg"
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Το Ogg bitstream δεν περιέχει δεδομένα Vorbis"
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "EOF πριν την αναγνώριση της ροής."
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
msgstr ""
-"Η ροή δεδομένων Ogg δεν περιέχει κάποιον υποστηριζόμενο τύπο δεδομένων."
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Αλλοιωμένη δευτερεύουσα κεφαλίδα."
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "EOF πριν το τέλος της ροής Vorbis."
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Επιλογή όλων"
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Χαμένα ή αλλοιωμένα δεδομένα, συνέχεια..."
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Σφάλμα κατά την εγγραφή της ροής στην έξοδο. Η ροή εξόδου μπορεί να είναι "
-"κατεστραμμένη ή ελλιπής."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Επεξεργασία στήλη"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Συσκευή εξόδου:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Πρόσθετο εξόδου:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Αποθήκευση ρύθμισης"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Παράκαμψη"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Φόρτωση ρύθμισης"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Πρόσθετο εξόδου:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
msgstr ""
-"wildmidi: δε βρέθηκε το αρχείο ρυθμίσεων του freepats. Παρακαλώ εγκαταστήστε "
-"το πακέτο timidity-freepats, ή καθορίστε τη διαδρομή του freepats.cfg στις "
-"επιλογές του πρόσθετου."
-#~ msgid "Add Audio CD"
-#~ msgstr "Προσθήκη CD ήχου"
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Εγγραφή APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Εγγραφή ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Εγγραφή ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Συγγραφέας ετικετών"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Αποθήκευση λίστας αναπαραγωγής ως"
+
+#~ msgid "_Abort"
+#~ msgstr "_Ακύρωση"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>ΠΡΟΕΙΔΟΠΟΙΗΣΉ</b>: η εγγραφή ετικετών είναι ακόμα υπό ανάπτυξη.\n"
+#~ "<b>Κρατήστε αντίγραφα ασφαλείας</b> πριν τη χρήση."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "Επεξεργασία στήλης"
+
+#~ msgid "Length"
+#~ msgstr "Διάρκεια"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Μορφή μετατροπής (ξεκινούν με %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and,\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Παράδειγμα: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Να επιτρέπεται η δυναμική ρύθμιση της δειγματοληψίας"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Ποιότητα μετατροπής samplerate:"
+
+#~ msgid "Description:"
+#~ msgstr "Περιγραφή:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Συγγραφέας:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Ιστοσελίδα:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "Επεξεργασία λίστας αναπαραγωγής"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format μετατροπής (ξεκινούν με %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and,\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Παράδειγμα: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Εγκατάσταση %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Πρόσθετο εξόδου ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "Δεν ήταν δυνατή η χρήση αρκετής μνήμης για το input buffering"
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Σφάλμα ανάγνωσης πρώτης σελίδας του Ogg bitstream."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Σφάλμα ανάγνωσης κεφαλίδας αρχικού πακέτου."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Δεν μπόρεσε να καταληφθεί αρκετή μνήμη για την καταγραφή νέου σειριακού "
+#~ "αριθμού stream."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Η είσοδος είναι περικομμένη ή άδεια."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Η είσοδος δεν είναι μια ροή δεδομένων Ogg"
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Το Ogg bitstream δεν περιέχει δεδομένα Vorbis"
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "EOF πριν την αναγνώριση της ροής."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr ""
+#~ "Η ροή δεδομένων Ogg δεν περιέχει κάποιον υποστηριζόμενο τύπο δεδομένων."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Αλλοιωμένη δευτερεύουσα κεφαλίδα."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "EOF πριν το τέλος της ροής Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Χαμένα ή αλλοιωμένα δεδομένα, συνέχεια..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Σφάλμα κατά την εγγραφή της ροής στην έξοδο. Η ροή εξόδου μπορεί να είναι "
+#~ "κατεστραμμένη ή ελλιπής."
#~ msgid "Sound (adv.)"
#~ msgstr "Ήχος (προχ.)"
diff --git a/po/en_GB.po b/po/en_GB.po
index c2773d22..9745ac5d 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -1,845 +1,914 @@
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: 0xDeadBeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-19 04:29+0000\n"
-"PO-Revision-Date: 2010-07-06 17:16+01\n"
-"Last-Translator: Steve (Yorvyk) Cook <yorvik.ubunto@googlemail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-25 00:29+0200\n"
+"Last-Translator: Steve <yorvik.ubunto@gmail.com>\n"
"Language-Team: English (United Kingdom) <yorvik.ubunto@gmail.com>\n"
+"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.5\n"
"X-Poedit-Language: English en_GB\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Country: UNITED KINGDOM\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Supported sound formats"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "All files (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Open file(s)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Add file(s) to playlist..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Add folder(s) to playlist..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Follow symlinks"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Failed while reading help file"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Failed to load help file"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Help"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "About DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s ChangeLog"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF Translators"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Edit playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Title:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Rename Playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Remove Playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Add New Playlist"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Save DeaDBeeF EQ Preset"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ preset files (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Load DeaDBeeF EQ Preset..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ presets (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Import Foobar2000 EQ Preset..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ presets (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Save Preset"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Load Preset"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Import Foobar2000 Preset"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Enable"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Zero All"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Zero Preamp"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Zero Bands"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Save Preset"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Load Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Presets"
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Import Foobar2000 Preset"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 day %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d days %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Stopped | %d tracks | %s total playtime"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Paused | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Save Playlist As"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF playlist files (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Load Playlist"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Other files (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "New Playlist"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "New Playlist (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_File"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Open file(s)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Add file(s)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Add folder(s)"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Add location"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "New playlist"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Load playlist"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Save playlist"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Save playlist as"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Quit"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Edit"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Clear"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Select all"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Deselect all"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Invert selection"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Selection"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Remove"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Crop"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Find"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Sort By"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Title"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Track number"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artist"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Date"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Custom"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferences"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_View"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Status bar"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Column headers"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Tabs"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equaliser"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Playback"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Order"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linear"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Shuffle tracks"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Shuffle albums"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Random"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Looping"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Loop All"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Loop Single Song"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Don’t Loop"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Scroll follows playback"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Cursor follows playback"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Stop after current"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Jump to current track"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Help"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_ChangeLog"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_About"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "_Translators"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Search"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Stop"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Play"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pause"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Previous"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Next"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Play Random"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "About"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Quit"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Adding files..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Abort"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Track Properties"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Settings"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Apply"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Close"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadata"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Properties"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Title:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Enter new column title here"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Type:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "File number"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Item Index"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Playing"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Album Art"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artist - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Artist"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Title"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Duration"
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Length"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Track Number"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Track"
-
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Band / Album Artist"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Custom"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Alignment:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Left"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Right"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Cancel"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Output plugin:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Output device:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Always convert 8 bit audio to 16 bit"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Sound"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Allow dynamic sample-rate switching"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Sample-rate conversion quality:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Replay-gain mode:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Disable"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Track"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Replay-gain peak scale"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Replay-gain preamp:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Global preamp:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "Add files from command line (or file manager) to this playlist:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Resume previous session on startup"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Don't add from archives when adding folders"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "_Playback"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configure"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "DSP Chain Preset"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Load"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Close minimises to tray"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Middle mouse button closes playlist"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Hide system tray icon"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Use bold font for currently playing track"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Hide \"Delete from disk\" in context menu"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Auto-name playlists when adding a single folder"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Interface refresh rate (times per second):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Titlebar text while playing:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Titlebar text while stopped:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "GUI Plugin (changing requires restart):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Override"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Foreground"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Background"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Seek-bar/Volume-bar colours"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Middle"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Light"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Dark"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Text"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Tab strip colours"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Override (loses GTK tree-view theming, but speeds up rendering)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Even row"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Odd row"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Text"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Selected row"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Selected text"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Cursor"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Playlist colours"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Colours"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Enable Proxy Server"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Proxy Server Address:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Proxy Server Port:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Proxy Type:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Proxy User-name:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Proxy Password:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Network"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Version: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Copyright"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Group By"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Sort by..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Format"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Ascending"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Descending"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Select DSP Plugin"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Plugin"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Tag Writer Settings"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Write ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Write ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Write APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Strip ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Strip ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Strip APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 version"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Recommended)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 character encoding (default is iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Write ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Tag writer"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Description:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Author(s):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Website:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Configure"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Group By"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artist / Album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Track No."
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Title / Track Artist"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Duration"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Delete files from disk"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -847,195 +916,219 @@ msgstr ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Warning"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Add to playback queue"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Remove from playback queue"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Reload metadata"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Remove from disk"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Add column"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Edit column"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Remove column"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Group by"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "None"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artist/Date/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Open file..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Setup %s"
+msgid "Configure %s"
+msgstr "Configure %s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Default Audio Device"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Add"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Global Hot-keys"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Slot"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Key combination"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA output plugin"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Adding files..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Initialising..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "You’ve modified data for this track."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Really close the window?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tag Type(s)"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Embedded Cue-sheet"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Multiple values] "
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Yes"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "No"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
-
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Key short-cuts"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Value"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Writing tags..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Name:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Field names must not start with : or _"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Cannot add field"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Field with such name already exists, please try different name."
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Really remove selected field?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Add field"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Remove field"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Usage: deadbeef [options] [file(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Options:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Print help (this message) and exit\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Quit player\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Print version info and exit\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Start playback\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Stop playback\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pause playback\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Toggle pause\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Start playback if stopped, toggle pause otherwise\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Next song in playlist\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Previous song in playlist\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Random song in playlist\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Append file(s) to existing playlist\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Print formatted track name to stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1046,16 +1139,36 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+
+#: ../main.c:110
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " for more info, see http://sourceforge.net/apps/mediawi"
+"ki/deadbeef/index.php?title=Title_Formatting\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Default"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Yes"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "No"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1063,7 +1176,15 @@ msgstr ""
"2.3 (Recommended)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Ascending\n"
+"Descending"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1073,33 +1194,25 @@ msgstr ""
"Track\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"File number\n"
-"Playing\n"
-"Album Art\n"
-"Artist - Album\n"
-"Artist\n"
-"Album\n"
-"Title\n"
-"Length\n"
-"Track\n"
-"Band / Album Artist\n"
-"Custom"
+"Item Index\n"
+"PlayingAlbum ArtArtist - AlbumArtistAlbumTitleDurationTrack NumberBand / "
+"Album ArtistCustom"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1108,69 +1221,655 @@ msgstr ""
"Right"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Couldn’t find pixmap file: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Couldn’t get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Add Audio CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Lookup on Last.fm"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "Use ALSA resampling"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Release device while stopped"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "Preferred buffer size"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "Preferred period size"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "Enable scrobbler"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Disable now playing"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Username"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Password"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Scrobble URL"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Device file"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "OSS4 sample rate bug workaround"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "Cache update period (hr)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "Fetch from embedded tags"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "Fetch from local folder"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "Local cover file mask"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "Fetch from last.fm"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "Fetch from albumart.org"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Scale artwork towards longer side"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "Use CDDB/FreeDB"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "Prefer CD-Text over CDDB"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "CDDB url (e.g. 'freedb.org')"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "CDDB port number (e.g. '888')"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "Prefer CDDB protocol over HTTP"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "Enable NRG image support"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "Re-sampling quality (0..2, higher is better)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "Maximum song length (in minutes)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Ask for confirmation to delete files from disk"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "Status icon volume control sensitivity"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "Custom status icon"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "Run gtk_init with --sync (debug mode)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Add separators between plugin context menu items"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Notification title format"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Notification content format"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Show album art"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Album art size (px)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "PulseAudio server"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "Sample rate"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "Relative seek table path"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "Absolute seek table path"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "Swap audio bytes (toggle if all you hear is static)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Enable HVSC Songlength DB"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (from HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bits per sample (8 or 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Default song length (sec)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Timidity++ bank configuration file"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Track Title"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Artist"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Total Tracks"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Error reading initial header packet."
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Genre"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Couldn’t get enough memory to register new stream serial number."
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Composer"
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Input truncated or empty."
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Disc Number"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Input is not an Ogg bit-stream."
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Comment"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg bit-stream does not contain Vorbis data."
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "Encoder / Vendor"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "EOF before recognised stream."
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Location"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg bit-stream does not contain a supported data-type."
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Sub-track Index"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Corrupt secondary header."
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tag Type(s)"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "EOF before end of Vorbis headers."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Embedded Cue-sheet"
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Corrupt or missing data, continuing..."
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
-#: ../plugins/vorbis/vcedit.c:874
-msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-msgstr "Error writing stream to output. Output stream may be corrupted or truncated."
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "File Extensions (separate with ';')"
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Convert"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Target sample rate"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Quality / Algorithm"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Automatic sample rate (overrides Target sample rate)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "The file already exists. Overwrite?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Converter warning"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Please select encoder"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Converter error"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Converting..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Select folder..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Failed to save encoder preset"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Check preset folder permissions, try to pick a different title, or free up "
+"some disk space"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Preset with the same name already exists. Pick another title."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Error"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Add new encoder"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Edit encoder"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Remove preset"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "This action will delete the selected preset. Are you sure?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Encoders"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Add plugin to DSP chain"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Failed to save DSP preset"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "New DSP Preset"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Edit DSP Preset"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP Presets"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Output folder:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Output file name:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"File extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for the default (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Encoder:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP preset:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Number of threads:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Output sample format:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Keep source format"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 bit signed integer"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 bit signed integer"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 bit signed integer"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 bit signed integer"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 bit float"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "When file exists:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Prompt"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Overwrite"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Preserve folder structure, starting from:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Edit Encoder Preset"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Untitled Encoder"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Output file extension:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "E.g. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Command line:"
+
+#: ../plugins/converter/interface.c:436
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Method:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Pipe"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Temporary file"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Tag writer</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "DSP Preset Editor"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Untitled DSP Preset"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Save playlist as"
+
+#~ msgid "_Abort"
+#~ msgstr "_Abort"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Length"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Allow dynamic sample-rate switching"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Sample-rate conversion quality:"
+
+#~ msgid "Description:"
+#~ msgstr "Description:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Author(s):"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Website:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Setup %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA output plugin"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "Couldn’t get enough memory for input buffering."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Error reading first page of Ogg bitstream."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Error reading initial header packet."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "Couldn’t get enough memory to register new stream serial number."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Input truncated or empty."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Input is not an Ogg bit-stream."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg bit-stream does not contain Vorbis data."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "EOF before recognised stream."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg bit-stream does not contain a supported data-type."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Corrupt secondary header."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "EOF before end of Vorbis headers."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Corrupt or missing data, continuing..."
-#~ msgid "Add Audio CD"
-#~ msgstr "Add Audio CD"
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
#~ msgid "Sound (adv.)"
#~ msgstr "Sound (adv.)"
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 00000000..d961ba09
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,1724 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-09-25 17:37+0200\n"
+"Last-Translator: Kristjan <kristjan.schmidt@googlemail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.5\n"
+
+#: ../plugins/gtkui/callbacks.c:123
+msgid "Supported sound formats"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
+msgstr "Aliaj dosieroj (*)"
+
+#: ../plugins/gtkui/callbacks.c:144
+msgid "Open file(s)..."
+msgstr "Malfermi dosiero(j)n..."
+
+#: ../plugins/gtkui/callbacks.c:179
+msgid "Add file(s) to playlist..."
+msgstr "Aldoni dosiero(j)n al ludlisto..."
+
+#: ../plugins/gtkui/callbacks.c:220
+msgid "Add folder(s) to playlist..."
+msgstr "Aldoni dosierujo(j)n al ludlisto..."
+
+#: ../plugins/gtkui/callbacks.c:225
+msgid "Follow symlinks"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:711
+msgid "Failed while reading help file"
+msgstr "Eraro dum legado de la helpdosiero"
+
+#: ../plugins/gtkui/callbacks.c:721
+msgid "Failed to load help file"
+msgstr "Eraro dum ŝargado de la helpdosiero"
+
+#: ../plugins/gtkui/callbacks.c:736
+#, fuzzy
+msgid "help.txt"
+msgstr "helpo.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
+msgid "Help"
+msgstr "Helpo"
+
+#: ../plugins/gtkui/callbacks.c:747
+#, c-format
+msgid "About DeaDBeeF %s"
+msgstr "Pri DeaDBeeF %s"
+
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
+msgid "DeaDBeeF %s ChangeLog"
+msgstr "Ŝanĝoprotokolo de DeaDBeeF %s"
+
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Tradukintoj de DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
+msgid "Edit playlist"
+msgstr "Redakti la ludliston"
+
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Titolo:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
+msgid "Rename Playlist"
+msgstr "Alinomi la ludliston"
+
+#: ../plugins/gtkui/ddbtabstrip.c:821
+msgid "Remove Playlist"
+msgstr "Forigi la ludliston"
+
+#: ../plugins/gtkui/ddbtabstrip.c:828
+msgid "Add New Playlist"
+msgstr "Aldoni novan ludliston"
+
+#: ../plugins/gtkui/eq.c:136
+msgid "Save DeaDBeeF EQ Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:143
+msgid "DeaDBeeF EQ preset files (*.ddbeq)"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:182
+msgid "Load DeaDBeeF EQ Preset..."
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:186
+msgid "DeaDBeeF EQ presets (*.ddbeq)"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:247
+msgid "Import Foobar2000 EQ Preset..."
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:251
+msgid "Foobar2000 EQ presets (*.feq)"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:137
+#, c-format
+msgid "1 day %d:%02d:%02d"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:140
+#, c-format
+msgid "%d days %d:%02d:%02d"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:149
+#, c-format
+msgid "Stopped | %d tracks | %s total playtime"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Mono"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Stereo"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:187
+#, c-format
+msgid "| %4d kbps "
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:193
+msgid "Paused | "
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:198
+#, c-format
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:644
+msgid "Save Playlist As"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:655
+msgid "DeaDBeeF playlist files (*.dbpl)"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:773
+msgid "Load Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Aliaj dosieroj (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
+msgid "New Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:929
+#, c-format
+msgid "New Playlist (%d)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
+msgid "_File"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
+msgid "_Open file(s)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+msgid "Add file(s)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
+msgid "Add folder(s)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
+msgid "Add location"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
+msgid "New playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
+msgid "Load playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
+msgid "Save playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
+msgid "_Quit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
+msgid "_Edit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
+msgid "_Clear"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
+msgid "Select all"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
+msgid "Deselect all"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
+msgid "Invert selection"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "Selection"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
+msgid "Remove"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
+msgid "Crop"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
+msgid "_Find"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr ""
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
+msgid "Preferences"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
+msgid "_View"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
+msgid "Status bar"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
+msgid "Column headers"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Tabs"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
+msgid "Equalizer"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
+msgid "_Playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
+msgid "Order"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
+msgid "Linear"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
+msgid "Random"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
+msgid "Looping"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
+msgid "Loop All"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
+msgid "Loop Single Song"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
+msgid "Don't Loop"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
+msgid "Scroll follows playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
+msgid "Cursor follows playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
+msgid "Stop after current"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
+msgid "_Help"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
+msgid "_ChangeLog"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
+msgid "_About"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
+msgid "Search"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
+msgid "Stop"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
+msgid "Play"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
+msgid "Pause"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
+msgid "Previous"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
+msgid "Next"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
+msgid "Play Random"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
+msgid "About"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
+msgid "Quit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Track Properties"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
+msgid "_Apply"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
+msgid "_Close"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
+msgid "Metadata"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
+msgid "Properties"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
+msgid "Enter new column title here"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "Type:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
+
+#. create default set of columns
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
+msgid "Playing"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1512
+msgid "Album Art"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1513
+msgid "Artist - Album"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
+msgid "Band / Album Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
+msgid "Format:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
+msgid "Alignment:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1559
+msgid "Left"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1560
+msgid "Right"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
+msgid "_Cancel"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
+msgid "_OK"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
+msgid "Output plugin:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
+msgid "Output device:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
+msgid "Add files from command line (or file manager) to this playlist:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
+msgid "Resume previous session on startup"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
+msgid "Playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
+msgid "Close minimizes to tray"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
+msgid "Middle mouse button closes playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
+msgid "Hide system tray icon"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Use bold font for currently playing track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
+msgid "Hide \"Delete from disk\" context menu item"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
+msgid "Titlebar text while playing:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
+msgid "Titlebar text while stopped:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
+msgid "Override"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
+msgid "Foreground"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
+msgid "Background"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
+msgid "Seekbar/Volumebar colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
+msgid "Middle"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
+msgid "Light"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
+msgid "Dark"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
+msgid "Base"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
+msgid "Tab strip colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
+msgid "Override (looses GTK treeview theming, but speeds up rendering)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
+msgid "Even row"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
+msgid "Odd row"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
+msgid "Selected row"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
+msgid "Selected text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
+msgid "Cursor"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
+msgid "Playlist colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
+msgid "Colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
+msgid "Enable Proxy Server"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
+msgid "Proxy Server Address:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
+msgid "Proxy Server Port:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
+msgid "Proxy Type:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
+msgid "Proxy Username:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
+msgid "Proxy Password:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
+msgid "Network"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
+msgstr ""
+
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
+msgstr ""
+
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:338
+msgid "Delete files from disk"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:339
+msgid ""
+"Files will be lost. Proceed?\n"
+"(This dialog can be turned off in GTKUI plugin settings)"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
+msgid "Warning"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:444
+msgid "Add to playback queue"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:449
+msgid "Remove from playback queue"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:457
+msgid "Reload metadata"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:476
+msgid "Remove from disk"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
+msgid "Add column"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
+msgid "Edit column"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:988
+msgid "Remove column"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:998
+msgid "Group by"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:1005
+msgid "None"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:1009
+msgid "Artist/Date/Album"
+msgstr ""
+
+#: ../plugins/gtkui/pluginconf.c:42
+msgid "Open file..."
+msgstr ""
+
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format
+msgid "Configure %s"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:82
+msgid "Default Audio Device"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
+msgid "Add"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:328
+msgid "Global Hotkeys"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:390
+msgid "Slot"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:391
+msgid "Key combination"
+msgstr ""
+
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr ""
+
+#: ../plugins/gtkui/progress.c:90
+msgid "Initializing..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:159
+msgid "You've modified data for this track."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:161
+msgid "Really close the window?"
+msgstr ""
+
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr ""
+
+#: ../main.c:91
+#, c-format
+msgid "Usage: deadbeef [options] [file(s)]\n"
+msgstr ""
+
+#: ../main.c:92
+#, c-format
+msgid "Options:\n"
+msgstr ""
+
+#: ../main.c:93
+#, c-format
+msgid " --help or -h Print help (this message) and exit\n"
+msgstr ""
+
+#: ../main.c:94
+#, c-format
+msgid " --quit Quit player\n"
+msgstr ""
+
+#: ../main.c:95
+#, c-format
+msgid " --version Print version info and exit\n"
+msgstr ""
+
+#: ../main.c:96
+#, c-format
+msgid " --play Start playback\n"
+msgstr ""
+
+#: ../main.c:97
+#, c-format
+msgid " --stop Stop playback\n"
+msgstr ""
+
+#: ../main.c:98
+#, c-format
+msgid " --pause Pause playback\n"
+msgstr ""
+
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
+#, c-format
+msgid " --next Next song in playlist\n"
+msgstr ""
+
+#: ../main.c:102
+#, c-format
+msgid " --prev Previous song in playlist\n"
+msgstr ""
+
+#: ../main.c:103
+#, c-format
+msgid " --random Random song in playlist\n"
+msgstr ""
+
+#: ../main.c:104
+#, c-format
+msgid " --queue Append file(s) to existing playlist\n"
+msgstr ""
+
+#: ../main.c:105
+#, c-format
+msgid " --nowplaying FMT Print formatted track name to stdout\n"
+msgstr ""
+
+#: ../main.c:106
+#, c-format
+msgid ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+msgstr ""
+
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
+msgid "Default"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
+msgid ""
+"2.3 (Recommended)\n"
+"2.4"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
+msgid ""
+"Disable\n"
+"Track\n"
+"Album"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:56
+msgid ""
+"Item Index\n"
+"Playing\n"
+"Album Art\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Title\n"
+"Duration\n"
+"Track Number\n"
+"Band / Album Artist\n"
+"Custom"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
+msgid ""
+"Left\n"
+"Right"
+msgstr ""
+
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
+#, c-format
+msgid "Couldn't find pixmap file: %s"
+msgstr ""
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr ""
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr ""
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr ""
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr ""
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr ""
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
diff --git a/po/es.po b/po/es.po
index c1dbe804..162e60bb 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: DeaDBeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-24 04:36+0000\n"
-"PO-Revision-Date: 2011-02-15 12:59+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-09 03:04+0200\n"
"Last-Translator: Hugo <sysadmin@cips.cu>\n"
"Language-Team: Spanish\n"
"Language: es\n"
@@ -21,1004 +21,900 @@ msgstr ""
"X-Poedit-Language: Spanish\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formatos de audio admitidos"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Otros archivos (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Todos los archivos (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Abrir archivo(s)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Añadir archivo(s) a la lista de reproducción..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Añadir carpeta(s) a la lista de reproducción..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Seguir enlace simbólico"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Error al leer el archivo de ayuda"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Error al cargar el archivo de ayuda"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "ayuda.txt"
-#: ../plugins/gtkui/callbacks.c:693
-#: ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Ayuda"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Acerca de DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Cambios en DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Traductores de DeaDBeeF"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Editar lista de reproducción"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Título:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Renombrar lista de reproducción"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Quitar lista de reproducción"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Nueva lista de reproducción"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Guardar Ajustes del EQ de DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Ajustes del EQ de DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Cargar Ajustes del EQ de DeaDBeef..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Ajustes del EQ de DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importar Ajustes del EQ de Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Ajustes de EQ de Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Guardar ajustes"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Cargar ajustes"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importar ajustes de Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Activar"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Restablecer todo"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Restablecer preamp"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Restablecer bandas"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Guardar ajustes"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Cargar ajustes"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importar ajustes de Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Preajustes"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 día y %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d días y %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Detenido | %d pistas | Tiempo total: %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Estéreo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pausado | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d pistas | Tiempo total: %s"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d pistas | Tiempo total: %s"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Guardar lista de reproducción como..."
-#: ../plugins/gtkui/gtkui.c:670
-#: ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Listas de reproducción de DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Cargar lista de reproducción"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Otros archivos (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nueva lista de reproducción"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nueva lista de reproducción (%d)"
-#: ../plugins/gtkui/interface.c:142
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Archivo"
-#: ../plugins/gtkui/interface.c:149
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Abrir archivo(s)"
-#: ../plugins/gtkui/interface.c:165
-#: ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Añadir archivo(s)"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Añadir carpeta(s)"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Añadir dirección"
-#: ../plugins/gtkui/interface.c:190
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nueva lista de reproducción"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Cargar lista de reproducción"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Guardar lista de reproducción"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Guardar lista de reproducción como..."
-
-#: ../plugins/gtkui/interface.c:214
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Salir"
-#: ../plugins/gtkui/interface.c:225
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Editar"
-#: ../plugins/gtkui/interface.c:232
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Limpiar"
-#: ../plugins/gtkui/interface.c:240
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Seleccionar todo"
-#: ../plugins/gtkui/interface.c:247
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Deseleccionar todo"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Invertir selección"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Selección"
-#: ../plugins/gtkui/interface.c:265
-#: ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Quitar"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Recortar"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Buscar"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Ordenar por"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Título"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Número de la pista"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Álbum"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artista"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Fecha"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Personalizado"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferencias"
-#: ../plugins/gtkui/interface.c:293
-#: ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Ver"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barra de estado"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Cabeceras de columnas"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Pestañas"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ecualizador"
-#: ../plugins/gtkui/interface.c:316
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Reproducción"
-#: ../plugins/gtkui/interface.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Orden"
-#: ../plugins/gtkui/interface.c:330
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Lineal"
-#: ../plugins/gtkui/interface.c:336
-#: ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Barajar"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Barajar pistas"
-#: ../plugins/gtkui/interface.c:342
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Barajar álbumes"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Aleatorio"
-#: ../plugins/gtkui/interface.c:348
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Repetir"
-#: ../plugins/gtkui/interface.c:355
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Repetir todo"
-#: ../plugins/gtkui/interface.c:361
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Repetir una canción"
-#: ../plugins/gtkui/interface.c:367
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "No repetir"
-#: ../plugins/gtkui/interface.c:373
-#: ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Desplazar al cambiar de pista"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Seleccionar al cambiar de pista"
-#: ../plugins/gtkui/interface.c:382
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Detener al terminar la pista actual"
-#: ../plugins/gtkui/interface.c:394
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Saltar a la pista actual"
-#: ../plugins/gtkui/interface.c:401
-#: ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Ayuda"
-#: ../plugins/gtkui/interface.c:416
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Cambios"
-#: ../plugins/gtkui/interface.c:425
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Acerca de"
-#: ../plugins/gtkui/interface.c:446
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Traductores"
-#: ../plugins/gtkui/interface.c:836
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Buscar"
-#: ../plugins/gtkui/interface.c:911
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Parar"
-#: ../plugins/gtkui/interface.c:919
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Reproducir"
-#: ../plugins/gtkui/interface.c:927
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pausar"
-#: ../plugins/gtkui/interface.c:935
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Anterior"
-#: ../plugins/gtkui/interface.c:943
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Siguiente"
-#: ../plugins/gtkui/interface.c:951
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Aleatorio"
-#: ../plugins/gtkui/interface.c:960
-#: ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Acerca de"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Salir"
-#: ../plugins/gtkui/interface.c:1045
-#: ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Añadiendo archivos..."
-
-#: ../plugins/gtkui/interface.c:1089
-#: ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "_Abortar"
-
-#: ../plugins/gtkui/interface.c:1189
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Propiedades de la Pista"
-#: ../plugins/gtkui/interface.c:1235
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Preferencias"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Aplicar"
-#: ../plugins/gtkui/interface.c:1256
-#: ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Cerrar"
-#: ../plugins/gtkui/interface.c:1260
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadatos"
-#: ../plugins/gtkui/interface.c:1306
-#: ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Propiedades"
-#: ../plugins/gtkui/interface.c:1391
-#: ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1406
-#: ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Título:"
-
-#: ../plugins/gtkui/interface.c:1414
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Introduzca el título de la columna"
-#: ../plugins/gtkui/interface.c:1422
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tipo:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Índice del elemento"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431
-#: ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Reproduciendo"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Portada"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artista - Álbum"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434
-#: ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Artista"
-
-#: ../plugins/gtkui/interface.c:1435
-#: ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Álbum"
-
-#: ../plugins/gtkui/interface.c:1436
-#: ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Título"
-
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Duración"
-#: ../plugins/gtkui/interface.c:1438
-#: ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Pista"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Número de la pista"
-#: ../plugins/gtkui/interface.c:1439
-#: ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Banda / Artista"
-#: ../plugins/gtkui/interface.c:1440
-#: ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Personalizado"
-
-#: ../plugins/gtkui/interface.c:1446
-#: ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formato:"
-#: ../plugins/gtkui/interface.c:1461
-#: ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Alineación:"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Izquierda"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Derecha"
-#: ../plugins/gtkui/interface.c:1472
-#: ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Conversiones de formato (empezar con %):\n"
-"a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
-"n: Número de pista, N: Pistas totales,\n"
-"l: Duración, y: Año, g: Género, c: Comentario,\n"
-"r: Copyright, f: Nombre de archivo, T: Etiquetas\n"
-"Ejemplo: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501
-#: ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040
-#: ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Cancelar"
-#: ../plugins/gtkui/interface.c:1522
-#: ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061
-#: ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Aceptar"
-#: ../plugins/gtkui/interface.c:1753
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Complemento de salida:"
-#: ../plugins/gtkui/interface.c:1766
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Dispositivo de salida:"
-#: ../plugins/gtkui/interface.c:1775
-#: ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Sound"
-msgstr "Audio"
-
-#: ../plugins/gtkui/interface.c:1784
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Permitir cambio dinámico de frecuencia"
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Siempre convertir audio de 8 bits a 16 bits"
-#: ../plugins/gtkui/interface.c:1792
-#: ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Calidad de conversión de frecuencia:"
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr "Sonido"
-#: ../plugins/gtkui/interface.c:1811
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
-msgstr "Modo replaygain (ajuste de volumen):"
+msgstr "Modo replaygain:"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Desactivar"
-#: ../plugins/gtkui/interface.c:1824
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Pista"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Normalizar con replaygain"
-#: ../plugins/gtkui/interface.c:1832
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Preamplificación replaygain:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Preamplificación global:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Agregar archivos desde la línea de comandos (o gestor de archivos) a la "
"lista de reproducción:"
-#: ../plugins/gtkui/interface.c:1841
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Reanudar la sesión anterior al inicio"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Al añadir carpetas, no añadir de archivos comprimidos"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Reproducción"
-#: ../plugins/gtkui/interface.c:1854
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configurar"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Preajuste de la cadena DSP"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Cargar"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Cerrar minimiza a la bandeja"
-#: ../plugins/gtkui/interface.c:1858
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Botón central del ratón cierra la lista de reproducción"
-#: ../plugins/gtkui/interface.c:1862
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Esconder icono de la bandeja del sistema"
-#: ../plugins/gtkui/interface.c:1866
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Usar negrita para la pista en reproducción"
-#: ../plugins/gtkui/interface.c:1870
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Esconder \"Borrar del disco\" del menú contextual"
-#: ../plugins/gtkui/interface.c:1878
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Autonombrar listas de reproducción al añadir una carpeta"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Tasa de refresco de la interfaz (veces por segundo):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Texto a mostrar en la barra de título mientras se reproduce:"
-#: ../plugins/gtkui/interface.c:1892
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Texto a mostrar en la barra de título mientras no se reproduce:"
-#: ../plugins/gtkui/interface.c:1902
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Complemento de interfaz gráfica (cambiarlo requiere reiniciar):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
-msgstr "Interfaz"
+msgstr "Interfaz gráfica"
-#: ../plugins/gtkui/interface.c:1916
-#: ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
-msgstr "Cambiar"
+msgstr "Anular"
-#: ../plugins/gtkui/interface.c:1925
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Frente"
-#: ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Fondo"
-#: ../plugins/gtkui/interface.c:1951
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Colores de barras de tiempo/volumen"
-#: ../plugins/gtkui/interface.c:1969
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Medio"
-#: ../plugins/gtkui/interface.c:1976
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Claro"
-#: ../plugins/gtkui/interface.c:1983
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Oscuro"
-#: ../plugins/gtkui/interface.c:2014
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:2021
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Texto"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Colores de pestañas"
-#: ../plugins/gtkui/interface.c:2030
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Cambiar (ignora el tema GTK, pero acelera el renderizado)"
-#: ../plugins/gtkui/interface.c:2039
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Fila par"
-#: ../plugins/gtkui/interface.c:2046
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Fila impar"
-#: ../plugins/gtkui/interface.c:2065
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Texto"
-
-#: ../plugins/gtkui/interface.c:2072
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Fila seleccionada"
-#: ../plugins/gtkui/interface.c:2091
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Texto Seleccionado"
-#: ../plugins/gtkui/interface.c:2104
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Cursor"
-#: ../plugins/gtkui/interface.c:2117
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Colores de lista de reproducción"
-#: ../plugins/gtkui/interface.c:2121
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Colores"
-#: ../plugins/gtkui/interface.c:2130
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Activar Servidor Proxy"
-#: ../plugins/gtkui/interface.c:2138
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Dirección:"
-#: ../plugins/gtkui/interface.c:2152
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Puerto:"
-#: ../plugins/gtkui/interface.c:2166
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Tipo:"
-#: ../plugins/gtkui/interface.c:2185
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Usuario:"
-#: ../plugins/gtkui/interface.c:2198
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Contraseña:"
-#: ../plugins/gtkui/interface.c:2208
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Red"
-#: ../plugins/gtkui/interface.c:2236
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Versión:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Copyright"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Agrupar Por"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Ordenar por..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Formato"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Descendente"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Seleccionar complemente DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Complemento"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Preferencias del editor de etiquetas"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Escribir ID3v2"
-#: ../plugins/gtkui/interface.c:2240
-#: ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Escribir ID3v1"
-#: ../plugins/gtkui/interface.c:2244
-#: ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Escribir APEv2"
-#: ../plugins/gtkui/interface.c:2252
-#: ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Recortar ID3v2"
-#: ../plugins/gtkui/interface.c:2256
-#: ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Recortar ID3v1"
-#: ../plugins/gtkui/interface.c:2260
-#: ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Recortar APEv2"
-#: ../plugins/gtkui/interface.c:2268
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Versión de ID3v2"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Recomendada)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Codificación de ID3v1 (por defecto es iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Escribir ID3v2.4"
-#: ../plugins/gtkui/interface.c:2388
-#: ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Editor de etiquetas"
-
-#: ../plugins/gtkui/interface.c:2419
-#: ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Descripción:"
-
-#: ../plugins/gtkui/interface.c:2434
-#: ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Autor:"
-
-#: ../plugins/gtkui/interface.c:2449
-#: ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2464
-#: ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Sitio Web:"
-
-#: ../plugins/gtkui/interface.c:2495
-#: ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Configurar"
-
-#: ../plugins/gtkui/interface.c:2499
-#: ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../plugins/gtkui/interface.c:2881
-#: ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:3008
-#: ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109
-#: ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Agrupar Por"
-
-#: ../plugins/gtkui/interface.c:3134
-#: ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Conversiones de formato (empezar con %):\n"
-"a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
-"n: Número de pista, N: Pistas totales,\n"
-"l: Duración, y: Año, g: Género, c: Comentario,\n"
-"r: Copyright, f: Nombre de archivo, T: Etiquetas\n"
-"Ejemplo: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306
-#: ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artista / Álbum"
-#: ../plugins/gtkui/mainplaylist.c:307
-#: ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Pista"
-#: ../plugins/gtkui/mainplaylist.c:308
-#: ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Título / Intérprete"
-
-#: ../plugins/gtkui/mainplaylist.c:309
-#: ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Duración"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Eliminar archivos del disco"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1026,209 +922,222 @@ msgstr ""
"Perderás los archivos. ¿Deseas continuar?\n"
"(Éste aviso puede desactivarse en las opciones del plugin GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Aviso"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Añadir a cola de reproducción"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Quitar de cola de reproducción"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Recargar metadatos"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Eliminar archivo del disco"
-#: ../plugins/gtkui/plcommon.c:720
-#: ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Añadir columna"
-#: ../plugins/gtkui/plcommon.c:750
-#: ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Editar columna"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Quitar columna"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Agrupar por"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Nada"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artista/Fecha/Álbum"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Abrir archivo..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr "Configurar %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Dispositivo de Audio por Defecto"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Añadir"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Teclas rápidas globales"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Comando"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Combinación de teclas"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481
-#: ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "Complemento de salida ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Añadiendo archivos..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Inicializando..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Ha modificado los datos de esta pista."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "¿Realmente desea cerrar la ventana?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Ubicación"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Múltiples valores]"
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Índice de la subpista"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Clave"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tipo de Etiqueta(s)"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Valor"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Hoja Cue incrustada"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Escribiendo etiquetas..."
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Sí"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Nombre:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "No"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Los nombres de campos no deben comenzar con : o _"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Imposible añadir campo"
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Clave"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Ya existe un campo con ese nombre, por favor utilice otro diferente."
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Valor"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "¿Realmente desea quitar el campo seleccionado?"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF reproduciendo"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Añadir campo"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Quitar campo"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Uso: deadbeef [opciones] [archivo(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opciones:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help o -h Mostrar la ayuda (éste mensaje) y salir\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Cerrar reproductor\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Mostar la versión y salir\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Iniciar reproducción\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Parar reproducción\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pausar reproducción\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Alternar pausa\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Iniciar la reproducción si está detenida, pausar en "
+"caso contrario\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Siguiente pista de la lista de reproducción\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Pista anterior de la lista de reproducción \n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Canción aleatoria de la lista de reproducción\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Añadir archivo(s) a la lista de reproducción\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
-msgstr " --nowplaying FMT Mostrar nombre de la pista formateado a través de stdout\n"
+msgstr ""
+" --nowplaying FMT Mostrar nombre de la pista formateado a través de "
+"stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1239,17 +1148,36 @@ msgstr ""
" l: Duración, n: Pista, y: Año, c: Comentario,\n"
" r: Copyright, e: Tiempo restante\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " ej.: --nowplaying \"%%a - %%t\" mostraría \"artista - título\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" ej.: --nowplaying \"%%a - %%t\" mostraría \"artista - "
+"título\"\n"
-#: ../playlist.c:377
-#: ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " para más información, vea http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Por defecto"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Sí"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "No"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1257,7 +1185,15 @@ msgstr ""
"2.3 (Recomendada)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Ascendente\n"
+"Descendente"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1267,7 +1203,7 @@ msgstr ""
"\\Pista\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1276,12 +1212,12 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"ïndice del elemento\n"
+"Índice del elemento\n"
"Reproduciendo\n"
"Arte del álbum\n"
"Artista - Álbum\n"
@@ -1289,11 +1225,11 @@ msgstr ""
"Album\n"
"Título\n"
"Duración\n"
-"Pista\n"
+"Número de pista\n"
"Banda / Artista del álbum\n"
"Personalizado"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1301,16 +1237,21 @@ msgstr ""
"Izquierda\n"
"Derecha"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Imposible encontrar el archivo pixmap: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: el archivo de configuración freepats no se puede encontrar. Por favor instale el paquete timidity-freepats o especifique la ruta a freepats.cfg en la configuración del plugin."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: el archivo de configuración freepats no se puede encontrar. Por "
+"favor instale el paquete timidity-freepats o especifique la ruta a freepats."
+"cfg en la configuración del plugin."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1331,8 +1272,7 @@ msgstr "Usar remuestreo ALSA"
msgid "Release device while stopped"
msgstr "Liberar el dispositivo al detener"
-#: ../translation/extra.c:8
-#: ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Tamaño preferido del búfer"
@@ -1361,167 +1301,554 @@ msgstr "Contraseña"
msgid "Scrobble URL"
msgstr "URL de Scrobble"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Dispositivo de archivo"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Solución para error de muestreo de OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Periodo de actualización de la cache (hr)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Obtener de etiquetas incrustadas"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Obtener de carpeta local"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Máscara de archivo para portada local"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Obtener de Last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Obtener de albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Escalar gráfico hacia el lado largo"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Usar CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Preferir CD-Text sobre CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "url CDDB (ej.: 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Número de puerto CDDB (ej.: '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Preferir protocolo CDDB sobre HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Habilitar soporte a imágenes NRG"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "calidad de remuestreo (0..2, superior es mejor)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Duración máxima de la canción (en minutos)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Pedir confirmación para eliminar archivos del disco"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Sensibilidad del icono de control del volumen"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Icono de estado personalizado"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Ejecutar gtk_init with --sync (modo depuración)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Añadir separadores entre los elementos contextuales de los complementos"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Formato de notificación"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Formato del título de notificación"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Formato del contenido de notificación"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Mostrar arte del álbum"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Tamaño del arte del álbum (px)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "Servidor PulseAudio"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Tasa de muetreo"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Ruta de la tabla de búsqueda relativa"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Ruta de la tabla de búsqueda absoluta"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
-msgstr "Intercambiar bytes de audio (alternar si lo único que escucha es estática)"
+msgstr ""
+"Intercambiar bytes de audio (alternar si lo único que escucha es estática)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "Habilitar HVSC"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Habilitar BBDD HVSC Songlength"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Ruta HVSC"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (de HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bits por muestra (8 o 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Duración predeterminada de la canción (seg.)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Achivo de configuración del banco de Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Título de la pista"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "intérprete"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Fecha"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Número de la pista"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Total de pistas"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Género"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Compositor"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Número del disco"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Comentario"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Codificador / Proveedor"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Copyright"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Ubicación"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Índice de la subpista"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tipo de Etiqueta(s)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Hoja Cue incrustada"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Extensiones de archivos (delimitadas por ';' )"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Convertir"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Tasa de muestreo de destino"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Calidad / algoritmo"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Muestreo automático (anula la tasa de muestreo de destino)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "El archivo ya existe. ¿Sobreescribir?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Alerta del convertidor"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Por favor, seleccione el codificador"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Error del convertidor"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Convirtiendo..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Seleccionar carpeta..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Fallo al guardar preajuste del codificador"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Verifique los permisos de la carpeta de preajustes, intente escoger otro "
+"título, o libere algo de espacio en disco"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+"Ya existe un preajuste con el mismo nombre. Intente escoger otro título."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Error"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Añadir nuevo codificador"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Modificar codificador"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Quitar preajuste"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Esta acción eliminará el preajuste seleccionado. ¿Está seguro?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Codificadores"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Añadir complemento a la cadena DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Fallo al guardar preajuste DSP"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Nuevo preajuste DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Modificar preajuste DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Preajustes DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Carpeta de salida:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Nombre del archivo de salida:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"La extensión (p.ej. .mp3) se agregará automáticamente.\n"
+"Deje el campo vacío para el valor predeterminado (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Codificador:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Preajuste DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Número de hilos:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Formato de muestra de salida:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Mantener el formato de origen"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "entero 8 bit con signo"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "entero 16 bit con signo"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "entero 24 bit con signo"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "entero 32 bit con signo"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "flotante 32 bit"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Cuando el archivo exista:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Preguntar"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Sobreescribir"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Preservar la estructura de carpetas, comenzando desde:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Modificar preajuste del codificador"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Codificador sin nombre"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Extensión del archivo de salida:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "P. ej. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Línea de comando:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Ejemplo: lame - %o\n"
+"%i para el archivo de entrada, %o para el archivo de salida, - para stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - nombre del archivo de salida\n"
+"%i - nombre del archivo de entrada temporal</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Método:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Tubería"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Archivo temporal"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Editor de etiquetas</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Editor de preajustes DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Preajuste DSP sin nombre"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Guardar lista de reproducción como..."
+
+#~ msgid "_Abort"
+#~ msgstr "_Abortar"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Duración"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Conversiones de formato (empezar con %):\n"
+#~ "a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
+#~ "n: Número de pista, N: Pistas totales,\n"
+#~ "l: Duración, y: Año, g: Género, c: Comentario,\n"
+#~ "r: Copyright, f: Nombre de archivo, T: Etiquetas\n"
+#~ "Ejemplo: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Permitir cambio dinámico de frecuencia"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Calidad de conversión de frecuencia:"
+
+#~ msgid "Description:"
+#~ msgstr "Descripción:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Sitio Web:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Conversiones de formato (empezar con %):\n"
+#~ "a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
+#~ "n: Número de pista, N: Pistas totales,\n"
+#~ "l: Duración, y: Año, g: Género, c: Comentario,\n"
+#~ "r: Copyright, f: Nombre de archivo, T: Etiquetas\n"
+#~ "Ejemplo: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Título / Intérprete"
+
+#~ msgid "Setup %s"
+#~ msgstr "Configurar %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Complemento de salida ALSA"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF reproduciendo"
+
+#~ msgid "HVSC path"
+#~ msgstr "Ruta HVSC"
#~ msgid ""
#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
diff --git a/po/et.po b/po/et.po
new file mode 100644
index 00000000..44fd9b98
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,1763 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-22 18:43+0200\n"
+"Last-Translator: Anari <anari.jalakas@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.5\n"
+
+#: ../plugins/gtkui/callbacks.c:123
+msgid "Supported sound formats"
+msgstr "Toetatud helivormingud"
+
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Kõik failid (*)"
+
+#: ../plugins/gtkui/callbacks.c:144
+msgid "Open file(s)..."
+msgstr "Ava fail(e)..."
+
+#: ../plugins/gtkui/callbacks.c:179
+msgid "Add file(s) to playlist..."
+msgstr "Lisa fail(e) esitusloendisse..."
+
+#: ../plugins/gtkui/callbacks.c:220
+msgid "Add folder(s) to playlist..."
+msgstr "Lisa kaust(ad) esitusloendisse..."
+
+#: ../plugins/gtkui/callbacks.c:225
+msgid "Follow symlinks"
+msgstr "Järgi nimeviitasid"
+
+#: ../plugins/gtkui/callbacks.c:711
+msgid "Failed while reading help file"
+msgstr "Abifaili lugemine ebaõnnestus"
+
+#: ../plugins/gtkui/callbacks.c:721
+msgid "Failed to load help file"
+msgstr "Abifaili laadimine ebaõnnestus"
+
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
+msgid "Help"
+msgstr "Abi"
+
+#: ../plugins/gtkui/callbacks.c:747
+#, c-format
+msgid "About DeaDBeeF %s"
+msgstr "DeaDBeeF %s teave"
+
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
+msgid "DeaDBeeF %s ChangeLog"
+msgstr "DeaDBeeF %s muudatuste logi"
+
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF tõlkijad"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
+msgid "Edit playlist"
+msgstr "Muuda esitusloendit"
+
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Tiitel:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
+msgid "Rename Playlist"
+msgstr "Esitusloendi ümbernimetamine"
+
+#: ../plugins/gtkui/ddbtabstrip.c:821
+msgid "Remove Playlist"
+msgstr "Esitusloendi eemaldamine"
+
+#: ../plugins/gtkui/ddbtabstrip.c:828
+msgid "Add New Playlist"
+msgstr "Esitusloendi lisamine"
+
+#: ../plugins/gtkui/eq.c:136
+msgid "Save DeaDBeeF EQ Preset"
+msgstr "Salvesta DeaDBeeF EQ eelhäälestus"
+
+#: ../plugins/gtkui/eq.c:143
+msgid "DeaDBeeF EQ preset files (*.ddbeq)"
+msgstr "DeaDBeeF EQ eelhäälestus failid (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:182
+msgid "Load DeaDBeeF EQ Preset..."
+msgstr "Lae DeaDBeeF EQ eelhäälestus..."
+
+#: ../plugins/gtkui/eq.c:186
+msgid "DeaDBeeF EQ presets (*.ddbeq)"
+msgstr "DeaDBeeF EQ eelhäälestus (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:247
+msgid "Import Foobar2000 EQ Preset..."
+msgstr "Impordi Foobar2000 EQ eelhäälestus..."
+
+#: ../plugins/gtkui/eq.c:251
+msgid "Foobar2000 EQ presets (*.feq)"
+msgstr "Foobar2000 EQ eelhäälestus (*.feq)"
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Salvesta eelhäälestus"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Lae eelhäälestus"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Impordi Foobar2000 eelhäälestus"
+
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
+msgstr "Luba"
+
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
+msgstr "Nulli kõik"
+
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
+msgstr "Nulli eelvõimendus"
+
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
+msgstr "Nulli ribad"
+
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Eelhäälestused"
+
+#: ../plugins/gtkui/gtkui.c:137
+#, c-format
+msgid "1 day %d:%02d:%02d"
+msgstr "1 päev %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:140
+#, c-format
+msgid "%d days %d:%02d:%02d"
+msgstr "%d päeva %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:149
+#, c-format
+msgid "Stopped | %d tracks | %s total playtime"
+msgstr "Peatatud | %d lugu | %s kokku mängitud"
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Mono"
+msgstr "Mono"
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Stereo"
+msgstr "Stereo"
+
+#: ../plugins/gtkui/gtkui.c:187
+#, c-format
+msgid "| %4d kbps "
+msgstr "| %4d kbps "
+
+#: ../plugins/gtkui/gtkui.c:193
+msgid "Paused | "
+msgstr "Paus | "
+
+#: ../plugins/gtkui/gtkui.c:198
+#, c-format
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d lugu | %s kokku mängitud"
+
+#: ../plugins/gtkui/gtkui.c:644
+msgid "Save Playlist As"
+msgstr "Salvesta esitusloend kui"
+
+#: ../plugins/gtkui/gtkui.c:655
+msgid "DeaDBeeF playlist files (*.dbpl)"
+msgstr "DeaDBeeF esitusloendi failid (*.dbpl)"
+
+#: ../plugins/gtkui/gtkui.c:773
+msgid "Load Playlist"
+msgstr "Lae esitusloend"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Muud failid (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
+msgid "New Playlist"
+msgstr "Uus esitusloend"
+
+#: ../plugins/gtkui/gtkui.c:929
+#, c-format
+msgid "New Playlist (%d)"
+msgstr "Uus esitusloend (%d)"
+
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
+msgid "_File"
+msgstr "_Fail"
+
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
+msgid "_Open file(s)"
+msgstr "_Ava fail(e)"
+
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+msgid "Add file(s)"
+msgstr "Lisa fail(e)"
+
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
+msgid "Add folder(s)"
+msgstr "Lisa kaust(ad)"
+
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
+msgid "Add location"
+msgstr "Lisa asukoht"
+
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
+msgid "New playlist"
+msgstr "Uus esitusloend"
+
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
+msgid "Load playlist"
+msgstr "Lae esitusloend"
+
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
+msgid "Save playlist"
+msgstr "Salvesta esitusloend"
+
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
+msgid "_Quit"
+msgstr "_Välju"
+
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
+msgid "_Edit"
+msgstr "_Redigeerimine"
+
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
+msgid "_Clear"
+msgstr "_Puhasta"
+
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
+msgid "Select all"
+msgstr "Vali kõik"
+
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
+msgid "Deselect all"
+msgstr "Tühista kõik"
+
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
+msgid "Invert selection"
+msgstr "Pööra valik"
+
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "Selection"
+msgstr "Valik"
+
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
+msgid "Remove"
+msgstr "Eemalda"
+
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
+msgid "Crop"
+msgstr "Kärbi"
+
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
+msgid "_Find"
+msgstr "_Otsi"
+
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Sorteeri"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Tiitel"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Loo number"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artist"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Aeg"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Muu"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
+msgid "Preferences"
+msgstr "Eelistused"
+
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
+msgid "_View"
+msgstr "_Vaade"
+
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
+msgid "Status bar"
+msgstr "Olekuriba"
+
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
+msgid "Column headers"
+msgstr "Tulba päised"
+
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Tabs"
+msgstr "Kaardid"
+
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
+msgid "Equalizer"
+msgstr "Ekvalaiser"
+
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
+msgid "_Playback"
+msgstr "_Taasesitus"
+
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
+msgid "Order"
+msgstr "Järjestus"
+
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
+msgid "Linear"
+msgstr "Järjest"
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Lugude juhuesitus"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Albumite juhuesitus"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
+msgid "Random"
+msgstr "Juhuslik"
+
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
+msgid "Looping"
+msgstr "Kordamine"
+
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
+msgid "Loop All"
+msgstr "Korda kõiki"
+
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
+msgid "Loop Single Song"
+msgstr "Korda lugu"
+
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
+msgid "Don't Loop"
+msgstr "Ära korda"
+
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
+msgid "Scroll follows playback"
+msgstr "Kerimisriba järgib taasesitust"
+
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
+msgid "Cursor follows playback"
+msgstr "Kursor järgib taasesitust"
+
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
+msgid "Stop after current"
+msgstr "Peata pärast praegust"
+
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Hüppa praeguse loo juurde"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
+msgid "_Help"
+msgstr "_Abi"
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
+msgid "_ChangeLog"
+msgstr "_Muudatuste logi"
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
+msgid "_About"
+msgstr "_Teave"
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "_Tõlkijad"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
+msgid "Search"
+msgstr "Otsi"
+
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
+msgid "Stop"
+msgstr "Seiska"
+
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
+msgid "Play"
+msgstr "Esita"
+
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
+msgid "Pause"
+msgstr "Peata"
+
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
+msgid "Previous"
+msgstr "Eelmine"
+
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
+msgid "Next"
+msgstr "Järgmine"
+
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
+msgid "Play Random"
+msgstr "Mängi juhuslikult"
+
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
+msgid "About"
+msgstr "Teave"
+
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
+msgid "Quit"
+msgstr "Välju"
+
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Track Properties"
+msgstr "Loo omadused"
+
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Seaded"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
+msgid "_Apply"
+msgstr "_Rakenda"
+
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
+msgid "_Close"
+msgstr "_Sulge"
+
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
+msgid "Metadata"
+msgstr "Metaandmed"
+
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
+msgid "Properties"
+msgstr "Omadused"
+
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
+msgid "Enter new column title here"
+msgstr "Sisesta siia uue veeru pealkiri"
+
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "Type:"
+msgstr "Tüüp:"
+
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Register"
+
+#. create default set of columns
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
+msgid "Playing"
+msgstr "Mängib"
+
+#: ../plugins/gtkui/interface.c:1512
+msgid "Album Art"
+msgstr "Albumikujundus"
+
+#: ../plugins/gtkui/interface.c:1513
+msgid "Artist - Album"
+msgstr "Esitaja - Album"
+
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Kestvus"
+
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Loo number"
+
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
+msgid "Band / Album Artist"
+msgstr "Bänd / Albumi esitaja"
+
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
+msgid "Format:"
+msgstr "Formaat:"
+
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
+msgid "Alignment:"
+msgstr "Paigutus:"
+
+#: ../plugins/gtkui/interface.c:1559
+msgid "Left"
+msgstr "Vasakul"
+
+#: ../plugins/gtkui/interface.c:1560
+msgid "Right"
+msgstr "Paremal"
+
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
+msgid "_Cancel"
+msgstr "_Tühista"
+
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
+msgid "_OK"
+msgstr "_OK"
+
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
+msgid "Output plugin:"
+msgstr "Väljund plugin:"
+
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
+msgid "Output device:"
+msgstr "Väljund seade:"
+
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Alati teisendada 8 bitine heli 16 bitiseks"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr "Heli"
+
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
+msgstr "Helitugevuse parandus:"
+
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
+msgstr "Keela"
+
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Lugu"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
+msgstr "Helitugevuse paranduse piigi väärtus"
+
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Taasesituse eelvõimendus:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Globaalne eelvõimendus:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
+msgid "Add files from command line (or file manager) to this playlist:"
+msgstr "Lisa faile käsurealt (või failihaldurist) sellese esitusloendisse:"
+
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
+msgid "Resume previous session on startup"
+msgstr "Jätka käivitamisel eelmist seanssi"
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Ära lisa kaustade lisamisel arhiivide sisu"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
+msgid "Playback"
+msgstr "Taasesitus"
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Seadistamine"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "DSP eelseadistus"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Lae"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
+msgid "Close minimizes to tray"
+msgstr "Sulgemine minimeerib akna"
+
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
+msgid "Middle mouse button closes playlist"
+msgstr "Hiire keskmine nupp sulgeb esitusloendi"
+
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
+msgid "Hide system tray icon"
+msgstr "Süsteemisalve ikooni peitmine"
+
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Use bold font for currently playing track"
+msgstr "Kuva parajasti mängitav pala paksus kirjas"
+
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
+msgid "Hide \"Delete from disk\" context menu item"
+msgstr "Peida menüüst kirje \"Kustuta kettalt\""
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Esitusloendi automaatne nimetamine üksiku kausta lisamisel"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Kasutajaliidese värskendussagedus (korda sekundis):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
+msgid "Titlebar text while playing:"
+msgstr "Tiitelriba tekst esitamise ajal:"
+
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
+msgid "Titlebar text while stopped:"
+msgstr "Tiitelriba tekst peatamise ajal:"
+
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Graafiline plugin (muutus nõuab taaskäivitust):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr "Graafiline kasutajaliides (GUI)"
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
+msgid "Override"
+msgstr "Eira parameetreid"
+
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
+msgid "Foreground"
+msgstr "Esiplaan"
+
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
+msgid "Background"
+msgstr "Taust"
+
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
+msgid "Seekbar/Volumebar colors"
+msgstr "Heli- ja esitlusliuguri värvid"
+
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
+msgid "Middle"
+msgstr "Keskel"
+
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
+msgid "Light"
+msgstr "Hele"
+
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
+msgid "Dark"
+msgstr "Tume"
+
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
+msgid "Base"
+msgstr "Alus"
+
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Tekst"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
+msgid "Tab strip colors"
+msgstr "Tabeli värv"
+
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
+msgid "Override (looses GTK treeview theming, but speeds up rendering)"
+msgstr "Tühista (kaotab GTK puuvaate teema, kuid kiirendab renderdamist)"
+
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
+msgid "Even row"
+msgstr "Paaris rida"
+
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
+msgid "Odd row"
+msgstr "Paaritu rida"
+
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
+msgid "Selected row"
+msgstr "Valitud rida"
+
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
+msgid "Selected text"
+msgstr "Valitud tekst"
+
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
+msgid "Cursor"
+msgstr "Kursor"
+
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
+msgid "Playlist colors"
+msgstr "Esitusloendi värvid"
+
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
+msgid "Colors"
+msgstr "Värvid"
+
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
+msgid "Enable Proxy Server"
+msgstr "Puhverserveri lubamine"
+
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
+msgid "Proxy Server Address:"
+msgstr "Puhverserveri aadress:"
+
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
+msgid "Proxy Server Port:"
+msgstr "Puhverserveri port:"
+
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
+msgid "Proxy Type:"
+msgstr "Puhverserveri tüüp:"
+
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
+msgid "Proxy Username:"
+msgstr "Puhverserveri kasutajanimi:"
+
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
+msgid "Proxy Password:"
+msgstr "Puhverserveri parool:"
+
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
+msgid "Network"
+msgstr "Võrk"
+
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Versioon: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Autoriõigused"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Pluginad"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Grupeerimine"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Sorteerimine..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Formaat"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Kasvav"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Kahanev"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Vali DSP plugin"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Plugin"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Sildikirjutaja seaded"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
+msgstr "Kirjuta ID3v2"
+
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
+msgstr "Kirjuta ID3v1"
+
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
+msgstr "Kirjuta APEv2"
+
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
+msgstr "ID3v2 eemaldamine"
+
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
+msgstr "ID3v1 eemaldamine"
+
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
+msgstr "APEv2 eemaldamine"
+
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
+msgstr "ID3v2 versioon"
+
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr "2.3 (Soovitatav)"
+
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr "2.4"
+
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr "ID3v1 märgikodeering (vaikimisi iso8859-1)"
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
+msgstr "Kirjuta ID3v2.4"
+
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
+msgstr "Esitaja / Album"
+
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
+msgstr "Loo number"
+
+#: ../plugins/gtkui/plcommon.c:338
+msgid "Delete files from disk"
+msgstr "Kustuta failid kettalt"
+
+#: ../plugins/gtkui/plcommon.c:339
+msgid ""
+"Files will be lost. Proceed?\n"
+"(This dialog can be turned off in GTKUI plugin settings)"
+msgstr ""
+"Failid lähevad kaduma. Kas soovid jätkata?\n"
+"(Selle teate saab keelata GTKUI plugina seadetes)"
+
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
+msgid "Warning"
+msgstr "Hoiatus"
+
+#: ../plugins/gtkui/plcommon.c:444
+msgid "Add to playback queue"
+msgstr "Lisa esitusnimekirja"
+
+#: ../plugins/gtkui/plcommon.c:449
+msgid "Remove from playback queue"
+msgstr "Eemalda esitusnimekirjast"
+
+#: ../plugins/gtkui/plcommon.c:457
+msgid "Reload metadata"
+msgstr "Uuestilae metaandmed"
+
+#: ../plugins/gtkui/plcommon.c:476
+msgid "Remove from disk"
+msgstr "Eemalda kettalt"
+
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
+msgid "Add column"
+msgstr "Lisa veerg"
+
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
+msgid "Edit column"
+msgstr "Muuda veergu"
+
+#: ../plugins/gtkui/plcommon.c:988
+msgid "Remove column"
+msgstr "Eemalda veerg"
+
+#: ../plugins/gtkui/plcommon.c:998
+msgid "Group by"
+msgstr "Rühmitamise alus"
+
+#: ../plugins/gtkui/plcommon.c:1005
+msgid "None"
+msgstr "Mitte ükski"
+
+#: ../plugins/gtkui/plcommon.c:1009
+msgid "Artist/Date/Album"
+msgstr "Esitaja/Aeg/Album"
+
+#: ../plugins/gtkui/pluginconf.c:42
+msgid "Open file..."
+msgstr "Faili avamine..."
+
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format
+msgid "Configure %s"
+msgstr "Konfigureeri %s"
+
+#: ../plugins/gtkui/prefwin.c:82
+msgid "Default Audio Device"
+msgstr "Vaikimisi audioseade"
+
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
+msgid "Add"
+msgstr "Lisa"
+
+#: ../plugins/gtkui/prefwin.c:328
+msgid "Global Hotkeys"
+msgstr "Globaalsed kiirklahvid"
+
+#: ../plugins/gtkui/prefwin.c:390
+msgid "Slot"
+msgstr "Pesa"
+
+#: ../plugins/gtkui/prefwin.c:391
+msgid "Key combination"
+msgstr "Klahvikombinatsioon"
+
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Failide lisamine..."
+
+#: ../plugins/gtkui/progress.c:90
+msgid "Initializing..."
+msgstr "Algväärtustamine..."
+
+#: ../plugins/gtkui/trkproperties.c:159
+msgid "You've modified data for this track."
+msgstr "Sa oled selle loo andmeid muutnud."
+
+#: ../plugins/gtkui/trkproperties.c:161
+msgid "Really close the window?"
+msgstr "Kas soovid akna sulgeda?"
+
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Mitu väärtust] "
+
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Võti"
+
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Väärtus"
+
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Siltide kirjutamine..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Nimi:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Väljanimi ei tohi alata sümboliga : või _"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Ei õnnestu välja lisada"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Sellise nimega väli on juba olemas, proovi teist ​​nime."
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Kas soovid kindlasti valitud välja kustutada?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Lisa väli"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Eemalda väli"
+
+#: ../main.c:91
+#, c-format
+msgid "Usage: deadbeef [options] [file(s)]\n"
+msgstr "Kasutamine: deadbeef [valikud] [fail(id)]\n"
+
+#: ../main.c:92
+#, c-format
+msgid "Options:\n"
+msgstr "Valikud:\n"
+
+#: ../main.c:93
+#, c-format
+msgid " --help or -h Print help (this message) and exit\n"
+msgstr " --help või -h Prindib abi (praeguse sõnumi) ja väljub\n"
+
+#: ../main.c:94
+#, c-format
+msgid " --quit Quit player\n"
+msgstr " --quit Mängijast väljumine\n"
+
+#: ../main.c:95
+#, c-format
+msgid " --version Print version info and exit\n"
+msgstr " --version Väljastab versiooniteabe ja väljub\n"
+
+#: ../main.c:96
+#, c-format
+msgid " --play Start playback\n"
+msgstr " --play Alustab taasesitlust\n"
+
+#: ../main.c:97
+#, c-format
+msgid " --stop Stop playback\n"
+msgstr " --stop Peatab taasesitluse\n"
+
+#: ../main.c:98
+#, c-format
+msgid " --pause Pause playback\n"
+msgstr " --pause Taasesituse paus\n"
+
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Pausi lülitamine\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Kui peatatud siis alustab taasesitlust, muidu lülitab "
+"pausi ümber\n"
+
+#: ../main.c:101
+#, c-format
+msgid " --next Next song in playlist\n"
+msgstr " --next Järgmine lugu esitlusloendist\n"
+
+#: ../main.c:102
+#, c-format
+msgid " --prev Previous song in playlist\n"
+msgstr " --prev Eelmine lugu esitlusloendist\n"
+
+#: ../main.c:103
+#, c-format
+msgid " --random Random song in playlist\n"
+msgstr " --random Juhuslik lugu esitlusloendist\n"
+
+#: ../main.c:104
+#, c-format
+msgid " --queue Append file(s) to existing playlist\n"
+msgstr " --queue Lisab faili(e) esitlusloendisse\n"
+
+#: ../main.c:105
+#, c-format
+msgid " --nowplaying FMT Print formatted track name to stdout\n"
+msgstr " --nowplaying FMT Prindib loo andmed etteantud formaadis\n"
+
+#: ../main.c:106
+#, c-format
+msgid ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+msgstr ""
+" FMT %%-syntax: [a]rtist, [t]iitel, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr " näide.: --nowplaying \"%%a - %%t\" peaks väljastama "
+"\"artist - loo nimi\"\n"
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " lisainfot leiab lehelt http://sourceforge.net/apps/med"
+"iawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
+msgid "Default"
+msgstr "Vaikimisi"
+
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Jah"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ei"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
+msgid ""
+"2.3 (Recommended)\n"
+"2.4"
+msgstr ""
+"2.3 (Soovitatav)\n"
+"2.4"
+
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Kasvav\n"
+"Kahanev"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
+msgid ""
+"Disable\n"
+"Track\n"
+"Album"
+msgstr ""
+"Keela\n"
+"Lugu\n"
+"Album"
+
+#: ../plugins/gtkui/deadbeef.glade.h:56
+msgid ""
+"Item Index\n"
+"Playing\n"
+"Album Art\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Title\n"
+"Duration\n"
+"Track Number\n"
+"Band / Album Artist\n"
+"Custom"
+msgstr ""
+"Indeks\n"
+"Mängimisi\n"
+"Albumikunst\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Tiitel\n"
+"Kestvus\n"
+"Loo Number\n"
+"Bänd / Albumi Artist\n"
+"Muu"
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
+msgid ""
+"Left\n"
+"Right"
+msgstr ""
+"Vasak\n"
+"Parem"
+
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
+#, c-format
+msgid "Couldn't find pixmap file: %s"
+msgstr "Ei leitud pixmap faili: %s"
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: freepats konfiguratsioonifaili ei leitud. Palun paigalda timidity-"
+"freepats pakatt, või määra freepats.cfg asukoht plugina seadetes."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Lisa audio CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Järgiuurimine Last.fm-ist"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "Kasuta ALSA ümberdiskreetimist"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Vabasta seade, kui peatatud"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "Eelistatud puhvri suurus"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "Eelistatud perioodi suurus"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "Luba scrobbler"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Keela hetkel mängiv"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Kasutajanimi"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Parool"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Scrobble URL"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Seadmefail"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "OSS4 diskreetimissageduse vea vältimine"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "Vahemälu uuendamise periood (tund)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "Hangi põimitud siltidest"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "Hangi lokaalsest kaustast"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "Lokaalne faili mask"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "Hangi Last.fm lehelt"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "Hangi albumart.org lehelt"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Albumikunst skaleeritakse pikema külje järgi"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "CDDB/FreeDB kasutamine"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "CD-Teksti eelistamine CDDB ees"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "CDDB aadress (näiteks 'freedb.org')"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "CDDB pordi number (näiteks '888')"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "Eelista CDDB protokolli HTTP-le"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "Võimalda NRG piltide toetus"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "Ümberdiskreetimise kvaliteet (0..2, suurem on parem)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "Maksimaalne loo pikkus (minutites)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Küsi failide kustutamise kohta kinnitust"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "Staatusikooni helitugevuse kontrolli tundlikus"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "Kohandatud staatusikoon"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "Käivita gtk_init koos --sync (debug reziim)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Lisa plugina menüüde vahele eraldajaid"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Teate tiitli formaat"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Teate sisu formaat"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Albumikunsti näitamine"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Albumikunsti suurus (px)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "PulseAudio server"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "Diskreetimissagedus"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "Otsimistabeli relatiivne aadress"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "Otsimistabeli absoluutne aadress"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "Audiobittide vahetamine (vali, kui kuuled ühtlast signaali)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Võimalda HVSC lugude pikkuste andmebaas"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (HVSC-st)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bitte sampli kohta (8 või 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Vaikimis loo pikkus (sek.)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Timidity++ konfiguratsioonifail"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Loo nimi"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Esitaja"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Lugusid kokku"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Žanr"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Helilooja"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Plaadi number"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Kommentaar"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "Helikodeerija / Tootja"
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Asukoht"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Subtrack Indeks"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Sildi tüüp(id)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Põimitud kavaleht"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Koodek"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Faililaiendid (eralda sümboliga ';')"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Teisenda"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Tulemuse diskreetimissagedus"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Kvaliteet / Algoritm"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+"Automaatne diskreetimissagedus ('Tulemuse diskreetimissagedus' tühistatakse)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Fail on juba olemas. Kas kirjutada see üle?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Konverteri hoiatus"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Palun vali kodeerija"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Konverteerimise viga"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Konvertimine..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Kausta valimine..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Kodeerija eelseadistuse salvestamine ebaõnnestus"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Kontrolli seadistuste kausta õiguseid, proovi valida teistsugune nimi või "
+"vabasta kettapinda"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+"Sama nimega seadistus juba eksisteerib. Vali seadistusele teistsugune nimi."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Viga"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Lisa uus kodeerija"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Muuda kodeerijat"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Eemalda eelseadistus"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "See kustutab valitud seadistuse. Oled sa kindel?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Kodeerijad"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Lisa DSP plugin"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "DSP seadistuse salvestamine ebaõnnestus"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Uus DSP seadistus"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "DSP seadistuse muutmine"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP seadistused"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Väljundkaust:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Väljundfaili nimi:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Faililaiendused (näiteks .mp3) lisatakse automaatselt.\n"
+"Vaikimisi väärtuse jaoks jäta väli tühjaks (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Enkooder:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP seadistus:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Lõimede arv:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Väljundsämpli formaat:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Säilita allika formaat"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 bit signed int"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 bit signed int"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 bit signed int"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 bit signed int"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 bit float"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Kui fail on olemas:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Küsi"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Kirjuta üle"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Kausta struktuuri säilitamine, alates:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Kodeerija seadistuste muutmine"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Ilma nimeta kodeerija"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Väljundfaili laiend:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Näiteks mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Käsurida:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Näide: lame - %o\n"
+"%i sisendfail, %o väljundfail, - stdin jaoks"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - väljundfaili nimi\n"
+"%i - ajutise sisendfaili nimi</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Meetod:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Toru"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Ajutine fail"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Sildi kirjutaja</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "DSP seadistuse redaktor"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Ilma nimeta DSP seadistus"
diff --git a/po/fa.po b/po/fa.po
index 960447a9..2caabc5d 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-10-18 07:33+0200\n"
"Last-Translator: Ali <aysabzevar@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,834 +18,910 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "قالب‌های صوتی پشتیبانی شده"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "دیگر پرونده‌ها (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "باز کردن پرونده(ها)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "افزودن پرونده(ها) به لیست پخش..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "افزودن پوشه(ها) به لیست پخش..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "پیروی از پیوند‌های سمبلیک"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "شکست در خواندن فایل کمک"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "شکست در بارگذاری فایل کمک"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "کمک"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "درباره DeaDBeef %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "گزارش تغییرات %s DeaDBeeF"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF هم اکنون در حال پخش است"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "ویرایش لیست پخش"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "عنوان:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "تغییر نام لیست پخش"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "حذف لیست پخش"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "افزودن لیست پخش جدید"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "ذخیره اکولایزر از پیش مرتب شده DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "فایل‌های اکولایزر از پیش مرتب شده DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "بارگذاری اکولایزر از پیش مرتب شده DeaDBeeF ..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "اکولایزر از پیش مرتب شده DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "وارد کردن اکولایزر از پیش تنطیم شده Foobar2000 ..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "اکولایزر از پیش تعیین شده Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "بارگذاری از پیش تنظیم شده"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "وارد کردن Foobar2000 از پیش تنظیم شده "
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "فعال"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "صفر کردن همگی"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "صفر کردن پیش تقویت کننده"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "نوارهای صفر"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "ذخیره از پیش تنظیم شده"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "بارگذاری از پیش تنظیم شده"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "وارد کردن Foobar2000 از پیش تنظیم شده "
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "۱ روز %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d روز %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "متوقف| %d آهنگ| %s کل زمان پخش"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "تک کاناله"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "استریو"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d کیلو بیت بر ثانیه"
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "مکث کرده|"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s %s| %dهرتز | %d بیت | %s | %d:%02d / %s | %d آهنگ | %s کل زمان پخش"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "ذخیره لیست پخش به صورت"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "فایل‌های لیست پخش DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "بارگذاری لیست پخش"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "دیگر پرونده‌ها (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "لیست پخش جدید"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "لیست پخش جدید (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_ پرونده"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_باز کردن پرونده(ها)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "افزودن پرونده(ها)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "افزودن پوشه(ها)"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "افزودن محل"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "لیست پخش جدید"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "بارگذاری لیست پخش"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "ذخیره لیست پخش"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "ذخیره لیست پخش به صورت"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_ خروج"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_ویرایش"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_ پاک سازی"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "انتخاب همگی"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "از انتخاب درآوردن همگی"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "انتخاب معکوس"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "انتخاب"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "حذف"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "محصول"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_یافتن"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "عنوان"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "شماره پرونده"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "آلبوم"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "هنرمند"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "شخصی"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "تنظیمات"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_نما"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "نوار وضعیت"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "سرآیندهای ستونی"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "لبه‌ها"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "اکولایزر"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_پخش"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "ترتیب"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "خطی"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "بُر زنی"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "بُر زنی"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "اتفاقی"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "حلقه‌ زنی"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "حلقه زنی همگی"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "حلقه زنی تک آهنگ"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "حلقه‌ نکن"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "پیمایش،پخش را دنبال می‌کند"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "مکان نما پخش را دنبال می‌کند"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "توقف پس از کنونی"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_ کمک"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_تغییرات"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_درباره"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "جستجوی"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "توقف"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "پخش"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "مکث"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "قبلی"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "بعدی"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "پخش اتفاقی"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "درباره"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "خروج"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "افزودن فایل‌ها..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_ ناتمام رها کردن"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "ویژگی آهنگ"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b> اخطار</b> ویژگی برچسب گذاری هنوز در حال توسعه است.\n"
-"پیش از استفاده <b> نسخه پشتیبانی تهیه کنید</b>"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "ـ اعمال"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "ـ بستن"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "فرا داده"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "ویژگی‌ها"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "ویرایش ستون dlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "عنوان:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "ستون عنوان جدید را اینجا وارد کنید"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "نوع:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "شماره پرونده"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "در حال پخش"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "آلبوم هنری"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "هنرمند-آلبوم"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "هنرمند"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "آلبوم"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "عنوان"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "طول"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "مدت زمان"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "آهنگ"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "شماره آهنگ"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "هنرمند آلبوم/گروه"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "شخصی"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "قالب:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "هم‌ترازی:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "چپ"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "راست"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"تبدیل قالب (شروع با %): \n"
-"[a] هنرمند، [t] عنوان، [b] آلبوم، [B]گروه، [C]آهنگ‌ساز\n"
-"[n] شماره آهنگ، [N] کل آهنگ‌ها،\n"
-"[l] مدت زمان، [y] سال، [g] دسته، [c] نظر،\n"
-"[r]حق تالیف،[f] نام پرونده، [T] برچسب‌ها\n"
-"[d] پوشه، [D] پوشه با مسیر \n"
-"مثال: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "ـ لغو"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "ـ قبول"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "افزونه خروجی:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "دستگاه خروجی:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "صوت"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "اجازه به کلیدزنی پویای نرخ نمونه"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "کیفیت تبدیل نرخ نمونه"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "حالت پخش مجدد:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "غیرفعال"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "آهنگ"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "پخش مجدد مقیاس قله"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "حالت پخش مجدد:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "افزودن فایل‌ها از خط فرمان (‌یا مدیر فایل) به این فهرست پخش:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "ادامه نشست قبلی در این آغاز به کار"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "پخش"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "پیکره‌بندی:"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "بستن حداقل شده‌ها برای رفتن به سینی"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "کلید وسط ماوس لیست پخش را می‌بندد"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "مخفی کردن آیکون سینی سیستم"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "استفاده از قلم‌های ضخیم برای آهنگ در حال پخش"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "مخفی کردن متن «حذف از دیسک» از منو"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "متن نوار عنوان در زمان پخش:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "متن نوار عنوان در زمان توقف:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "رابط گرافیکی کاربر"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "غلبه"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "پیش زمینه"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "پس‌زمینه"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "رنگ‌های نوار پویش/ حجم صدا"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "متوسط"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "روشن"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "تیره"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "پایه"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "متن"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "رنگ‌های نوار لبه"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "غلبه (درختواره GTK ضعیف می‌شود اما سرعت نمایش افزایش می‌یابد)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "ردیف زوج"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "ردیف فرد"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "متن"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "ردیف انتخاب شده"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "متن انتخاب شده"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "مکان‌نما"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "رنگ‌های فهرست پخش"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "رنگ‌ها"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "فعال سازی خادم پروکسی"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "آدرس سرویس دهنده پروکسی:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "درگاه سرویس دهنده پروکسی:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "نوع پروکسی:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "نام کاربری پروکسی:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "گذرواژه پروکسی:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "شبکه"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "افزونه‌ها"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "آدرس اینترنتی:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "گروه با"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "قالب:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "انتخاب"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "افزونه‌ها"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "نویسنده برچسب"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "بنویسید ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "بنویسید ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "بنویسید APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 را پاک کنید"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 را پاک کنید"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 را پاک کنید"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "نسخه ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "۲٫۳ (پیشنهاد شده)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "۲٫۴"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "کدگشایی کاراکتر ID3v1 (پیش‌فرض iso8859-1 است)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "بنویسید ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "نویسنده برچسب"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "شرح:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "نویسنده(گان):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "پست الکترونیکی:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "وب سایت:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "پیکره‌بندی:"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "افزونه‌ها"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "ویرایش فهرست پخشdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "آدرس اینترنتی:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "گروه با"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"تبدیل قالب (شروع با %): \n"
-"[a] هنرمند، [t] عنوان، [b] آلبوم، [B]گروه، [C]آهنگ‌ساز\n"
-"[n] شماره آهنگ، [N] کل آهنگ‌ها،\n"
-"[l] مدت زمان، [y] سال، [g] دسته، [c] نظر،\n"
-"[r]حق تالیف،[f] نام پرونده، [T] برچسب‌ها\n"
-"مثال: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "هنرمند/آلبوم"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "شماره آهنگ"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "عنوان/آهنگ هنرمند"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "مدت زمان"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "حذف فایل‌ها از روی دیسک"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -853,195 +929,222 @@ msgstr ""
"پرونده‌ها از دست خواهند رفت. این چنین شود؟ \n"
"(این کادر محاوره‌ای می‌تواند در تنظیمات افزونه GTKUI خاموش شود)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "هشدار"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "افزودن به صف پخش"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "حذف از صف پخش"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "بارگذاری مجدد ابرداده"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "حذف از دیسک"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "افزودن ستون"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "ویرایش ستون"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "حذف ستون"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "گروه با"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "هیچ"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "هنرمند/تاریخ/آلبوم"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "باز کردن پرونده..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "برپاسازی %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "پیکره‌بندی:"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "دستگاه صوتی پیش‌فرض"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "افزودن"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "کلید‌های داغ عمومی"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "شکاف"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "ترکیب کلیدی"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "افزونه خروجی آلسا"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "افزودن فایل‌ها..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "آماده سازی اولیه..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "شما اطلاعات این آهنگ را تغییر داده‌اید."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "واقعا می‌خواهید پنجره را ببندید؟"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "نوع(های) برچسب"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "برگه راهنمایی توکار"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "بله"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "خیر"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "کدک‌"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "کلید"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "مقدار"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF هم اکنون در حال پخش است"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "واقعا می‌خواهید پنجره را ببندید؟"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "افزودن پرونده(ها)"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "حذف"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "استفاده: deadbeef [گزینه‌ها] [پرونده(ها)] \n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "گزینه‌ها: \n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr "--help یا -h کمک(این پیام) را نشان می‌دهد و خارج می‌شود \n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr "--quit از پخش کننده خارج می‌شود \n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr "--version اطلاعات نسخه را نمایش می‌دهد و خارج می‌شود \n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr "--play پخش را آغاز می‌کند\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr "--stop پخش را متوقف می‌کند\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr "--pause پخش را مکث می‌دهد\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr "--next آهنگ بعدی در فهرست پخش\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr "--prev آهنگ قبلی در فهرست پخش\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr "--random آهنگ اتفاقی در فهرست پخش\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr "--queue پیوست کردن پرونده(ها) به فهرست پخش موجود\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr "--nowplaying FMT چاپ نام آهنگ قالب‌بندی شده در خروجی استاندارد\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1052,18 +1155,33 @@ msgstr ""
" [م]دت زمان، شم[ا]ره آهنگ، [س]ال،[ن]ظر،\n"
" حق[ن]شر،[س]پری شده\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr "مثال: \"%%a - %%t\" باید \"هنرمند-عنوان\" را چاپ کند\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "پیش‌فرض"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "بله"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "خیر"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1071,7 +1189,13 @@ msgstr ""
"۲٫۳ (توصیه شده)\n"
"۲٫۴"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1081,17 +1205,18 @@ msgstr ""
"آهنگ\n"
"آلبوم"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1107,7 +1232,7 @@ msgstr ""
"هنرمند آلبوم/گروه\n"
"شخصی"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1116,75 +1241,675 @@ msgstr ""
"راست"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "پرونده تصویر بیتی پیدا نشد:%s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "مقدار حافظه کافی برای میانگیری ورودی دریافت نشد."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: فایل پیکره‌بندی freepats پیدا نشد. لطفا بسته timidity-freepats را "
+"نصب کنید یا مسیر freepats.cfg را برای تنظیم افزونه مشخص کنید."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "افزودن دیسک صوتی"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+#, fuzzy
+msgid "Release device while stopped"
+msgstr "متن نوار عنوان در زمان توقف:"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "فعال سازی خادم پروکسی"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF هم اکنون در حال پخش است"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "نام کاربری پروکسی:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "گذرواژه پروکسی:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "حذف فایل‌ها از روی دیسک"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "آلبوم هنری"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "شماره آهنگ"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "خطا در خواند صفحه اول از بیت جاری Ogg"
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "عنوان/آهنگ هنرمند"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "خطا در خواندن اولیه بسته سرآیند"
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "مقدار حافظه کافی برای ثبت شماره سریال جریان جدید دریافت نشد."
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "ورودی کوتاه یا خالی است."
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "شماره پرونده"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "ورودی بیت جاری Ogg نیست."
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "بیت جاری Ogg شامل داده Vorbis نیست."
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "رسیدن به پایان پرونده پیش از به رسمیت شناختن جریان."
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "افزودن محل"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "بیت جاری Ogg شامل هیچ نوع داده پشتیبانی شده نیست."
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "سرآیند ثانویه خراب است."
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "نوع(های) برچسب"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "رسیدن به پایان پرونده پیش از پایان سرآیندهای Vorbis."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "برگه راهنمایی توکار"
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "خرابی یا از دست دادن داده، ادامه..."
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "کدک‌"
-#: ../plugins/vorbis/vcedit.c:874
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "انتخاب همگی"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"خطا در ارسال جریان به خروجی. جریان خروجی ممکن است خراب شده یا کوتاه شده باشد."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "ویرایش ستون"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "دستگاه خروجی:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "افزونه خروجی:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "ذخیره از پیش تنظیم شده"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "غلبه"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "بارگذاری از پیش تنظیم شده"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "افزونه خروجی:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
msgstr ""
-"wildmidi: فایل پیکره‌بندی freepats پیدا نشد. لطفا بسته timidity-freepats را "
-"نصب کنید یا مسیر freepats.cfg را برای تنظیم افزونه مشخص کنید."
-#~ msgid "Add Audio CD"
-#~ msgstr "افزودن دیسک صوتی"
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "بنویسید APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "بنویسید ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "بنویسید ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "نویسنده برچسب"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "ذخیره لیست پخش به صورت"
+
+#~ msgid "_Abort"
+#~ msgstr "_ ناتمام رها کردن"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b> اخطار</b> ویژگی برچسب گذاری هنوز در حال توسعه است.\n"
+#~ "پیش از استفاده <b> نسخه پشتیبانی تهیه کنید</b>"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "ویرایش ستون dlg"
+
+#~ msgid "Length"
+#~ msgstr "طول"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "تبدیل قالب (شروع با %): \n"
+#~ "[a] هنرمند، [t] عنوان، [b] آلبوم، [B]گروه، [C]آهنگ‌ساز\n"
+#~ "[n] شماره آهنگ، [N] کل آهنگ‌ها،\n"
+#~ "[l] مدت زمان، [y] سال، [g] دسته، [c] نظر،\n"
+#~ "[r]حق تالیف،[f] نام پرونده، [T] برچسب‌ها\n"
+#~ "[d] پوشه، [D] پوشه با مسیر \n"
+#~ "مثال: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "اجازه به کلیدزنی پویای نرخ نمونه"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "کیفیت تبدیل نرخ نمونه"
+
+#~ msgid "Description:"
+#~ msgstr "شرح:"
+
+#~ msgid "Author(s):"
+#~ msgstr "نویسنده(گان):"
+
+#~ msgid "Email:"
+#~ msgstr "پست الکترونیکی:"
+
+#~ msgid "Website:"
+#~ msgstr "وب سایت:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "ویرایش فهرست پخشdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "تبدیل قالب (شروع با %): \n"
+#~ "[a] هنرمند، [t] عنوان، [b] آلبوم، [B]گروه، [C]آهنگ‌ساز\n"
+#~ "[n] شماره آهنگ، [N] کل آهنگ‌ها،\n"
+#~ "[l] مدت زمان، [y] سال، [g] دسته، [c] نظر،\n"
+#~ "[r]حق تالیف،[f] نام پرونده، [T] برچسب‌ها\n"
+#~ "مثال: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "برپاسازی %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "افزونه خروجی آلسا"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "مقدار حافظه کافی برای میانگیری ورودی دریافت نشد."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "خطا در خواند صفحه اول از بیت جاری Ogg"
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "خطا در خواندن اولیه بسته سرآیند"
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "مقدار حافظه کافی برای ثبت شماره سریال جریان جدید دریافت نشد."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "ورودی کوتاه یا خالی است."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "ورودی بیت جاری Ogg نیست."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "بیت جاری Ogg شامل داده Vorbis نیست."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "رسیدن به پایان پرونده پیش از به رسمیت شناختن جریان."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "بیت جاری Ogg شامل هیچ نوع داده پشتیبانی شده نیست."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "سرآیند ثانویه خراب است."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "رسیدن به پایان پرونده پیش از پایان سرآیندهای Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "خرابی یا از دست دادن داده، ادامه..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "خطا در ارسال جریان به خروجی. جریان خروجی ممکن است خراب شده یا کوتاه شده "
+#~ "باشد."
#~ msgid "Sound (adv.)"
#~ msgstr "صوت( adv.)"
diff --git a/po/fi.po b/po/fi.po
index 157745d4..2c3f7612 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2011-04-10 13:25+0200\n"
-"Last-Translator: Jesse <jesse.jaara@gmail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-03-11 10:13+0200\n"
+"Last-Translator: Juhani <juhaninumminen0@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
@@ -18,1014 +18,1123 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Tuetut ääniformaatit"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Muut tiedostot (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Kaikki tiedostot (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Avaa tiedosto(ja)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Lisää tiedosto(ja) soittolistalle..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Lisää kansio(ita) soittolistalle..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
-msgstr "Seuraa symboolisia linkkejä"
+msgstr "Seuraa symbolisia linkkejä"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Virhe ohjetiedostoa avattaessa"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Ohjetiedoston avaaminen epäonnistui"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Ohje"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Tietoja ohjelmasta DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s:n muutosloki"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeFin kääntäjät"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Muokkaa soittolistaa"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Nimi:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Uudelleennimeä soittolista"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Poista soittolista"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Luo uusi soittolista"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Tallenna DeaDBeeF EQ esiasetus"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ esiasetustiedostot (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Lataa DeaDBeeF EQ esiasetus..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ esiasetukset (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Tuo Foobar2000 EQ esiasetus..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ esiasetukset (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Tallenna esiasetus..."
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Lataa esiasetus..."
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Tuo Foobar2000 EQ Esiasetus"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Kytke päälle"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Nolla kaikki"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Nollaa esivahvistin"
# Tällä viitataan selvästikkin niihin muihin liukusäätimiin, jotka muuttavat eri taajuus asteiden vahvistusta
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Nollaa kanavat"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Tallenna esiasetus..."
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Lataa esiasetus..."
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Tuo Foobar2000 EQ Esiasetus"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Esiasetukset"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
-msgstr ""
+msgstr "1 päivä %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
-msgstr ""
+msgstr "%d päivää %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
-msgstr "Pysäytetty | %d raitaa | toisto aika %s"
+msgstr "Pysäytetty | %d raitaa | kokonaiskesto %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
-msgstr "| %4d Kb/s"
+msgstr "| %4d Kb/s "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
-msgstr "Keskeytetty |"
+msgstr "Keskeytetty | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
-"%s%s %s| %dHz | %d bittiä | %s | %d:%02d / %s | %d raitaa | toisto aika %s"
+"%s%s %s| %dHz | %d bittiä | %s | %d:%02d / %s | %d raitaa | kokonaiskesto %s"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Tallenna soittolista nimellä"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
-msgstr "DeadBeef toistolista tiedosto (*.dbpl)"
+msgstr "DeaDBeef soittolistatiedosto (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Lataa soittolista"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Muut tiedostot (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Uusi soittolista"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
-msgstr ""
+msgstr "Uusi soittolista (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
-msgstr ""
+msgstr "_Tiedosto"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
-msgstr ""
+msgstr "_Avaa tiedosto(ja)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
-msgstr ""
+msgstr "Lisää tiedosto(ja)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
-msgstr ""
+msgstr "Lisää hakemisto(ja)"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
-msgstr ""
+msgstr "Lisää sijainti"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
-msgstr ""
+msgstr "Uusi soittolista"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
-msgstr ""
+msgstr "Avaa soittolista"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr ""
+msgstr "Tallenna soittolista"
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
-msgstr ""
+msgstr "_Lopeta"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
-msgstr ""
+msgstr "_Muokkaa"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
-msgstr ""
+msgstr "_Tyhjennä"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
-msgstr ""
+msgstr "Valitse kaikki"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
-msgstr ""
+msgstr "Poista valinta"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
-msgstr ""
+msgstr "Käännä valinta"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
-msgstr ""
+msgstr "Valinta"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
-msgstr ""
+msgstr "Poista"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr ""
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
-msgstr ""
+msgstr "_Etsi"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Lajittele"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Nimi"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Raidan numero"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Albumi"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artisti"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Päivämäärä"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Mukautettu"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
-msgstr ""
+msgstr "Asetukset"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
-msgstr ""
+msgstr "_Näytä"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
-msgstr ""
+msgstr "Tilapalkki"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
-msgstr ""
+msgstr "Sarakkeiden otsikot"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
-msgstr ""
+msgstr "Välilehdet"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
-msgstr ""
+msgstr "Taajuuskorjain"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
-msgstr ""
+msgstr "T_oisto"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr ""
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
-msgstr ""
+msgstr "Lineaarinen"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr ""
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Sekoita raitoja"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Sekoita albumeita"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
-msgstr ""
+msgstr "Satunnainen"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr ""
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr ""
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr ""
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr ""
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr ""
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
-msgid "_Help"
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
msgstr ""
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
+msgid "_Help"
+msgstr "_Ohje"
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
-msgstr ""
+msgstr "_Muutosloki"
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
-msgstr ""
+msgstr "_Tietoja"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "_Kääntäjät"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
-msgstr ""
+msgstr "Etsi"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
-msgstr ""
+msgstr "Pysäytä"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
-msgstr ""
+msgstr "Soita"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
-msgstr ""
+msgstr "Tauko"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
-msgstr ""
+msgstr "Edellinen"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
-msgstr ""
+msgstr "Seuraava"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
-msgstr ""
+msgstr "Toista satunnainen"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
-msgstr ""
+msgstr "Tietoja"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr ""
+msgstr "Lopeta"
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
-msgstr ""
+msgstr "Raidan ominaisuudet"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Asetukset"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
-msgstr ""
+msgstr "_Käytä"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
-msgstr ""
+msgstr "_Sulje"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
-msgstr ""
+msgstr "Metatiedot"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr ""
+msgstr "Ominaisuudet"
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
-msgstr ""
+msgstr "Anna uuden rivin otsikko"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
-msgstr ""
+msgstr "Tyyppi:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr ""
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
-msgstr ""
+msgstr "Albumin Kuvitus"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr ""
+msgstr "Artisti - Albumi"
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr ""
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Kesto"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr ""
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Raidan Numero"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
-msgstr ""
+msgstr "Tiedostomuoto:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
-msgstr ""
+msgstr "Vasen"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
-msgstr ""
+msgstr "Oikea"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
-msgstr ""
+msgstr "_Peruuta"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
-msgstr ""
+msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Muunna aina 8-bittinen ääni 16-bittiseksi"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr ""
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
msgstr ""
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
-msgid "Replaygain mode:"
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Raita"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
-msgid "Disable"
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
-msgid "Replaygain peak scale"
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
+"Lisää tiedostoja komentoriviltä (tai tiedostonhallinnasta) tähän "
+"soittolistaan:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Tee asetukset"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Tallenna esiasetus..."
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Lataa"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
-msgstr ""
+msgstr "Pienennä ilmaisinalueelle suljettaessa"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
-msgstr ""
+msgstr "Hiiren keskipainike sulkee soittolistan"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
-msgstr ""
+msgstr "Piilota ilmaisinalueen kuvake"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
-msgstr ""
+msgstr "Käytä lihavoitua kirjasinta soitettavalle raidalle"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
+msgstr "Piilota \"Poista levyltä\"-kontekstivalinta"
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Nimeä soittolista automaattisesti lisättäessä yksittäinen kansio"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
-msgid "GUI"
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
msgstr ""
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr "Käyttöliittymä"
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr ""
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
-msgstr ""
+msgstr "Keski"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
-msgstr ""
+msgstr "Kevyt"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
-msgstr ""
+msgstr "Tumma"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Teksti"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
-msgstr ""
+msgstr "Valittu rivi"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
-msgstr ""
+msgstr "Valittu teksti"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
-msgstr ""
+msgstr "Hiiriosoitin"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
-msgstr ""
+msgstr "Soittolistojen värit"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
-msgstr ""
+msgstr "Värit"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
-msgstr ""
+msgstr "Ota käyttöön välityspalvelin"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
-msgstr ""
+msgstr "Välityspalvelimen osoite:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
-msgstr ""
+msgstr "Välityspalvelimen portti:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
-msgstr ""
+msgstr "Välityspalvelimen tyyppi:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
-msgstr ""
+msgstr "Välityspalvelimen käyttäjänimi:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
-msgstr ""
+msgstr "Välityspalvelimen salasana:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
-msgstr ""
+msgstr "Verkko"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
-msgid "Write ID3v2"
-msgstr ""
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Versio: "
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
-msgid "Write ID3v1"
-msgstr ""
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Tekijänoikeus"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
-msgid "Write APEv2"
-msgstr ""
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Liitännäiset"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
-msgid "Strip ID3v2"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
-msgid "Strip ID3v1"
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
-msgid "Strip APEv2"
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
-msgid "ID3v2 version"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Tiedostomuoto"
-#: ../plugins/gtkui/interface.c:2247
-msgid "2.3 (Recommended)"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Nouseva"
-#: ../plugins/gtkui/interface.c:2248
-msgid "2.4"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Laskeva"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
-msgid "ID3v1 character encoding (default is iso8859-1)"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Valitse DSP-liitännäinen"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "Write ID3v2.4"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Liitännäinen"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
+msgstr "Kirjoita ID3v2"
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
+msgstr "Kirjoita ID3v1"
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
+msgstr "Kirjoita APEv2"
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
+msgstr "ID3v2 versio"
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr "2.3 (suositeltu)"
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr "2.4"
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr "ID3v1-merkistökoodaus (oletus: iso8859-1)"
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
+msgstr "Kirjoita ID3v2.4"
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
-msgstr ""
+msgstr "Artisti / Albumi"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr ""
+msgstr "Raita nro"
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr ""
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
-msgstr ""
+msgstr "Poista tiedostot levyltä"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
+"Tiedostot menetetään. Jatketaanko?\n"
+"(Tämä valintaikkuna voidaan kytkeä pois päältä GTKUI-liitännäisen "
+"asetuksissa)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
-msgstr ""
+msgstr "Varoitus"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
-msgstr ""
+msgstr "Lisää toistojonoon"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
-msgstr ""
+msgstr "Poista toistojonosta"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
-msgstr ""
+msgstr "Lataa metatiedot uudelleen"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
-msgstr ""
+msgstr "Poista levyltä"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
-msgstr ""
+msgstr "Lisää sarake"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
-msgstr ""
+msgstr "Muokkaa saraketta"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
-msgstr ""
+msgstr "Poista sarake"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
-msgstr ""
+msgstr "Ei mitään"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
-msgstr ""
+msgstr "Artisti/Pvm/Albumi"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
-msgstr ""
+msgstr "Avaa tiedosto..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
-msgstr ""
+msgstr "Oletusäänilaite"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
-msgstr ""
+msgstr "Lisää"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr ""
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Lisätään tiedostoja..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
-msgstr ""
+msgstr "Alustetaan..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
-msgstr ""
+msgstr "Haluatko varmasti sulkea tämän ikkunan?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr ""
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Useita arvoja] "
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr ""
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Avain"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr ""
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Arvo"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr ""
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Kirjoitetaan tageja..."
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Nimi:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Tiedostonimet eivät voi alkaa merkeillä : tai _"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Kenttää ei voi lisätä"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
msgstr ""
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
-msgstr ""
+msgstr "Käyttö: deadbeef [valinnat] [tiedosto(t)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
-msgstr ""
+msgstr "Valitsimet:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr ""
+msgstr " --help tai -h Näytä ohje (tämä viesti) ja poistu\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr ""
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
-msgstr ""
+msgstr " --version Näytä versiotiedot ja poistu\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr ""
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr ""
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr ""
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr ""
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr ""
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr ""
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1033,112 +1142,599 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
-msgid "Default"
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:454 ../playlist.c:2398
+msgid "Default"
+msgstr "Oletus"
+
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Kyllä"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ei"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
+"2.3 (suositeltu)\n"
+"2.4"
+
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Nouseva\n"
+"Laskeva"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
msgstr ""
+"Vasen\n"
+"Oikea"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
+msgstr "Bittikarttatiedostoa ei löydetty: %s"
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Lisää ääni-CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Etsi Last.fm-palvelusta"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Käyttäjänimi"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Salasana"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Laitetiedosto"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "Hae last.fm -palvelusta"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "Hae albumart.org -palvelusta"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "Käytä CDDB/FreeDB:tä"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#: ../translation/extra.c:47
+msgid "Show album art"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../translation/extra.c:52
+msgid "Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Raidan otsikko"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Esittäjä"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Raitoja yhteensä"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Tyylilaji"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Säveltäjä"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Levyn numero"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Kommentti"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Sijainti"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Koodekki"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Muunna"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Laatu / algoritmi"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Tiedosto on jo olemassa. Ylikirjoita?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Valitse koodekki"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Muunnetaan..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Valitse kansio..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Virhe"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Poista esiasetus"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Uusi DSP-esiasetus"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Muokkaa DSP-esiasetusta"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP-esiasetukset"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:126
+#, fuzzy
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr "Tiedoston pääte (esim. .mp3) lisätään automaattisesti.\n"
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP-esiasetus:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Kun tiedosto on jo olemassa:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Kysy"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Ylikirjoita"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Lataa esiasetus..."
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Esim. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Komentorivi:"
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Esimerkki: lame - %o\n"
+"%i on sisääntulotiedosto, %o on ulostulotiedosto, - on stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Tilapäinen tiedosto"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "Ogg Vorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 101aa540..50e6ab56 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef devel\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2010-10-15 21:44+0100\n"
-"Last-Translator: Cilyan Olowen <gaknar@gmail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-05 13:38+0200\n"
+"Last-Translator: Cilyan <gaknar@gmail.com>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -20,1186 +20,1141 @@ msgstr ""
"X-Poedit-Language: French\n"
"X-Poedit-Country: FRANCE\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formats audio supportés"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Autres fichiers (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Tous les fichiers (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Ouvrir un (des) fichier(s)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Ajouter un (des) fichier(s) à la liste de lecture..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Ajouter un (des) dossier(s) à la liste de lecture..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Suivre les liens symboliques"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Échec à la lecture du fichier d'aide"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Échec à l'ouverture du fichier d'aide"
-#: ../plugins/gtkui/callbacks.c:701
-#: ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Aide"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "À propos de DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Notes de version pour DeaDBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Traducteurs de DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Éditer la liste de lecture"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Titre :"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Renommer la liste de lecture"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Supprimer la liste de lecture"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Ajouter une nouvelle liste de lecture"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Enregistrer les paramètres prédéfinis de l'égaliseur DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Paramètres prédéfinis d'égaliseur DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Charger des paramètres prédéfinis pour l'égaliseur DeaDBeeF..."
# Duplicate?
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Paramètres prédéfinis d'égaliseur DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importer des paramètres EQ Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Paramètres d'égaliseur Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Enregistrer"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Charger"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importer des paramètres Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Activer"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Tout à zéro"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Pré-ampli à zéro"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Bandes à zéro"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Enregistrer"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Charger"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importer des paramètres Foobar2000"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 jour %d:%02d:%02d"
# Possible to use ngettext?
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d jours %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Arrêté | %d pistes | %s de temps d'écoute total"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stéréo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "En pause | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %d Hz | %d bit | %s | %d:%02d / %s | %d pistes | %s de temps d'écoute total"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %d Hz | %d bit | %s | %d:%02d / %s | %d pistes | %s de temps "
+"d'écoute total"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Sauvegarder la liste de lecture sous"
-#: ../plugins/gtkui/gtkui.c:669
-#: ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Fichiers de listes de lecture DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Charger une liste de lecture"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Autres fichiers (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nouvelle liste de lecture"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nouvelle liste de lecture (%d)"
-#: ../plugins/gtkui/interface.c:138
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Fichier"
-#: ../plugins/gtkui/interface.c:145
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Ouvrir un (des) fichier(s)"
-#: ../plugins/gtkui/interface.c:161
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Ajouter un (des) fichier(s)"
-#: ../plugins/gtkui/interface.c:169
-#: ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Ajouter un (des) dossier(s)"
-#: ../plugins/gtkui/interface.c:177
-#: ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Ajouter un emplacement"
# Duplicate?
-#: ../plugins/gtkui/interface.c:186
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nouvelle liste de lecture"
# Duplicate?
-#: ../plugins/gtkui/interface.c:193
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Charger une liste de lecture"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Enregistrer la liste de lecture"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Enregistrer la liste de lecture sous"
-
-#: ../plugins/gtkui/interface.c:210
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Quitter"
-#: ../plugins/gtkui/interface.c:221
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "Édit_er"
-#: ../plugins/gtkui/interface.c:228
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Effacer"
-#: ../plugins/gtkui/interface.c:236
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Tout sélectionner"
-#: ../plugins/gtkui/interface.c:243
-#: ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Tout désélectionner"
-#: ../plugins/gtkui/interface.c:250
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverser la sélection"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Sélection"
-#: ../plugins/gtkui/interface.c:261
-#: ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Enlever"
-#: ../plugins/gtkui/interface.c:269
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Découper"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Rechercher"
-#: ../plugins/gtkui/interface.c:285
-#: ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Titre"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Numéro de fichier"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artiste"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Personnalisé"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Préférences"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Affichage"
-#: ../plugins/gtkui/interface.c:296
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barre d'état"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Entête des colonnes"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Onglets"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Égaliseur"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Lecture"
-#: ../plugins/gtkui/interface.c:319
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Ordre"
-#: ../plugins/gtkui/interface.c:326
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linéaire"
-#: ../plugins/gtkui/interface.c:332
-#: ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Mélanger"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "Mélanger"
-#: ../plugins/gtkui/interface.c:338
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Aléatoire"
-#: ../plugins/gtkui/interface.c:344
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Boucler"
-#: ../plugins/gtkui/interface.c:351
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Tout répéter"
-#: ../plugins/gtkui/interface.c:357
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Répéter une seule piste"
-#: ../plugins/gtkui/interface.c:363
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Pas de répétition"
-#: ../plugins/gtkui/interface.c:369
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Le défilement suit la lecture"
-#: ../plugins/gtkui/interface.c:374
-#: ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "La sélection suit la lecture"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Arrêter après la piste actuelle"
-#: ../plugins/gtkui/interface.c:385
-#: ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Aide"
-#: ../plugins/gtkui/interface.c:400
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Notes de version"
-#: ../plugins/gtkui/interface.c:422
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "À pr_opos"
-#: ../plugins/gtkui/interface.c:801
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Rechercher"
-#: ../plugins/gtkui/interface.c:876
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Stop"
-#: ../plugins/gtkui/interface.c:884
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Lire"
-#: ../plugins/gtkui/interface.c:892
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pause"
-#: ../plugins/gtkui/interface.c:900
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Précédent"
-#: ../plugins/gtkui/interface.c:908
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Suivant"
-#: ../plugins/gtkui/interface.c:916
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Lecture aléatoire"
-#: ../plugins/gtkui/interface.c:925
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "À propos"
-#: ../plugins/gtkui/interface.c:938
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Quitter"
-#: ../plugins/gtkui/interface.c:1010
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Ajout des fichiers..."
-
-#: ../plugins/gtkui/interface.c:1054
-#: ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Annuler"
-
-#: ../plugins/gtkui/interface.c:1155
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Propriétés de la piste"
-#: ../plugins/gtkui/interface.c:1179
-#: ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>AVERTISSEMENT</b> : La fonction permettant d'écrire les tags est encore en développement.\n"
-"<b>Faites des copies de sauvegarde</b> avant de l'utiliser."
-#: ../plugins/gtkui/interface.c:1206
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Appliquer"
-#: ../plugins/gtkui/interface.c:1227
-#: ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Fermer"
-#: ../plugins/gtkui/interface.c:1231
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Métadonnée"
-#: ../plugins/gtkui/interface.c:1277
-#: ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Propriétés"
-# Is it a mistake?
-#: ../plugins/gtkui/interface.c:1363
-#: ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378
-#: ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Titre :"
-
-#: ../plugins/gtkui/interface.c:1386
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Entrez le nom de la nouvelle colonne ici"
-#: ../plugins/gtkui/interface.c:1394
-#: ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Type :"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Numéro de fichier"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403
-#: ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Lecture"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Couverture de l'album"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artiste - Album"
-#: ../plugins/gtkui/interface.c:1406
-#: ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Artiste"
-
-#: ../plugins/gtkui/interface.c:1407
-#: ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408
-#: ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Titre"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Durée"
-#: ../plugins/gtkui/interface.c:1410
-#: ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Piste"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "N° piste"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Groupe / Artiste de l'album"
-#: ../plugins/gtkui/interface.c:1412
-#: ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Personnalisé"
-
-#: ../plugins/gtkui/interface.c:1418
-#: ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format :"
-#: ../plugins/gtkui/interface.c:1433
-#: ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Alignement :"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Gauche"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Droite"
-#: ../plugins/gtkui/interface.c:1444
-#: ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formatage (précédé de %) :\n"
-" [a]rtiste, [t]itre, al[b]um, [B] groupe, [C]ompositeur\n"
-" [n]uméro de piste, [N]ombre total de pistes,\n"
-" [l] durée, [y] année, [g]enre, [c]ommentaire,\n"
-" copy[r]ight, nom de [f]ichier, [T]ags\n"
-"Exemple: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473
-#: ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012
-#: ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "A_nnuler"
-#: ../plugins/gtkui/interface.c:1494
-#: ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033
-#: ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Valider"
-#: ../plugins/gtkui/interface.c:1725
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Greffon de sortie :"
-#: ../plugins/gtkui/interface.c:1738
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Périphérique de sortie :"
-#: ../plugins/gtkui/interface.c:1747
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Son"
-#: ../plugins/gtkui/interface.c:1756
-#: ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Permettre le changement dynamique de fréquence d'échantillonage"
-
-#: ../plugins/gtkui/interface.c:1764
-#: ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Qualité de la fréquence d’échantillonnage à la conversion :"
-
-#: ../plugins/gtkui/interface.c:1783
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Mode du ReplayGain (ajustement du volume) :"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Désactiver"
-#: ../plugins/gtkui/interface.c:1796
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Piste"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Ajustement des crêtes par ReplayGain"
-#: ../plugins/gtkui/interface.c:1804
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Mode du ReplayGain (ajustement du volume) :"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Ajouter des fichiers à cette liste de lecture depuis la ligne de commande (ou le gestionnaire de fichier) :"
+msgstr ""
+"Ajouter des fichiers à cette liste de lecture depuis la ligne de commande "
+"(ou le gestionnaire de fichier) :"
-#: ../plugins/gtkui/interface.c:1813
-#: ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Charger la session précédente au démarrage"
-#: ../plugins/gtkui/interface.c:1817
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Lecture"
-#: ../plugins/gtkui/interface.c:1826
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configurer"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Enregistrer"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Fermer la fenêtre la réduit dans la zone de notification"
-#: ../plugins/gtkui/interface.c:1830
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Le bouton du milieu de la souris ferme la liste de lecture"
-#: ../plugins/gtkui/interface.c:1834
-#: ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Masquer l'icône de notification"
-#: ../plugins/gtkui/interface.c:1838
-#: ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Utiliser une police grasse pour la piste en cours de lecture"
-#: ../plugins/gtkui/interface.c:1842
-#: ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Masquer l'entrée \"Supprimer du disque\" du menu contextuel"
-#: ../plugins/gtkui/interface.c:1850
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Barre de titre en lecture :"
-#: ../plugins/gtkui/interface.c:1864
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Barre de titre à l'arrêt :"
-#: ../plugins/gtkui/interface.c:1874
-#: ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Interface"
-#: ../plugins/gtkui/interface.c:1888
-#: ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Redéfinir"
-#: ../plugins/gtkui/interface.c:1897
-#: ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Premier plan"
-#: ../plugins/gtkui/interface.c:1904
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Arrière-plan"
-#: ../plugins/gtkui/interface.c:1923
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Couleurs de la barre de lecture/échelle du volume"
-#: ../plugins/gtkui/interface.c:1941
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Fond"
-#: ../plugins/gtkui/interface.c:1948
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Clair"
-#: ../plugins/gtkui/interface.c:1955
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Sombre"
-#: ../plugins/gtkui/interface.c:1986
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:1993
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Texte"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Couleur des onglets"
-#: ../plugins/gtkui/interface.c:2002
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Redéfinir (perd le thème des listes GTK, mais accélère le rendu)"
-#: ../plugins/gtkui/interface.c:2011
-#: ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Lignes paires"
-#: ../plugins/gtkui/interface.c:2018
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Lignes impaires"
-#: ../plugins/gtkui/interface.c:2037
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Texte"
-
-#: ../plugins/gtkui/interface.c:2044
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Ligne sélectionnée"
-#: ../plugins/gtkui/interface.c:2063
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Texte sélectionné"
-#: ../plugins/gtkui/interface.c:2076
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Curseur"
-#: ../plugins/gtkui/interface.c:2089
-#: ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Couleurs des listes de lecture"
-#: ../plugins/gtkui/interface.c:2093
-#: ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Couleurs"
-#: ../plugins/gtkui/interface.c:2102
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Activer le serveur mandataire"
-#: ../plugins/gtkui/interface.c:2110
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adresse du serveur mandataire :"
-#: ../plugins/gtkui/interface.c:2124
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port du serveur mandataire :"
-#: ../plugins/gtkui/interface.c:2138
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Type de serveur mandataire :"
-#: ../plugins/gtkui/interface.c:2157
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Nom d'utilisateur sur le serveur mandataire :"
-#: ../plugins/gtkui/interface.c:2170
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Mot de passe sur le serveur mandataire :"
-#: ../plugins/gtkui/interface.c:2180
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Réseau"
-#: ../plugins/gtkui/interface.c:2208
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Greffons"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL :"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Grouper par"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Format :"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Sélection"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Greffons"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Éditeur de tags"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Écrire ID3v2"
-#: ../plugins/gtkui/interface.c:2212
-#: ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Écrire ID3v1"
-#: ../plugins/gtkui/interface.c:2216
-#: ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Écrire APEv2"
-#: ../plugins/gtkui/interface.c:2224
-#: ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Effacer ID3v2"
-#: ../plugins/gtkui/interface.c:2228
-#: ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Effacer ID3v1"
-#: ../plugins/gtkui/interface.c:2232
-#: ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Effacer APEv2"
-#: ../plugins/gtkui/interface.c:2240
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Version ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Recommandé)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254
-#: ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Encodage des caractères ID3v1 (iso8859-1 par défaut)"
-#: ../plugins/gtkui/interface.c:2291
-#: ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Écrire ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Éditeur de tags"
-
-#: ../plugins/gtkui/interface.c:2391
-#: ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Description :"
-
-#: ../plugins/gtkui/interface.c:2406
-#: ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Auteur(s) :"
-
-#: ../plugins/gtkui/interface.c:2421
-#: ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Émail :"
-
-#: ../plugins/gtkui/interface.c:2436
-#: ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Site Internet :"
-
-#: ../plugins/gtkui/interface.c:2467
-#: ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Configurer"
-
-#: ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Greffons"
-
-# Is this a mistake?
-#: ../plugins/gtkui/interface.c:2853
-#: ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980
-#: ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL :"
-
-#: ../plugins/gtkui/interface.c:3081
-#: ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Grouper par"
-
-#: ../plugins/gtkui/interface.c:3106
-#: ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formatage (précédé de %) :\n"
-" [a]rtiste, [t]itre, al[b]um, [B] groupe, [C]ompositeur\n"
-" [n]uméro de piste, [N]ombre total de pistes,\n"
-" [l] durée, [y] année, [g]enre, [c]ommentaire,\n"
-" copy[r]ight, nom de [f]ichier, [T]ags\n"
-"Exemple: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301
-#: ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artiste / Album"
-#: ../plugins/gtkui/mainplaylist.c:302
-#: ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "N° piste"
-#: ../plugins/gtkui/mainplaylist.c:303
-#: ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Titre / Artiste de la piste"
-
-#: ../plugins/gtkui/mainplaylist.c:304
-#: ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Durée"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Supprimer les fichiers du disque"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
"Les fichiers seront perdus. Continuer ?\n"
-"(Cette boîte de dialogue peut être désactivée dans les préférences du greffon GTKUI)"
+"(Cette boîte de dialogue peut être désactivée dans les préférences du "
+"greffon GTKUI)"
-#: ../plugins/gtkui/plcommon.c:325
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Avertissement"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Ajouter à la file d'attente de lecture"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Enlever de la file d'attente de lecture"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Recharger les métadonnées"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Supprimer du disque"
-#: ../plugins/gtkui/plcommon.c:719
-#: ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Ajouter une colonne"
-#: ../plugins/gtkui/plcommon.c:749
-#: ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Éditer la colonne"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Enlever la colonne"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Grouper par"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Aucun"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artiste/Date/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Ouvrir un fichier..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Configure %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Configurer"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Périphérique audio par défaut"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Ajouter"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Raccourcis globaux"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Action"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Combinaison de touches"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464
-#: ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Greffon de sortie ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Ajout des fichiers..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Initialisation..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Vous avez modifié des données pour cette piste."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Fermer réellement la fenêtre ?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Type(s) de tags"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Cuesheet incorporée"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Oui"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Non"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Clé"
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Valeur"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "En cours sur DeaDBeeF"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Fermer réellement la fenêtre ?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Ajouter un (des) fichier(s)"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Enlever"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Usage : deadbeef [options] [fichier(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Options :\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help ou -h Affiche l'aide (ce message) et quitte\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Fermer le lecteur\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Affiche les informations de version et quitte\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Démarre la lecture\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Arrête la lecture\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Suspend la lecture\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Musique suivante dans la liste de lecture\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Musique précédente dans la liste de lecture\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Musique aléatoire dans la liste de lecture\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
-msgstr " --queue Ajoute le(s) fichier(s) dans la liste existante\n"
+msgstr ""
+" --queue Ajoute le(s) fichier(s) dans la liste existante\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Envoi le nom de la piste format dans stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1207,20 +1162,39 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
" FMT %%-syntaxe : [a]rtiste, [t]itre, al[b]um,\n"
-" [l]ongueur, [n]uméro de piste, [y]année, [c]ommentaire,\n"
+" [l]ongueur, [n]uméro de piste, [y]année, [c]"
+"ommentaire,\n"
" copy[r]ight, [e]coulé\n"
-#: ../main.c:105
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" ex : --nowplaying \"%%a - %%t\" affiche \"artiste - "
+"titre\"\n"
+
+#: ../main.c:110
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " ex : --nowplaying \"%%a - %%t\" affiche \"artiste - titre\"\n"
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
-#: ../playlist.c:377
-#: ../playlist.c:2289
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Défaut"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Oui"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Non"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1228,7 +1202,13 @@ msgstr ""
"2.3 (Recommandé)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1238,17 +1218,18 @@ msgstr ""
"Piste\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1264,7 +1245,7 @@ msgstr ""
"Groupe / Artiste de l'album\n"
"Personnalisé"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1272,74 +1253,683 @@ msgstr ""
"Gauche\n"
"Droite"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Impossible de trouver le fichier pixmap : %s"
-#: ../plugins/vorbis/vcedit.c:129
-#: ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Impossible d'obtenir suffisamment de mémoire pour créer un tampon d'entrée."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi : Fichier de configuration freepats introuvable. Veuillez installer "
+"le paquet timidity-freepats, ou spécifier le chemin vers freepats.conf dans "
+"les préférences du greffon."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Ajouter un CD Audio"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:179
-#: ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Erreur à la lecture de la première page du flux Ogg."
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:185
-#: ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Erreur à la lecture du paquet d'entête initial."
+#: ../translation/extra.c:7
+#, fuzzy
+msgid "Release device while stopped"
+msgstr "Barre de titre à l'arrêt :"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Impossible d'obtenir suffisamment de mémoire pour enregistrer le numéro de série du nouveau flux."
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Entrée tronquée ou vide."
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "L'entrée n'est pas un flux Ogg."
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Activer le serveur mandataire"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Le flux Ogg ne contient pas de donnée Vorbis."
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "En cours sur DeaDBeeF"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Fin de fichier atteinte avant de reconnaître le flux."
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Nom d'utilisateur sur le serveur mandataire :"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Le flux Ogg ne contient pas un type de donnée reconnu."
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Mot de passe sur le serveur mandataire :"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Entête secondaire corrompue."
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Fin de fichier atteinte avant la fin des entêtes Vorbis."
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Donnée corrompue ou manquante, poursuite..."
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
-msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-msgstr "Erreur à l'écriture du flux vers la sortie. Le flux de sortie peut-être corrompu ou tronqué."
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Supprimer les fichiers du disque"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Couverture de l'album"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "N° piste"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Titre / Artiste de la piste"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Numéro de fichier"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Ajouter un emplacement"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Type(s) de tags"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Cuesheet incorporée"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Tout sélectionner"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Éditer la colonne"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Enregistrer"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Enregistrer"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Enregistrer"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Enregistrer"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Périphérique de sortie :"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Greffon de sortie :"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Enregistrer"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Redéfinir"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Charger"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Greffon de sortie :"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi : Fichier de configuration freepats introuvable. Veuillez installer le paquet timidity-freepats, ou spécifier le chemin vers freepats.conf dans les préférences du greffon."
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Écrire APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Écrire ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Écrire ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Éditeur de tags"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "Ajouter un CD Audio"
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Enregistrer la liste de lecture sous"
+
+#~ msgid "_Abort"
+#~ msgstr "_Annuler"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>AVERTISSEMENT</b> : La fonction permettant d'écrire les tags est "
+#~ "encore en développement.\n"
+#~ "<b>Faites des copies de sauvegarde</b> avant de l'utiliser."
+
+# Is it a mistake?
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Durée"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formatage (précédé de %) :\n"
+#~ " [a]rtiste, [t]itre, al[b]um, [B] groupe, [C]ompositeur\n"
+#~ " [n]uméro de piste, [N]ombre total de pistes,\n"
+#~ " [l] durée, [y] année, [g]enre, [c]ommentaire,\n"
+#~ " copy[r]ight, nom de [f]ichier, [T]ags\n"
+#~ "Exemple: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Permettre le changement dynamique de fréquence d'échantillonage"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Qualité de la fréquence d’échantillonnage à la conversion :"
+
+#~ msgid "Description:"
+#~ msgstr "Description :"
+
+#~ msgid "Author(s):"
+#~ msgstr "Auteur(s) :"
+
+#~ msgid "Email:"
+#~ msgstr "Émail :"
+
+#~ msgid "Website:"
+#~ msgstr "Site Internet :"
+
+# Is this a mistake?
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formatage (précédé de %) :\n"
+#~ " [a]rtiste, [t]itre, al[b]um, [B] groupe, [C]ompositeur\n"
+#~ " [n]uméro de piste, [N]ombre total de pistes,\n"
+#~ " [l] durée, [y] année, [g]enre, [c]ommentaire,\n"
+#~ " copy[r]ight, nom de [f]ichier, [T]ags\n"
+#~ "Exemple: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Configure %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Greffon de sortie ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr ""
+#~ "Impossible d'obtenir suffisamment de mémoire pour créer un tampon "
+#~ "d'entrée."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Erreur à la lecture de la première page du flux Ogg."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Erreur à la lecture du paquet d'entête initial."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Impossible d'obtenir suffisamment de mémoire pour enregistrer le numéro "
+#~ "de série du nouveau flux."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Entrée tronquée ou vide."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "L'entrée n'est pas un flux Ogg."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Le flux Ogg ne contient pas de donnée Vorbis."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "Fin de fichier atteinte avant de reconnaître le flux."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Le flux Ogg ne contient pas un type de donnée reconnu."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Entête secondaire corrompue."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Fin de fichier atteinte avant la fin des entêtes Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Donnée corrompue ou manquante, poursuite..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Erreur à l'écriture du flux vers la sortie. Le flux de sortie peut-être "
+#~ "corrompu ou tronqué."
#~ msgid "Sound (adv.)"
#~ msgstr "Son (Avancé)"
diff --git a/po/gl.po b/po/gl.po
index dd40970e..60a59fdb 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,1013 +7,913 @@ msgid ""
msgstr ""
"Project-Id-Version: lxde.deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 04:36+0000\n"
-"PO-Revision-Date: 2010-10-21 17:58+0100\n"
-"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-24 13:48+0200\n"
+"Last-Translator: mbouzada <mbouzada@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.5\n"
"X-Poedit-Language: Galician\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formatos de son admitidos"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Outros ficheiros (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Todos os ficheiros (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Abrir ficheiro(s)"
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Engadir ficheiro(s) á lista de reprodución..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Engadir cartafol(es) á lista de reprodución..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Seguir ligazóns simbólicas"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
-msgstr "Produciuse un erro ao ler o ficheiro de axuda"
+msgstr "Produciuse un fallo ao ler o ficheiro de axuda"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
-msgstr "Produciuse un erro ao cargar o ficheiro de axuda"
+msgstr "Produciuse un fallo ao cargar o ficheiro de axuda"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
-msgstr "help.txt"
+msgstr "axuda.txt"
-#: ../plugins/gtkui/callbacks.c:693
-#: ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Axuda"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Sobre DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Cambios en DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Tradutores de DeaDBeeF"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Editar a lista de reprodución"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Título:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Renomear a lista de reprodución"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
-msgstr "Quitar a lista de reprodución"
+msgstr "Retirar a lista de reprodución"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Engadir unha nova lista de reprodución"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
-msgstr "Gardar axustes de ecualización de DeaDBeeF"
+msgstr "Gardar os axustes de ecualización de DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Ficheiros de axustes de ecualización de DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
-msgstr "Cargar axustes de ecualización de DeaDBeeF..."
+msgstr "Cargar os axustes de ecualización de DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Axustes de ecualización de DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
-msgstr "Importar axustes de ecualización de Foobar2000..."
+msgstr "Importar os axustes de ecualización de Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Axustes de ecualización de Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Gardar os axustes"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Cargar os axustes"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importar os axustes de Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Activar"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Restabelecer todo"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
-msgstr "Restabelecer preamplificador"
+msgstr "Restabelecer o preamplificador"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
-msgstr "Restabelecer bandas"
-
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Gardar axustes"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Cargar axustes"
+msgstr "Restabelecer as bandas"
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importar axustes de Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Axustes"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 día %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d días %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Detido | %d pistas | Tempo total: %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Estéreo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pausado | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d pistas | Tempo total: %s"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d pistas | Tempo total: %s"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Gardar a lista de reprodución como"
-#: ../plugins/gtkui/gtkui.c:670
-#: ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Ficheiros de listas de reprodución DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
-msgstr "Cargar lista de reprodución"
+msgstr "Cargar a lista de reprodución"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Outros ficheiros (*)"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nova lista de reprodución"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nova lista de reprodución (%d)"
-#: ../plugins/gtkui/interface.c:142
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Ficheiro"
-#: ../plugins/gtkui/interface.c:149
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Abrir ficheiro(s)"
-#: ../plugins/gtkui/interface.c:165
-#: ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Engadir ficheiro(s)"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Engadir cartafol(es)"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Engadir localización"
-#: ../plugins/gtkui/interface.c:190
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nova lista de reprodución"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Cargar a lista de reprodución"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Gardar a lista de reprodución"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Gardar a lista de reprodución como"
-
-#: ../plugins/gtkui/interface.c:214
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Saír"
-#: ../plugins/gtkui/interface.c:225
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Editar"
-#: ../plugins/gtkui/interface.c:232
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Limpar"
-#: ../plugins/gtkui/interface.c:240
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Seleccionar todo"
-#: ../plugins/gtkui/interface.c:247
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Desmarcar todo"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverter a selección"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Selección"
-#: ../plugins/gtkui/interface.c:265
-#: ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
-msgstr "Quitar"
+msgstr "Retirar"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Cortar"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Buscar"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Ordenar por"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Título"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Número de pista"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Álbum"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Interprete"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Data"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Personalizado"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferencias"
-#: ../plugins/gtkui/interface.c:293
-#: ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Ver"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barra de estado"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Cabeceiras de columna"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Lapelas"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ecualizador"
-#: ../plugins/gtkui/interface.c:316
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Reproducir"
-#: ../plugins/gtkui/interface.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
-msgstr "Orde"
+msgstr "Orden"
-#: ../plugins/gtkui/interface.c:330
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Lineal"
-#: ../plugins/gtkui/interface.c:336
-#: ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Barallar"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Barallar pistas"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Barallar álbums"
-#: ../plugins/gtkui/interface.c:342
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Ao chou"
-#: ../plugins/gtkui/interface.c:348
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Repetir"
-#: ../plugins/gtkui/interface.c:355
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Repetir todo"
-#: ../plugins/gtkui/interface.c:361
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Repetir unha canción"
-#: ../plugins/gtkui/interface.c:367
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Non repetir"
-#: ../plugins/gtkui/interface.c:373
-#: ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Desprazar á seguinte reprodución"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Punteiro na seguinte reprodución"
-#: ../plugins/gtkui/interface.c:382
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Deter ao rematar a pista actual"
-#: ../plugins/gtkui/interface.c:394
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Ir á pista actual"
-#: ../plugins/gtkui/interface.c:401
-#: ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Axuda"
-#: ../plugins/gtkui/interface.c:416
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Cambios"
-#: ../plugins/gtkui/interface.c:425
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Sobre"
-#: ../plugins/gtkui/interface.c:446
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Tradutores"
-#: ../plugins/gtkui/interface.c:836
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Buscar"
-#: ../plugins/gtkui/interface.c:911
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Deter"
-#: ../plugins/gtkui/interface.c:919
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Reproducir"
-#: ../plugins/gtkui/interface.c:927
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pausa"
-#: ../plugins/gtkui/interface.c:935
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Anterior"
-#: ../plugins/gtkui/interface.c:943
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Seguinte"
-#: ../plugins/gtkui/interface.c:951
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Reproducir ao chou"
-#: ../plugins/gtkui/interface.c:960
-#: ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Sobre"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Saír"
-#: ../plugins/gtkui/interface.c:1045
-#: ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Engadindo ficheiros,,,"
-
-#: ../plugins/gtkui/interface.c:1089
-#: ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "_Interromper"
-
-#: ../plugins/gtkui/interface.c:1189
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Propiedades da pista"
-#: ../plugins/gtkui/interface.c:1235
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Configuración"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Aplicar"
-#: ../plugins/gtkui/interface.c:1256
-#: ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Pechar"
-#: ../plugins/gtkui/interface.c:1260
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadatos"
-#: ../plugins/gtkui/interface.c:1306
-#: ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Propiedades"
-#: ../plugins/gtkui/interface.c:1391
-#: ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1406
-#: ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Título:"
-
-#: ../plugins/gtkui/interface.c:1414
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Escriba aquí o novo título da columna"
-#: ../plugins/gtkui/interface.c:1422
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tipo:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
-msgstr "Índice"
+msgstr "Índice de elementos"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431
-#: ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Reproducindo"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Portada"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
-msgstr "Artista - Álbum"
-
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434
-#: ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Artista"
-
-#: ../plugins/gtkui/interface.c:1435
-#: ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Álbum"
-
-#: ../plugins/gtkui/interface.c:1436
-#: ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Título"
+msgstr "Interprete - Álbum"
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Duración"
-#: ../plugins/gtkui/interface.c:1438
-#: ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Pista"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Pista numero"
-#: ../plugins/gtkui/interface.c:1439
-#: ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
-msgstr "Banda / Álbum Artista"
-
-#: ../plugins/gtkui/interface.c:1440
-#: ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Personalizado"
+msgstr "Banda / Interprete do álbum"
-#: ../plugins/gtkui/interface.c:1446
-#: ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formato:"
-#: ../plugins/gtkui/interface.c:1461
-#: ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Aliñamento"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Esquerda"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Dereita"
-#: ../plugins/gtkui/interface.c:1472
-#: ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Conversións de formato (comezar con %):\n"
-" a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
-" n: Número de pista, N: Pistas totais,\n"
-" l: Duración, y: Ano, g: Xénero, c: Comentario,\n"
-" r: Copyright, f: Nome de ficheiro, F: Ruta absoluta T: Etiquetas\n"
-" d: Directorio, D: Directorio con ruta\n"
-"Exemplo: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501
-#: ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040
-#: ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Cancelar"
-#: ../plugins/gtkui/interface.c:1522
-#: ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061
-#: ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Aceptar"
-#: ../plugins/gtkui/interface.c:1753
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Engadido de saída:"
-#: ../plugins/gtkui/interface.c:1766
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Dispositivo de saída:"
-#: ../plugins/gtkui/interface.c:1775
-#: ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Converter sempre o son de 8 bits a 16 bits"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Son"
-#: ../plugins/gtkui/interface.c:1784
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Permitir o cambio dinámico de frecuencia"
-
-#: ../plugins/gtkui/interface.c:1792
-#: ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Calidade de conversión de frecuencia:"
-
-#: ../plugins/gtkui/interface.c:1811
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Modo de normalización de volume"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Desactivar"
-#: ../plugins/gtkui/interface.c:1824
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Pista"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Escala de límite de normalización de volume"
-#: ../plugins/gtkui/interface.c:1832
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Normalización de volume do preamplificador:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Preamplificación global:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Engadir ficheiros desde a liña de ordes (ou xestor de ficheiros) a esta lista de reprodución:"
+msgstr ""
+"Engadir ficheiros desde a liña de ordes (ou xestor de ficheiros) a esta "
+"lista de reprodución:"
-#: ../plugins/gtkui/interface.c:1841
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Continuar a sesión anterior no inicio"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Non engadir desde ficheiros cando se engaden cartafoles"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Reprodución"
-#: ../plugins/gtkui/interface.c:1854
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configurar"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Cadeas DSP predefinidas"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Cargar"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Pechar minimizado na área de notificación"
-#: ../plugins/gtkui/interface.c:1858
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "O botón do medio do rato pecha a lista de reprodución"
-#: ../plugins/gtkui/interface.c:1862
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Agochar a icona da área de notificación"
-#: ../plugins/gtkui/interface.c:1866
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Usar tipo de letra en negra para a pista en reprodución"
-#: ../plugins/gtkui/interface.c:1870
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Agochar o elemento «Eliminar do disco» do menú contextual "
-#: ../plugins/gtkui/interface.c:1878
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+"Nomear automaticamente as listas de reprodución ao engadir un só cartafol"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Frecuencia de actualización da interface (veces por segundo):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Texto da barra de título cando se reproduce:"
-#: ../plugins/gtkui/interface.c:1892
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Texto da barra de título cando está detido:"
-#: ../plugins/gtkui/interface.c:1902
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Engadido de interface de usuario (require reiniciar):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
-msgstr "Interface"
+msgstr "Interface de usuario"
-#: ../plugins/gtkui/interface.c:1916
-#: ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
-msgstr "Cambiar"
+msgstr "Anular"
-#: ../plugins/gtkui/interface.c:1925
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Fronte"
-#: ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Fondo"
-#: ../plugins/gtkui/interface.c:1951
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Cores das barras de busca/volume"
-#: ../plugins/gtkui/interface.c:1969
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Medio"
-#: ../plugins/gtkui/interface.c:1976
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Claro"
-#: ../plugins/gtkui/interface.c:1983
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Escuro"
-#: ../plugins/gtkui/interface.c:2014
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:2021
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Texto"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Cores das lapelas"
-#: ../plugins/gtkui/interface.c:2030
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Cambiar (ignora o tema GTK, pero acelera o renderizado)"
+msgstr "Cambiar (ignora o tema GTK, mais acelera o debuxado)"
-#: ../plugins/gtkui/interface.c:2039
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Fila par"
-#: ../plugins/gtkui/interface.c:2046
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Fila impar"
-#: ../plugins/gtkui/interface.c:2065
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Texto"
-
-#: ../plugins/gtkui/interface.c:2072
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Fila seleccionada"
-#: ../plugins/gtkui/interface.c:2091
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Texto seleccionado"
-#: ../plugins/gtkui/interface.c:2104
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
-msgstr "Punteiro"
+msgstr "Cursor"
-#: ../plugins/gtkui/interface.c:2117
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Cores da lista de reprodución"
-#: ../plugins/gtkui/interface.c:2121
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Cores"
-#: ../plugins/gtkui/interface.c:2130
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
-msgstr "Activar servidor proxy"
+msgstr "Activar o servidor proxy"
-#: ../plugins/gtkui/interface.c:2138
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Enderezo do servidor proxy:"
-#: ../plugins/gtkui/interface.c:2152
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Porto do servidor proxy:"
-#: ../plugins/gtkui/interface.c:2166
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Tipo de proxy:"
-#: ../plugins/gtkui/interface.c:2185
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Nome de usuario do proxy:"
-#: ../plugins/gtkui/interface.c:2198
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Contrasinal do proxy:"
-#: ../plugins/gtkui/interface.c:2208
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Rede"
-#: ../plugins/gtkui/interface.c:2236
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Versión: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Dereitos de autor"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Engadidos"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Agrupar por"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Ordenar por"
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Formato"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Descendente"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Escolla o engadido DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Engadido"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Configuración do editor de etiquetas"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Escribir ID3v2"
-#: ../plugins/gtkui/interface.c:2240
-#: ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Escribir ID3v1"
-#: ../plugins/gtkui/interface.c:2244
-#: ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Escribir APEv2"
-#: ../plugins/gtkui/interface.c:2252
-#: ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Eliminar ID3v2"
-#: ../plugins/gtkui/interface.c:2256
-#: ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Eliminar ID3v1"
-#: ../plugins/gtkui/interface.c:2260
-#: ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Eliminar APEv2"
-#: ../plugins/gtkui/interface.c:2268
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Versión de ID3v2"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (recomendado)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Codificación de caracteres de ID3v1 (por omisión é iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Escribir ID3v2.4"
-#: ../plugins/gtkui/interface.c:2388
-#: ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Editor de etiquetas"
-
-#: ../plugins/gtkui/interface.c:2419
-#: ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Descrición:"
-
-#: ../plugins/gtkui/interface.c:2434
-#: ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Autor(es)"
-
-#: ../plugins/gtkui/interface.c:2449
-#: ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Correo-e:"
-
-#: ../plugins/gtkui/interface.c:2464
-#: ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Sitio web:"
-
-#: ../plugins/gtkui/interface.c:2495
-#: ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Configurar"
-
-#: ../plugins/gtkui/interface.c:2499
-#: ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Engadidos"
-
-#: ../plugins/gtkui/interface.c:2881
-#: ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:3008
-#: ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109
-#: ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Agrupar por"
-
-#: ../plugins/gtkui/interface.c:3134
-#: ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Conversións de formato (comezar con %):\n"
-" a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
-" n: Número de pista, N: Pistas totais,\n"
-" l: Duración, y: Ano, g: Xénero, c: Comentario,\n"
-" r: Copyright, f: Nome de ficheiro, T: Etiquetas\n"
-"Exemplo: %a - %t [%l]\""
-
-#: ../plugins/gtkui/mainplaylist.c:306
-#: ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
-msgstr "Artista / Álbum"
+msgstr "Interprete / Álbum"
-#: ../plugins/gtkui/mainplaylist.c:307
-#: ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Pista num."
-#: ../plugins/gtkui/mainplaylist.c:308
-#: ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Título / Intérprete"
-
-#: ../plugins/gtkui/mainplaylist.c:309
-#: ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Duración"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Eliminar ficheiros do disco"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1021,209 +921,221 @@ msgstr ""
"Vai perder os ficheiros. Quere continuar?\n"
"(Este aviso pode desactivarse nas opcións do engadido GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
-msgstr "Advertencia"
+msgstr "Aviso"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
-msgstr "Engadir á cola de reprodución"
+msgstr "Engadir na cola de reprodución"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
-msgstr "Quitar da cola de reprodución"
+msgstr "Retirar da cola de reprodución"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Recargar os metadatos"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
-msgstr "Quitar do disco"
+msgstr "Retirar do disco"
-#: ../plugins/gtkui/plcommon.c:720
-#: ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Engadir columna"
-#: ../plugins/gtkui/plcommon.c:750
-#: ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Editar columna"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
-msgstr "Quitar columna"
+msgstr "Retirar columna"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Agrupar por"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Ningún"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
-msgstr "Artista/Data/Álbum"
+msgstr "Interprete/Data/Álbum"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Abrir ficheiro..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format, c-format
+msgid "Configure %s"
msgstr "Configurar %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Dispositivo de son predeterminado"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Engadir"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Teclas rápidas globais"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
-msgstr "Acción"
+msgstr "Rañura"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Combinación de teclas"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481
-#: ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "Complemento de saída ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Engadindo ficheiros,,,"
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
-msgstr "Inicializando..."
+msgstr "Iniciando..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Vostede modificou os datos desta pista."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Ten certeza de que quere pechas esta xanela?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Situación"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Valores múltiples] "
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Índice de subpista"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Tecla"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tipo de etiqueta(s)"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Valor"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Folla de información incrustada"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Escribindo etiquetas"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Si"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Nome:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Non"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Os nomes dos campos non deben comezar con «:» ou «_»"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Códec"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Non é posíbel engadir o campo"
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Tecla"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Xa existe un campo con este nome, tente con outro diferente."
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Valor"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Ten certeza de que quere retirar o campo seleccionado?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Engadir campo"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF reproducindo:"
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Retirar campo"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Uso: deadbeef [opcións] [ficheiro(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opcións:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr " --help ou -h Mostrar a axuda (esta mensaxe) e saír\n"
+msgstr " --help ou -h Amosar a axuda (esta mensaxe) e saír\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Pechar o reprodutor\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
-msgstr " --version Mostrar a versión e saír\n"
+msgstr " --version Amosar a versión e saír\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Iniciar a reprodución\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Deter a reprodución\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pausar a reprodución\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Inverter a pausa\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Iniciar a reprodución se se detén, ou pola contra "
+"inverter a pausa\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Seguinte canción da lista de reprodución\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Canción anterior da lista de reprodución\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Canción ao chou da lista de reprodución\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
-msgstr " --queue Engadir ficheiro(s) á lista de reprodución existente\n"
+msgstr ""
+" --queue Engadir ficheiro(s) á lista de reprodución existente\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
-msgstr " --nowplaying FMT Mostrar o nome da pista formatado por stdout\n"
+msgstr " --nowplaying FMT Amosar o nome da pista formatado por stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1234,17 +1146,35 @@ msgstr ""
" l: Duración, n: Pista, y: Ano, c: Comentario,\n"
" r: Copyright, e: Tempo restante\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " e.g.: --nowplaying \"%%a - %%t\" mostraría \"artista - \"título\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr " e.g.: --nowplaying «%%a - %%t» amosaría: «interprete - "
+"título»\n"
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " para obter máis información, vexa http://sourceforge.n"
+"et/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
-#: ../playlist.c:377
-#: ../playlist.c:2289
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Predeterminado"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Si"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Non"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1252,7 +1182,15 @@ msgstr ""
"2.3 (recomendado)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Ascendente\n"
+"Descendente"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1262,7 +1200,7 @@ msgstr ""
"Pista\n"
"Álbum"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1271,24 +1209,24 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"Índice\n"
+"Índice de elementos\n"
"Reproducindo\n"
"Portada do álbum\n"
-"Artista - Álbum\n"
-"Artista\n"
+"Interprete - Álbum\n"
+"Interprete\n"
"Álbum\n"
"Título\n"
"Duración\n"
-"Pista\n"
-"Banda / Artista do álbum\n"
+"Número de pista\n"
+"Banda / Intreprete do álbum\n"
"Personalizado"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1296,16 +1234,21 @@ msgstr ""
"Esquerda\n"
"Dereita"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Non se atopou o ficheiro de imaxe: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: non se atopou o ficheiro de configuración de «freepats». Instale o paquete «timidity-freepats» ou especifique a ruta a «freepats.cfg» na configuración do engadido."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: non se atopou o ficheiro de configuración de «freepats». Instale o "
+"paquete «timidity-freepats» ou especifique a ruta a «freepats.cfg» na "
+"configuración do engadido."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1326,8 +1269,7 @@ msgstr "Utilizar unha nova mostraxe ALSA"
msgid "Release device while stopped"
msgstr "Liberar o dispositivo cando está detido:"
-#: ../translation/extra.c:8
-#: ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Tamaño preferido do búfer"
@@ -1356,167 +1298,554 @@ msgstr "Contrasinal"
msgid "Scrobble URL"
msgstr "URL de «Compartir escoitas»"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Ficheiro de dispositivo"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Solución de erros de mostraxe OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Período de actualización (hr)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Obter a partir das etiquetas"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Obter dun cartafol local"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Máscara de portada local"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Obter en Last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Obter en albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Cara máis longa das portadas a escala"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Usar CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Preferir CD-Text a CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB url (p.ex. «freedb.org»)"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
-msgstr "Número de porto CDDB (p.ex. «888»)"
+msgstr "Número do porto CDDB (p.ex. «888»)"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Preferir o protocolo CDDB ao HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Activar compatibilidade coas imaxes NRG"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Calidade de sobremostraxe (0..2, maior é mellor)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Duración máxima da canción (en minutos)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Pedir confirmación para eliminar ficheiros do disco"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Sensibilidade ao control de volume na icona de estado"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Icona de estado personalizada"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Executar gtk_init com --sync (modo de depuración)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Engadir separadores entre os engadidos nos elementos do menú contextual"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Formato de notificación"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Formato do título de notificación"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Formato do contido de notificación"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Amosar a portada"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Tamaño da portada (px)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "Servidor PulseAudio"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Taxa de mostraxe"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Ruta relativa da táboa de referencia"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Ruta absoluta da táboa de referencia"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Intercambio de bytes de son (cambie só se a escoita é estática)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "Activar HVSC"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Activar HVSC Songlength DB"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (para HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bits por mostra (8 ou 16)"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Ruta a HVSC"
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Duración predeterminada da canción (segs.)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Ficheiro de configuración do banco Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Título da pista"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Interprete"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Data"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Pista numero"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Total de pistas"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Xénero"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Compositor"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Número de disco"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Comentario"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Codificador / Provedor"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Dereitos de autor"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Lugar"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Índice de subpista"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tipo de etiqueta(s)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Folla de información incrustada"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Códec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Extensións de ficheiros (separadas por «;»)"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Converter"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Destino da mostraxe"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Calidade / Algoritmo"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Mostraxe automática (sobrescribe o destinos das mostraxes)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Este ficheiro xa existe. Quere sobrescribilo?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Aviso do convertedor"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Escolla o codificador"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Produciuse un erro no convertedor"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Convertendo"
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Seleccionar cartafol"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Produciuse un fallo ao gardar os axustes do codificador"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Comprobe os permisos predeterminados do cartafol, tente escoller outro "
+"título, ou liberar algo de espazo no disco"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Xa existe un axuste con este título. Tente escoller outro título."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Erro"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Engadir un novo codificador"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Editar o codificador"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Retirar o axuste"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Esta acción elimina o axuste seleccionado. Está vostede seguro?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Codificadores"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Engadir un «engadido» á cadea DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Non foi posíbel gardar o axuste DSP"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Novo axuste DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Editar o axuste DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Axustes DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Cartafol de saída:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Nome do ficheiro de saída:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"A extensión (p.ex. mp3) engadirase automaticamente.\n"
+"Deixar o campo baleiro de xeito predeterminado (%a -%t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Codificador"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Axuste DSP"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Número de fíos:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Formato da mostra de saída"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Manter o formato da orixe"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 bit asinados int"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 bit asinados int"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 bit asinados int"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 bit asinados int"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 bit flotantes"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Cando o ficheiro xa existe:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Preguntar"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Sobrescribir"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Preservar a estrutura de cartafoles, a partir de:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Editar os axustes do codificador"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Codificador sen título"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Extensión do ficheiro de saída:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "P.ex. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Liña de ordes:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Exemplo: lame - %o\n"
+"%i para o ficheiro de entrada, %o para o ficheiro de saída, - para a entrada "
+"estándar"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - nome do ficheiro de saída\n"
+"%i - nome do ficheiro temporal de entrada</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Método:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Canalización"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Ficheiro temporal"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Escritor de etiquetas</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Editor de axustes DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Axuste DSP sen título"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Gardar a lista de reprodución como"
+
+#~ msgid "_Abort"
+#~ msgstr "_Interromper"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Duración"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Conversións de formato (comezar con %):\n"
+#~ " a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
+#~ " n: Número de pista, N: Pistas totais,\n"
+#~ " l: Duración, y: Ano, g: Xénero, c: Comentario,\n"
+#~ " r: Copyright, f: Nome de ficheiro, F: Ruta absoluta T: Etiquetas\n"
+#~ " d: Directorio, D: Directorio con ruta\n"
+#~ "Exemplo: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Permitir o cambio dinámico de frecuencia"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Calidade de conversión de frecuencia:"
+
+#~ msgid "Description:"
+#~ msgstr "Descrición:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor(es)"
+
+#~ msgid "Email:"
+#~ msgstr "Correo-e:"
+
+#~ msgid "Website:"
+#~ msgstr "Sitio web:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Conversións de formato (comezar con %):\n"
+#~ " a: Artista, t: Título, b: Álbum, B: Banda, C: Compositor\n"
+#~ " n: Número de pista, N: Pistas totais,\n"
+#~ " l: Duración, y: Ano, g: Xénero, c: Comentario,\n"
+#~ " r: Copyright, f: Nome de ficheiro, T: Etiquetas\n"
+#~ "Exemplo: %a - %t [%l]\""
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Título / Intérprete"
+
+#~ msgid "Setup %s"
+#~ msgstr "Configurar %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Complemento de saída ALSA"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF reproducindo:"
+
+#~ msgid "HVSC path"
+#~ msgstr "Ruta a HVSC"
#~ msgid ""
#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
@@ -1524,36 +1853,48 @@ msgstr "Dereitos de autor"
#~ msgstr ""
#~ "<b>AVISO</b>: a edición de etiquetas aínda está en desenvolvemento.\n"
#~ " <b>Faga copias de seguranza</b> antes de usalo."
+
#~ msgid "Couldn't get enough memory for input buffering."
#~ msgstr "Non foi posíbel obter memoria abondo para o búfer de entrada."
+
#~ msgid "Error reading first page of Ogg bitstream."
#~ msgstr "Produciuse un erro ao ler a primeira páxina do fluxo de bits Ogg."
+
#~ msgid "Error reading initial header packet."
#~ msgstr "Produciuse un erro ao ler o paquete de cabeceira inicial."
+
#~ msgid "Couldn't get enough memory to register new stream serial number."
#~ msgstr ""
#~ "Non foi posíbel obter memoria abondo para rexistrar o número de serie dun "
#~ "novo fluxo."
+
#~ msgid "Input truncated or empty."
#~ msgstr "Entrada truncada ou baleira."
+
#~ msgid "Input is not an Ogg bitstream."
#~ msgstr "A entrada non é un fluxo de bits Ogg."
+
#~ msgid "Ogg bitstream does not contain Vorbis data."
#~ msgstr "O fluxo de bits Ogg non conten datos Vorbis."
+
#~ msgid "EOF before recognised stream."
#~ msgstr "Fin de ficheiro antes dun fluxo recoñecido."
+
#~ msgid "Ogg bitstream does not contain a supported data-type."
#~ msgstr "O fluxo de bits Ogg non conten un tipo de datos admitido."
+
#~ msgid "Corrupt secondary header."
#~ msgstr "Cabeceira secundaria danada."
+
#~ msgid "EOF before end of Vorbis headers."
#~ msgstr "Fin de ficheiro antes da fin das cabeceiras Vorbis."
+
#~ msgid "Corrupt or missing data, continuing..."
#~ msgstr "Datos danados ou incompletos, continuando..."
+
#~ msgid ""
#~ "Error writing stream to output. Output stream may be corrupted or "
#~ "truncated."
#~ msgstr ""
#~ "Produciuse un erro ao escribir o fluxo á saída. O fluxo de saída pode "
#~ "estar danado ou truncado."
-
diff --git a/po/he.po b/po/he.po
index 38743722..34db979a 100644
--- a/po/he.po
+++ b/po/he.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: DeaDBeeF\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2011-03-08 14:22+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-16 12:49+0200\n"
"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
"Language-Team: Gezer <sh.yaron@gmail.com>\n"
"Language: he\n"
@@ -21,154 +21,174 @@ msgstr ""
"X-Poedit-Country: ISRAEL\n"
"X-Poedit-SourceCharset: UTF-8\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "מבני השמע הנתמכים"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "קבצים אחרים (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "כל הקבצים (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "פתיחת קובץ/ים..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "הוספת קובץ/ים לרשימת ההשמעה..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "הוספת תיקייה/ות לרשימת ההשמעה..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "מעקב אחר קישורים סימבוליים"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "אירע כשל במהלך קריאת קובץ העזרה"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "אירע כשל בטעינת קובץ העזרה"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "עזרה"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "על אודות DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "יומן השינויים של DeaDBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "מתרגמי DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "עריכת רשימת ההשמעה"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "כותרת:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "שינוי שם רשימת ההשמעה"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "הסרת רשימת ההשמעה"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "הוספת רשימת השמעה חדשה"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "שמירת תצורת האקוולייזר של DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
-msgstr "קובץ תצורת אקוולייזר של DeaDBeeF ‏(*.ddbeq)"
+msgstr "קובץ תצורת אקוולייזר של DeaDBeeF ‏(‎*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "טעינת תצורת אקוולייזר של DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
-msgstr "תצורות אקוולייזר של DeaDBeeF"
+msgstr "תצורות אקוולייזר של DeaDBeeF ‏(‎*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "ייבוא קובץ תצורת אקוולייזר של Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
-msgstr "תצורות אקוולייזר של Foobar2000‏ (*.feq)"
+msgstr "תצורות אקוולייזר של Foobar2000‏ (‎*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "שמירת תצורה"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "טעינת תצורה"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "ייבוא תצורה של Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "הפעלה"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "הכל אפס"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "איפוס מגבר קדם"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "איפוס הערוצים"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "שמירת תצורה"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "טעינת תצורה"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "ייבוא תצורה של Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "תצורות"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "יום אחד %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d ימים %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "נעצר | %d רצועות | %s סך כל זמן הנגינה"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "מונו"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "סטריאו"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
-msgstr "| %4d קסל\"ש "
+msgstr "| %4d קסל״ש "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "מושהה |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
@@ -176,678 +196,724 @@ msgstr ""
"%s%s %s| %d הרץ | %d סיביות | %s | %d:%02d / %s | %d רצועות | %s סך כל זמן "
"הנגינה"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "שמירת רשימת ההשמעה בשם"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "קובצי רשימת השמעה של DeaDBeeF‏ (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "טעינת רשימת השמעה"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "קבצים אחרים (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "רשימת השמעה חדשה"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "רשימת השמעה חדשה (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_קובץ"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_פתיחת קובץ/ים"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "הוספת קובץ/ים"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "הוספת תיקייה/ות"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "הוספת מיקום"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "רשימת השמעה חדשה"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "טעינת רשימת השמעה"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "שמירת רשימת השמעה"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "שמירת רשימת השמעה בשם"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "י_ציאה"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "ע_ריכה"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_מחיקה"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "בחירת הכל"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "ביטול בחירת הכול"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "הפיכת הבחירה"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "בחירה"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "הסרה"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "חיתוך"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_חיפוש"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "סידור לפי"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "כותרת"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "מספר הרצועה"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "אלבום"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "אומן"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "תאריך"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "מותאם אישית"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "העדפות"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_תצוגה"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "שורת מצב"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "כותרות העמודות"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "לשוניות"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "אקוולייזר"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "ה_שמעה"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "סדר"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "קווי"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "ערבול"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "ערבול בין הרצועות"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "ערבול בין האלבומים"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "אקראי"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "נגינה בלולאה"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "לולאה על הכול"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "לולאה על שיר בודד"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "ללא לולאה"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "הגלילה עוקבת אחר ההשמעה"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "הסמן עוקב אחר ההשמעה"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "עצירה לאחר הנוכחי"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "מעבר לרצועה הנוכחית"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "ע_זרה"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "יומן _שינויים"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "על _אודות"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "מ_תרגמים"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "חיפוש"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "עצירה"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "נגינה"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "השהיה"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "הקודם"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "הבא"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "נגינה אקראית"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "על אודות"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "יציאה"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "מתבצעת הוספת קבצים..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_ביטול"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "מאפייני הרצועה"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>אזהרה</b>: תכונת כתיבת התגיות נמצאת עדיין בפיתוח.\n"
-"<b>יש ליצור עותקי גיבוי</b> בטרם השימוש."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "הגדרות"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "ה_חלה"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_סגירה"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "נתוני על"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "מאפיינים"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "כותרת:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "יש להזין את הכותרת החדשה כאן"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "סוג:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "מספר הקובץ"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "אינדקס הפריט"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "מתנגן"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "עטיפת האלבום"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "אומן – אלבום"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "אומן"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "אלבום"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "כותרת"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "משך"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "רצועה"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "רצועה מספר"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "להקה / אומן האלבום"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "מותאם אישית"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "מבנה:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "יישור:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "שמאל"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "ימין"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"המרות בעיצוב (מתחילות ב־%):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks\n"
-" [l]ength, [y]ear, [g]enre, [c]omment\n"
-" copy[r]ight, [f]ilename, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"דוגמה: %a‏ - %t‏ [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_ביטול"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_אישור"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "תוסף פלט:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "התקן הפלט:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "תמיד להמיר שמע של 8 סיביות ל־16 סיביות"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "שמע"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "הפעלת החלפת קצב דגימה דינמי"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "איכות החלפת קצב הדגימה:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "מצב הגברת נגינה חוזרת:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "לא פעיל"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "רצועה"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "מידת הגברת הנגינה החוזרת"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "הגברת נגינה חוזרת:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "הגברת נגינה כללית:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "הוספת קבצים משורת הפקודה (או ממנהל הקבצים) לרשימת ההשמעה:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "המשך ההפעלה הקודמת עם התחלת התכנית"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "אין להוסיף מארכיונים בעת הוספת תיקיות"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "השמעה"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "הגדרה"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "תצורת שרשרת DSP"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_טעינה"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "סגירה ממזערת לאזור המערכת"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "לחצן אמצעי סוגר את רשימת ההשמעה"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "הסתרת הסמל באזור הדיווחים"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "שימוש בגופן מודגש עבור הרצועה המתנגנת כעת"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "הסתרת פריט ההקשר \"מחיקה מהכונן\""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "מתן שם אוטומטית לרשימות השמעה בעת הוספת תיקייה בודדת"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "קצב רענון המנשק (פעמים בשנייה):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "טקסט הכותרת בעת ההשמעה:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "טקסט הכותרת בעת עצירה:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "תוסף מנשק משתמש (שינויים דורשים הפעלה מחדש):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "מנשק משתמש"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "דריסה"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "קידמה"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "רקע"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "צבעי פס גלילת ההשמעה/פס עוצמת השמע"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "בינוני"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "בהיר"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "כהה"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "בסיסי"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "טקסט"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "צבעי ראשי הלשוניות"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "דריסה (רכיבי העיצוב של ה־GTK יאבדו אך העיבוד יהיה מהיר יותר)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "שורה זוגית"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "שורה אי־זוגית"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "טקסט"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "שורה נבחרת"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "טקסט שנבחר"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "סמן"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "צבעי רשימת ההשמעה"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "צבעים"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "הפעלת שרת מתווך"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "כתובת שרת התיווך:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "פתחת שרת התיווך:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "סוג שרת התיווך:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "שם המשתמש במתווך:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "הססמה במתווך:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "רשת"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "גרסה:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "זכויות יוצרים"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "תוספים"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "כתובת:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "קיבוץ לפי"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "סידור לפי..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "מבנה"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "סדר עולה"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "סדר יורד"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "בחירת תוסף DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "תוסף"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "הגדרות כותב התגיות"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "כתיבת ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "כתיבת ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "כתיבת APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "הסרת ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "הסרת ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "הסרת APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "גרסת ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (מומלץ)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
-msgstr "קידוד התווים של ID3v1 (ברירת המחדל היא iso8859-1)"
+msgstr "קידוד התווים של ID3v1 (בררת המחדל היא iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "כתיבת ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "כותב תגיות"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "תיאור:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "מחבר/ים:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "דוא\"ל:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "אתר:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "הגדרה"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "תוספים"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "כתובת:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "קיבוץ לפי"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"המרות בעיצוב (מתחילות ב־%):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer track[n]umber, [N]"
-"totaltracks, [l]ength, [y]ear, [g]enre, [c]omment, copy[r]ight, [f]"
-"ilename, [T]agsדוגמה: %a‏ - %t‏ [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "אומן / אלבום"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "רצועה מספר"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "אמן הרצועה / כותרת"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "משך"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "מחיקת הקובץ מהכונן"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -855,195 +921,220 @@ msgstr ""
"הקבצים יאבדו. להמשיך?\n"
"(ניתן לכבות תיבת דו־שיח זו בהגדרות התוסף GTKUI)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "אזהרה"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "הוספה לתור ההשמעה"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "הסרה מתור ההשמעה"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "טעינת נתוני העל מחדש"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "הסרה מהכונן"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "הוספת עמודה"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "עריכת עמודה"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "הסרת עמודה"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "קיבוץ לפי"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "ללא"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "אומן/תאריך/אלבום"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "פתיחת קובץ..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr "הגדרת %s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "התקן השמע כברירת מחדל"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "הוספה"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "מקשי קיצור גלובליים"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "חריץ"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "צירוף מקשים"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "תוסף הפלט ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "מתבצעת הוספת קבצים..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "בהפעלה..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "השתנו נתונים ברצועה זו."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "האם באמת לסגור את החלון?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "סוג/י התגים"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[ערכים מרובים]"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "רשימת Cue מוטמעת"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "כן"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "לא"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "קודק"
-
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "מפתח"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "ערך"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF מנגן כעת"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "התגיות נכתבות..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "שם:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "שמות השדות לא יכולים להתחיל בתווים : או _"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "לא ניתן להוסיף שדה"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "שדה בשם זה כבר קיים, נא לנסות שם אחר."
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "האם אכן להסיר את השדה הנבחר?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "הוספת שדה"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "הסרת שדה"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Usage: deadbeef [options] [file(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Options:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Print help (this message) and exit\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Quit player\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Print version info and exit\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Start playback\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Stop playback\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pause playback\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Toggle pause\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Next song in playlist\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Previous song in playlist\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Random song in playlist\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Append file(s) to existing playlist\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Print formatted track name to stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1054,7 +1145,7 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1063,11 +1154,28 @@ msgstr ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
-msgstr "ברירת מחדל"
+msgstr "בררת מחדל"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "כן"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "לא"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1075,33 +1183,51 @@ msgstr ""
"2.3 (מומלץ)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"סדר עולה\n"
+"סדר יורד"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
"נטרול\n"
-"רצועהאלבום"
+"רצועה\n"
+"אלבום"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"מספר הקובץ\n"
-"מתנגןעטיפת האלבוםאמן - אלבוםאמןאלבוםכותרתמשךרצועהלהקה / אמן האלבוםמותאם אישית"
-
-#: ../plugins/gtkui/deadbeef.glade.h:71
+"אינדקס הפריט\n"
+"מתנגן\n"
+"עטיפת האלבום\n"
+"אמן - אלבום\n"
+"אמן\n"
+"אלבום\n"
+"כותרת\n"
+"משך\n"
+"מס׳ הרצועה\n"
+"להקה / אמן האלבום\n"
+"מותאם אישית"
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1110,74 +1236,691 @@ msgstr ""
"ימין"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "לא ניתן למצוא את קובץ ה־pixmap:‏ %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "לא ניתן לקבל מספיק זיכרון לצורך אגירת הקלט."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: קובץ התצורה של freepats. נא להתקין את החבילהtimidity-freepats, או "
+"לציין את הנתיב אל freepats.cfg בהגדרות התוסף."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "הוספת תקליטור שמע"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "חיפוש ב־Last.fm"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "שימוש בדגימה חוזרת של ALSA"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "שחרור ההתקן בעת עצירה"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "גודל האוגר המועדף"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "משך הזמן המועדף"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "הפעלת Scrobbler"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "נטרול „מתנגן כעת“"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "שם משתמש"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "ססמה"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "הכתובת של Scrobble"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "קובץ ההתקן"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "מעקף לתקלת קצב הדגימה ב־OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "ההפרש בין מועדי עדכון המטמון (שעות)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "קבלה מתגיות מובנות"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "קבלה מתיקייה מקומית"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "מסכת קבצים של עטיפות מקומיות"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "קבלה מ־Last.fm"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "קבלה מ־albumart.org"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "מתיחת העטיפה לעבר הצד הארוך יותר"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "שימוש ב־CDDB/FreeDB"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "העדפת CD-Text על פני CDDB"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "כתובת ה־CDDB (לדוגמה: 'freedb.org')"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "מס׳ הפתחה של ה־CDDB (לדוגמה: '888')"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "העדפת הפרוטוקול CDDB על פני HTTP"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "הפעלת תמיכה בתמונות NRG"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "איכות הדגימה החוזרת (0..2, גבוה יותר - איכותי יותר)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "אורך השיר המרבי (בדקות)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "בקשת אישור למחיקת קבצים מהכונן"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "רגישות בקרת העצמה דרך סמל המצב"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "סמל מצב מותאם אישית"
+
+# אם המחרוזת הזאת מופיעה במסוף והתבלבלתי נא להעתיק את המחרוזת המקורית לתרגום
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "הפעלת gtk_init עם הפרמטר ‎--sync (מצב ניפוי שגיאות)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "הוספת הפרדה בין פריטי תפריט ההקשר של התוסף"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "מבנה כותרת ההתרעה"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "מבנה תוכן ההתרעה"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "הצגת עטיפת האלבום"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "גודל עטיפת האלבום (פיקסלים)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "שרת PulseAudio"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "קצב דגימה"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "נתיב טבלת חיפוש יחסי"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "נתיב טבלת חיפוש מוחלט"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "החלפת בתים של שמע (יש להחליף מצב אם שומעים רעש סטטי)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "הפעלת מסד נתונים של אורך שירים - HVSC"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (מהשירות HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "סיביות לדגימה (8 או 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "אורך שיר כברירת מחדל (שניות)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "קובץ מאגר התצורה של Timidity++‎"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "כותרת הרצועה"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "מבצע/ת"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "סך כל הרצועות"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "סגנון"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "מלחין/ה"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "דיסק מספר"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "הערה"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "קידוד / יצור"
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "מיקום"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "אינדקס תת־הרצועה"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "סוג/י התגים"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "רשימת Cue מוטמעת"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "קודק"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "ארעה שגיאה בעת קריאת העמוד הראשון של תזרים הסיביות מסוג Ogg."
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "סיומות קבצים (יש להפריד ב־';')"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "ארעה שגיאה בקריאת מנת הכותרת ההתחלתית."
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "המרה"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "לא ניתן לקבל מספיק זיכרון כדי לרשום את המספר הסידורי של התזרים החדש."
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "קצב דגימת היעד"
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "הקלט קטוע או ריק."
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "איכות / אלגוריתם"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "הקלט אינו תזרים סיביות מסוג Ogg."
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "קצב דגימה אוטומטי (דורס את קצב דגימת היעד)"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "תזרים הסיביות מסוג Ogg אין מכיל נתוני Vorbis."
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "הקובץ כבר קיים. האם לשכתב?"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "EOF לפני תזרים מוכר."
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "אזהרה מהממיר"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "תזרים הסיביות מסוג Ogg אינו מכיל טיפוס נתונים נתמך."
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "נא לבחור מצפין"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "כותרת משנית פגומה."
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "שגיאת ממיר"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "EOF (סוף הקובץ) בטרם סוף כותרות ה־Vorbis."
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "בהמרה..."
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "נתונים פגומים או חסרים, ממשיך..."
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "בחירת תיקייה..."
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "אירע כשל בשמירת ערכת ההצפנה"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
-msgstr "ארעה שגיאה בכתיבת התזרים לפלט. תזרים הפלט פגום או קטוע."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"נא לבדוק את הרשאות תיקיית התצורות, יש לנסות לבחור בכותרת אחרת או לפנות קצת "
+"מקום בכונן"
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "תצורה באותו השם כבר קיימת. נא לנסות לבחור בשם אחר."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "שגיאה"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "הוספת מצפין חדש"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "עריכת מצפין"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "הסרת תצורה"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "הפעולה תמחק את התצורה הנבחרת. האם לעשות זאת?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "מצפינים"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "הוספת התוסף לשרשרת ה־DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "שמירת תצורת ה־DSP נכשלה"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "תצורת DSP חדשה"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "עריכת תצורת DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "תצורות DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "תיקיית הפלט:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "שם קובץ הפלט:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"סיומות (לדוגמה: .mp3) יתווספו אוטומטית.\n"
+"יש להשאיר את השדה ריק לקבלת שם בררת המחדל ‎(%a - %t)‎."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "מצפין:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "תצורת DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "מספר התהליכים:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "מבנה דגימת הפלט:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "שמירה על מבנה המקור"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "מספר שלם עם סימן ב־8 סיביות"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "מספר שלם עם סימן ב־16 סיביות"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "מספר שלם עם סימן ב־24 סיביות"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "מספר שלם עם סימן ב־32 סיביות"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "מספר עם נקודה צפה ב־32 סיביות"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "כאשר הקובץ קיים:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "הצגת בקשה"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "שכתוב"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "שמירת מבנה התיקיות, החל מ־:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "עריכת תצורת המצפין"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "מצפין ללא שם"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "סיומת קובץ הפלט:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "לדוגמה: mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "שורת הפקודה:"
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
msgstr ""
-"wildmidi: קובץ התצורה של freepats. נא להתקין את החבילהtimidity-freepats, או "
-"לציין את הנתיב אל freepats.cfg בהגדרות התוסף."
+"לדוגמה: lame - %o\n"
+"%i לציון קובץ קלט, %o לציון קובץ קלט, - עבור הקלט מ־stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - שם קובץ הפלט\n"
+"%i - השם הזמני לקובץ הקלט</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "שיטה:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "שרשור"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "קובץ זמני"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>כותב תגיות</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "ערוך תצורות DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "תצורת DSP ללא שם"
+
+#~ msgid "Save playlist as"
+#~ msgstr "שמירת רשימת השמעה בשם"
+
+#, fuzzy
+#~ msgid "Shuffle"
+#~ msgstr "ערבול בין הרצועות"
+
+#~ msgid "_Abort"
+#~ msgstr "_ביטול"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>אזהרה</b>: תכונת כתיבת התגיות נמצאת עדיין בפיתוח.\n"
+#~ "<b>יש ליצור עותקי גיבוי</b> בטרם השימוש."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#, fuzzy
+#~ msgid "File number"
+#~ msgstr "תקליטור מס׳"
+
+#~ msgid "Length"
+#~ msgstr "משך"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "המרות בעיצוב (מתחילות ב־%):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment\n"
+#~ " copy[r]ight, [f]ilename, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "דוגמה: %a‏ - %t‏ [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "הפעלת החלפת קצב דגימה דינמי"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "איכות החלפת קצב הדגימה:"
+
+#~ msgid "Description:"
+#~ msgstr "תיאור:"
+
+#~ msgid "Author(s):"
+#~ msgstr "מחבר/ים:"
-#~ msgid "Add Audio CD"
-#~ msgstr "הוספת תקליטור שמע"
+#~ msgid "Email:"
+#~ msgstr "דוא\"ל:"
+
+#~ msgid "Website:"
+#~ msgstr "אתר:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "המרות בעיצוב (מתחילות ב־%):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer track[n]umber, [N]"
+#~ "totaltracks, [l]ength, [y]ear, [g]enre, [c]omment, copy[r]ight, [f]"
+#~ "ilename, [T]agsדוגמה: %a‏ - %t‏ [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "הגדרת %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "תוסף הפלט ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "לא ניתן לקבל מספיק זיכרון לצורך אגירת הקלט."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "ארעה שגיאה בעת קריאת העמוד הראשון של תזרים הסיביות מסוג Ogg."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "ארעה שגיאה בקריאת מנת הכותרת ההתחלתית."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "לא ניתן לקבל מספיק זיכרון כדי לרשום את המספר הסידורי של התזרים החדש."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "הקלט קטוע או ריק."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "הקלט אינו תזרים סיביות מסוג Ogg."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "תזרים הסיביות מסוג Ogg אין מכיל נתוני Vorbis."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "EOF לפני תזרים מוכר."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "תזרים הסיביות מסוג Ogg אינו מכיל טיפוס נתונים נתמך."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "כותרת משנית פגומה."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "EOF (סוף הקובץ) בטרם סוף כותרות ה־Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "נתונים פגומים או חסרים, ממשיך..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr "ארעה שגיאה בכתיבת התזרים לפלט. תזרים הפלט פגום או קטוע."
#~ msgid "Sound (adv.)"
#~ msgstr "שמע (מתקדם)"
+
+#~ msgid ""
+#~ "Keep source format\n"
+#~ "8 bit signed int\n"
+#~ "16 bit signed int\n"
+#~ "24 bit signed int\n"
+#~ "32 bit signed int\n"
+#~ "32 bit float"
+#~ msgstr ""
+#~ "שמירה על מבנה המקור\n"
+#~ "מספר שלם עם סימן ב־8 סיביות\n"
+#~ "מספר שלם עם סימן ב־16 סיביות\n"
+#~ "מספר שלם עם סימן ב־24 סיביות\n"
+#~ "מספר שלם עם סימן ב־32 סיביות\n"
+#~ "מספר עם נקודה צפה ב־32 סיביות"
+
+#~ msgid ""
+#~ "Pipe\n"
+#~ "Temporary file"
+#~ msgstr ""
+#~ "שרשור\n"
+#~ "קובץ זמני"
+
+#~ msgid ""
+#~ "Prompt\n"
+#~ "Overwrite"
+#~ msgstr ""
+#~ "הצגת בקשה\n"
+#~ "שכתוב"
diff --git a/po/hr.po b/po/hr.po
index b0816768..c87eead7 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2011-02-23 01:22+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-20 15:45+0200\n"
"Last-Translator: zvacet <ikoli@yahoo.com>\n"
"Language-Team: Croatian <>\n"
"Language: hr\n"
@@ -19,154 +19,174 @@ msgstr ""
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Podržani zvučni formati"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Ostale datoteke (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Sve datoteke (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Otvori datoteku(e)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Dodaj datoteku(e) na listu izvođenja..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Dodaj mapu(e) na listu izvođenja..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Slijedi simboličke poveznice"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Neuspjeh tijekom čitanja datoteke pomoći"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Neuspjeh u učitavanju datoteke pomoći"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Pomoć"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "O DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr ""
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF prevoditelji"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Uredi listu izvođenja"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Naslov:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Preimenuj listu izvođenja"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Ukloni listu izvođenja"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Dodaj novu listu izvođenja"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr ""
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr ""
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Spremi unaprijed postavljeno"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Učitaj unaprijed postavljeno"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Omogući"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Nula sve"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr ""
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr ""
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Spremi unaprijed postavljeno"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Učitaj unaprijed postavljeno"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Unaprijed postavljeno"
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr ""
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
-msgstr ""
+msgstr "1 dan %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
-msgstr ""
+msgstr "%d dana %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Zustavljeno | %d zapisi| %s ukupno vrijeme sviranja"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
-msgstr ""
+msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pauzirano | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
@@ -174,667 +194,726 @@ msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d zapisi | %s ukupno vrijeme "
"sviranja"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Spremi listu izvođenja kao"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF datoteke liste izvođenja (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Učitaj listu izvođenja"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Ostale datoteke (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nova lista izvođenja"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nova lista izvođenja (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Datoteka"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Otvori datoteku(e)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Dodaj datoteku(e)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Dodaj mapu(e)"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Dodaj lokaciju"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nova lista izvođenja"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Učitaj listu izvođenja"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Spremi listu izvođenja"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Spremi listu izvođenja kao"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Iskjluči"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Uredi"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Očisti"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Odaberi sve"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Poništi odabrano"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Obrnuti odabir"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Odabir"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Ukloni"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr ""
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Nađi"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Posloži po"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Naslov"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Broj zapisa"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Umjetnik"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Datum"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Prolagođeno"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Svojstva"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Pogled"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Statusna traka"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Zaglavlja stupaca"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Kartice"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ujednačivač"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Reprodukcija"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Redoslijed"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linearni"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
msgstr ""
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Nasumično"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr ""
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr ""
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr ""
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr ""
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Klizač slijedi reprodukciju"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Pokazivač slijedi reprodukciju"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Stop nakon trenutne"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Skoči na trenutni zapis"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Pomoć"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr ""
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_O programu"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Traži"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Stop"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Sviraj"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pauza"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Prethodno"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Slijedeće"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Sviraj nasumično"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "O programu"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Isključi"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Dodavanje datoteka..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Prekini"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Svojstva zapisa"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Postavke"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Primjeni"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Zatvori"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr ""
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Svojstva"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Naslov:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Unesi naziv novog stupca"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tip:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Broj datoteke"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Svira"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
-msgstr ""
+msgstr "Album Umjetnik"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Umjetnik _ album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Umjetnik"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Naslov"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Dužina"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Trajanje"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Zapis"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Broj zapisa"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Grupa / album umjetnik"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Prolagođeno"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Poravnanje:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Lijevo"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Desno"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Odustani"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Izlazni priključak:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Izlazni uređaj:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Uvijek pretvori 8 bit audio u 16 bit"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Zvuk"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Onemogući"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Zapis"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Dodaj datoteke iz naredbanog retka (ili upravljača datotekama) na uvu listu "
"izvođenja:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Reprodukcija"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Konfiguriraj"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Učitaj"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Srednje dugme miša zatvara listu izvođenja"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
-msgstr ""
+msgstr "Koristi podebljani font za zapis koji trenutno svira"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Tekst naslovne trake dok svira:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Tekst naslovne trake kad je zaustavljeno:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Grafičko sučelje"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Pozadina"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Srednje"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Svijetlo"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Tamno"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Tekst"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Tekst"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Odabrani red"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Odabrani tekst"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Pokazivač"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Boje liste izvođenja"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Boje"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Omogući proxy poslužitelj"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adresa proxy poslužitelja:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
-msgstr ""
+msgstr "Port proxy poslužitelja:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
-msgstr ""
+msgstr "Vrsta proxy-a:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Proxy korisničko ime:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Proxy lozinka:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Mreža"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Verzija: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Autorska prava"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Priključci"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Grupiraj po"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Poredaj po..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Format"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Odaberi DSP priključak"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Priključak"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Piši ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Piši ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Piši APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 verzija"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (preporučeno)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr ""
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Opis:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Autor(i):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Web stranica:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Konfiguriraj"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Priključci"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Grupiraj po"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Umjetnik / album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Broj zapisa"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Naslov/ zapis umjetnik"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Trajanje"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Izbriši datoteke sa diska"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -842,195 +921,219 @@ msgstr ""
"Datoteke će biti izgubljene. Nastavi?\n"
"(Ovaj dijalog može biti iskjlučen u GTKUI postavkama prikjlučaka)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Upozorenje"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Ukloni sa diska"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Dodaj stupac"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Uredi stupac"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Ukloni stupac"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Grupiraj po"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Ništa"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Umjetnik/datum/album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Otvori datoteku..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Postavi %s"
+msgid "Configure %s"
+msgstr "Konfiguriraj %s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Zadani audio uređaj"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Dodaj"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA izlazni priključak"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Dodavanje datoteka..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Stvarno zatvoriti prozor?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Da"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Ne"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Vrijednost"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr ""
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Ime:"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr ""
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Imena polja ne smiju započinjati sa : ili _"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Ne mogu dodati polje"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Polje sa tim imenom već postoji,molim pokušajte s drugim imenom."
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Stvarno ukloniti odabrana polje?"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF sada svira"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Dodaj polje"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Ukloni polje"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr ""
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opcije:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Ispisuje pomoć (ova poruka) i izlazi\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Isključi svirač\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Ispis info verzije i izlaz\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Početak reprodukcije\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Zaustavlja reprodukciju\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Zaustavlja reprodukciju\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Slijedaća pjesma na listi izvođenja\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Prethodna pjesma na listi izvođenja\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random nasumična pjesma na listi izvođenja\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1038,19 +1141,35 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
-msgstr " e.g.: sada svira \"%%a - %%t\" treba ispisati \"umjetnik "
-"- naslov\"\n"
+msgstr ""
+" e.g.: sada svira \"%%a - %%t\" treba ispisati "
+"\"umjetnik - naslov\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Zadano"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Da"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ne"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1058,29 +1177,46 @@ msgstr ""
"2.3 (preporučeno)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
+"Indeks stavke\n"
+"Svira\n"
+"Album Umjet\n"
+"Umjetnik-Album\n"
+"Umjetnik\n"
+"Album\n"
+"Naslov\n"
+"Trajanje\n"
+"Broj zapisa\n"
+"Grupa / Album Umjetnik\n"
+"Prilagođeno"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1089,72 +1225,552 @@ msgstr ""
"Desno"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Dodaj audio CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Oslobodi uređaj kada se zaustavi"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Onemogući sada svira"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Korisničko ime"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Lozinka"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Pitaj za potvrdu za brisanje datoteka sa diska"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Naslov zapisa"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Izvođač"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Ukupno zapisa"
+
+#: ../translation/extra.c:73
+msgid "Genre"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:74
+msgid "Composer"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Broj diska"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Komentar"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Lokacija"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Kodek"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Proširenja datoteke (odvojeno pomoću ';')"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Pretvori"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Odaberi mapu..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Greška"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Ukloni unaprijed postavljeno"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP unaprijed postavljeno"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Izlazna mapa:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Ime izlazne datoteke:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP unaprijed postavljeno:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr ""
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Proširenje izlazne datoteke:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Naredbeni redak:"
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Metoda:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Privremena datoteka"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "Dodaj audio CD"
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Spremi listu izvođenja kao"
+
+#~ msgid "_Abort"
+#~ msgstr "_Prekini"
+
+#~ msgid "Length"
+#~ msgstr "Dužina"
+
+#~ msgid "Description:"
+#~ msgstr "Opis:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor(i):"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Web stranica:"
+
+#~ msgid "Setup %s"
+#~ msgstr "Postavi %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA izlazni priključak"
#~ msgid "Sound (adv.)"
#~ msgstr "Zvuk (nap)"
diff --git a/po/hu.po b/po/hu.po
index 5e180232..96871dad 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,1008 +7,923 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef 0.4.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-31 21:57+0100\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-11-10 19:45+0100\n"
"Last-Translator: Peter Polonkai <polesz@nedudu.hu>\n"
"Language-Team: ned <polesz@nedudu.hu>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Hungarian\n"
"X-Poedit-Country: HUNGARY\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Támogatott hang formátumok"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Egyéb fájlok (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Fájl(ok) megnyitása..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Fájl(ok) hozzáadása a lejátszólistához..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Könyvtár(ak) hozzáadása a lejátszólistához..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Szimlinkek követése"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Súgó fájl olvasása sikertelen"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Súgó fájl betöltése sikertelen"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693
-#: ../plugins/gtkui/interface.c:1099
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Súgó"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "DeaDBeeF %s névjegye"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s Változás napló"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "DeaDBeeF Fordítók"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Lejátszólista szerkesztése"
-#: ../plugins/gtkui/ddbtabstrip.c:675
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Cím:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Lejátszólista átnevezése"
-#: ../plugins/gtkui/ddbtabstrip.c:679
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Lejátszólista törlése"
-#: ../plugins/gtkui/ddbtabstrip.c:683
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Új lejátszólista hozzáadása"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "DeaDBeeF EQ Hangszín mentése"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ hangszín fájlok (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "DeaDBeeF EQ Hangszín betöltése..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ hangszínek (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Foobar2000 EQ Hangszín importálása..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ hangszínek (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Hangszín mentés"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Hangszín betöltés"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Foobar2000 Hangszín betöltése"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Engedélyezve"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Mind nulla"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Preamp nulla"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Sávok nulla"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Hangszín mentés"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Hangszín betöltés"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Foobar2000 Hangszín betöltése"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 nap %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d nap %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Megállítva | %d sáv | %s teljes lejátszási idő"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Monó"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Sztereó"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Szünet |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d sáv | %s teljes lejátszási idő"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d sáv | %s teljes lejátszási "
+"idő"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Lejátszólista mentése másként"
-#: ../plugins/gtkui/gtkui.c:670
-#: ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeadBeeF lejátszólista fájlok (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Lejátszólista betöltése"
-#: ../plugins/gtkui/gtkui.c:865
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Egyéb fájlok (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Új lejátszólista"
-#: ../plugins/gtkui/gtkui.c:868
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Új lejátszólista (%d)"
-#: ../plugins/gtkui/interface.c:142
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Fájl"
-#: ../plugins/gtkui/interface.c:149
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Fájl(ok) megnyitása"
-#: ../plugins/gtkui/interface.c:165
-#: ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Fájl(ok) hozzáadása"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Könyvtár(ak) hozzáadása"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/interface.c:2973
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Hely hozzáadása"
-#: ../plugins/gtkui/interface.c:190
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Új lejátszólista"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Lejátszólista betöltése"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Lejátszólista mentése"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Lejátszólista mentése másként"
-
-#: ../plugins/gtkui/interface.c:214
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Kilépés"
-#: ../plugins/gtkui/interface.c:225
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "Sz_erkesztés"
-#: ../plugins/gtkui/interface.c:232
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Törlés"
-#: ../plugins/gtkui/interface.c:240
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Mind kiválaszt"
-#: ../plugins/gtkui/interface.c:247
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Minden kiválasztást megszüntet"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Kiválasztás megfordítása"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Választás"
-#: ../plugins/gtkui/interface.c:265
-#: ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Eltávolítás"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Vágás"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Keresés"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/interface.c:1707
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Cím"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Sáv száma"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Előadó"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Dátum"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Egyéb"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Beállítások"
-#: ../plugins/gtkui/interface.c:293
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Nézet"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Státusz sor"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Oszlop fejlécek"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Fülek"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Hangszínszabályzó"
-#: ../plugins/gtkui/interface.c:316
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Lejátszás"
-#: ../plugins/gtkui/interface.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Sorrend"
-#: ../plugins/gtkui/interface.c:330
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Lineáris"
-#: ../plugins/gtkui/interface.c:336
-#: ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
msgstr "Kevert"
-#: ../plugins/gtkui/interface.c:342
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
+msgstr "Kevert"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Véletlenszerű"
-#: ../plugins/gtkui/interface.c:348
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Ismétlés"
-#: ../plugins/gtkui/interface.c:355
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Mind ismétlése"
-#: ../plugins/gtkui/interface.c:361
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Egyedi dal ismétlése"
-#: ../plugins/gtkui/interface.c:367
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Nincs ismétlés"
-#: ../plugins/gtkui/interface.c:373
-#: ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "A lapozás követi a lejátszást"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "A kurzor követi a lejátszást"
-#: ../plugins/gtkui/interface.c:382
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Az aktuális szám után megállít"
-#: ../plugins/gtkui/interface.c:394
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Ugrás az aktuális számra"
-#: ../plugins/gtkui/interface.c:401
-#: ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Súgó"
-#: ../plugins/gtkui/interface.c:416
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Változás napló"
-#: ../plugins/gtkui/interface.c:425
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438
-#: ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Névjegy"
-#: ../plugins/gtkui/interface.c:446
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "Fordí_tók"
-#: ../plugins/gtkui/interface.c:836
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Keresés"
-#: ../plugins/gtkui/interface.c:911
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Megállítás"
-#: ../plugins/gtkui/interface.c:919
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Lejátszás"
-#: ../plugins/gtkui/interface.c:927
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Szünet"
-#: ../plugins/gtkui/interface.c:935
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Előző"
-#: ../plugins/gtkui/interface.c:943
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Következő"
-#: ../plugins/gtkui/interface.c:951
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Véletlenszerű lejátszás"
-#: ../plugins/gtkui/interface.c:960
-#: ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Névjegy"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Kilépés"
-#: ../plugins/gtkui/interface.c:1041
-#: ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Fájlok hzzáadása..."
-
-#: ../plugins/gtkui/interface.c:1163
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Sáv Tulajdonságok"
-#: ../plugins/gtkui/interface.c:1209
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Alkalmaz"
-#: ../plugins/gtkui/interface.c:1230
-#: ../plugins/gtkui/interface.c:1276
-#: ../plugins/gtkui/interface.c:2501
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Bezár"
-#: ../plugins/gtkui/interface.c:1234
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metaadat"
-#: ../plugins/gtkui/interface.c:1280
-#: ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Tulajdonságok"
-#: ../plugins/gtkui/interface.c:1365
-#: ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1380
-#: ../plugins/gtkui/interface.c:2873
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Cím:"
-
-#: ../plugins/gtkui/interface.c:1388
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Adja meg a fejléc új címét"
-#: ../plugins/gtkui/interface.c:1396
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Típus"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Elem index"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1405
-#: ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Lejátszás"
-#: ../plugins/gtkui/interface.c:1406
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Album kép"
-#: ../plugins/gtkui/interface.c:1407
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Előadó - Album"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1408
-#: ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Előadó"
-
-#: ../plugins/gtkui/interface.c:1409
-#: ../plugins/gtkui/interface.c:1797
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1410
-#: ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Cím"
-
-#: ../plugins/gtkui/interface.c:1411
-msgid "Length"
-msgstr "Hossz"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Időtartam"
-#: ../plugins/gtkui/interface.c:1412
-#: ../plugins/gtkui/interface.c:1796
-msgid "Track"
-msgstr "Sáv"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Sáv száma"
-#: ../plugins/gtkui/interface.c:1413
-#: ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Zenekar / Album előadó"
-#: ../plugins/gtkui/interface.c:1414
-#: ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Egyéb"
-
-#: ../plugins/gtkui/interface.c:1420
-#: ../plugins/gtkui/interface.c:3100
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formátum"
-#: ../plugins/gtkui/interface.c:1435
-#: ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Igazítás"
-#: ../plugins/gtkui/interface.c:1443
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Balra"
-#: ../plugins/gtkui/interface.c:1444
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Jobbra"
-#: ../plugins/gtkui/interface.c:1446
-#: ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formátum konverziók (kezdő %):\n"
-" [a]előadó, [t]cím, al[b]um, [B]zenekar, [C]szerző\n"
-" [n]sávszáma, [N]összessáv,\n"
-" [l]hossz, [y]év, [g]műfaj, [c]megjegyzés,\n"
-" copy[r]ight, [f]ájlnév, [F]Teljesútvonal, [T]címkék\n"
-" [d]könyvtár,[D]KönyvtárÚtvonallal\n"
-"Példa: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1475
-#: ../plugins/gtkui/interface.c:2904
-#: ../plugins/gtkui/interface.c:3016
-#: ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Mégsem"
-#: ../plugins/gtkui/interface.c:1496
-#: ../plugins/gtkui/interface.c:2925
-#: ../plugins/gtkui/interface.c:3037
-#: ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1728
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Kimeneti bővítmény:"
-#: ../plugins/gtkui/interface.c:1741
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Kimeneti eszköz:"
-#: ../plugins/gtkui/interface.c:1750
-#: ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Hang"
-#: ../plugins/gtkui/interface.c:1759
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Engedi a dinamikus mintavételt kapcsolás közben"
-
-#: ../plugins/gtkui/interface.c:1767
-#: ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Mintavételi átalakítási minőség:"
-
-#: ../plugins/gtkui/interface.c:1786
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Újrajátszási mód:"
-#: ../plugins/gtkui/interface.c:1795
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Letiltva"
-#: ../plugins/gtkui/interface.c:1799
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Sáv"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Újrajátszási csúcs skála"
-#: ../plugins/gtkui/interface.c:1807
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Újrajátszási mód:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Fájlok hozzáadása parancssorból (vagy fájl kezelőből) a lejátszólistához"
+msgstr ""
+"Fájlok hozzáadása parancssorból (vagy fájl kezelőből) a lejátszólistához"
-#: ../plugins/gtkui/interface.c:1816
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Előző állapot helyreállítása indításkor"
-#: ../plugins/gtkui/interface.c:1820
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Lejátszás"
-#: ../plugins/gtkui/interface.c:1829
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Beállítás"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Hangszín mentés"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Bezáráskor a tálcára kerül"
-#: ../plugins/gtkui/interface.c:1833
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Középső egérgomb zárja be a lejátszólistát"
-#: ../plugins/gtkui/interface.c:1837
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Rendszertálca ikon elrejtése"
-#: ../plugins/gtkui/interface.c:1841
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Kövér betűtípus használata a most játszott számnál"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Elrejti a \"Törlés a lemezről\" menü elemet"
-#: ../plugins/gtkui/interface.c:1853
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Címsáv szöveg szám lejátszásakor:"
-#: ../plugins/gtkui/interface.c:1867
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Címsáv szöveg ha nincs lejátszás:"
-#: ../plugins/gtkui/interface.c:1877
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Felhasználói felület"
-#: ../plugins/gtkui/interface.c:1892
-#: ../plugins/gtkui/interface.c:1936
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Felülírás"
-#: ../plugins/gtkui/interface.c:1901
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Előtér"
-#: ../plugins/gtkui/interface.c:1908
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Háttér"
-#: ../plugins/gtkui/interface.c:1927
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Idősáv/Hangerő színek"
-#: ../plugins/gtkui/interface.c:1945
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Közép"
-#: ../plugins/gtkui/interface.c:1952
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Világos"
-#: ../plugins/gtkui/interface.c:1959
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Sötét"
-#: ../plugins/gtkui/interface.c:1990
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Alap"
-#: ../plugins/gtkui/interface.c:1997
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Szöveg"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Fülek színe"
-#: ../plugins/gtkui/interface.c:2006
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Felülírás (elveszti a GTK treeview témát, de gyorsul a rajzolás sebessége)"
+msgstr ""
+"Felülírás (elveszti a GTK treeview témát, de gyorsul a rajzolás sebessége)"
-#: ../plugins/gtkui/interface.c:2015
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Páros sor"
-#: ../plugins/gtkui/interface.c:2022
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Páratlan sor"
-#: ../plugins/gtkui/interface.c:2041
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Szöveg"
-
-#: ../plugins/gtkui/interface.c:2048
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Kiválasztott sor"
-#: ../plugins/gtkui/interface.c:2067
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Kiválasztott szöveg"
-#: ../plugins/gtkui/interface.c:2080
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Kurzor"
-#: ../plugins/gtkui/interface.c:2093
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Lejátszólista színek"
-#: ../plugins/gtkui/interface.c:2097
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Színek"
-#: ../plugins/gtkui/interface.c:2106
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Proxy szerver engedélyezése"
-#: ../plugins/gtkui/interface.c:2114
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Proxy szerver cím:"
-#: ../plugins/gtkui/interface.c:2128
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Proxy szerver port:"
-#: ../plugins/gtkui/interface.c:2142
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Proxy típusa:"
-#: ../plugins/gtkui/interface.c:2161
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Proxy felhasználónév:"
-#: ../plugins/gtkui/interface.c:2174
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Proxy jelszó:"
-#: ../plugins/gtkui/interface.c:2184
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Hálózat"
-#: ../plugins/gtkui/interface.c:2212
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Szerzői jog"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Bővítmények"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Csoport"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Formátum"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Választás"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Bővítmények"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Címke író"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "ID3v2 írása"
-#: ../plugins/gtkui/interface.c:2216
-#: ../plugins/gtkui/interface.c:2343
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "ID3v1 írása"
-#: ../plugins/gtkui/interface.c:2220
-#: ../plugins/gtkui/interface.c:2299
-#: ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 írása"
-#: ../plugins/gtkui/interface.c:2228
-#: ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 vágása"
-#: ../plugins/gtkui/interface.c:2232
-#: ../plugins/gtkui/interface.c:2355
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 vágása"
-#: ../plugins/gtkui/interface.c:2236
-#: ../plugins/gtkui/interface.c:2311
-#: ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 vágása"
-#: ../plugins/gtkui/interface.c:2244
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 verzió"
-#: ../plugins/gtkui/interface.c:2251
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Ajánlott)"
-#: ../plugins/gtkui/interface.c:2252
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2258
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v2 karakter kódolás (alapértelmezés iso8859-1)"
-#: ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "ID3v2.4 írása"
-#: ../plugins/gtkui/interface.c:2364
-#: ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Címke író"
-
-#: ../plugins/gtkui/interface.c:2395
-#: ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Leírás:"
-
-#: ../plugins/gtkui/interface.c:2410
-#: ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Szerző(k):"
-
-#: ../plugins/gtkui/interface.c:2425
-#: ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2440
-#: ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Honlap:"
-
-#: ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Beállítás"
-
-#: ../plugins/gtkui/interface.c:2475
-#: ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Bővítmények"
-
-#: ../plugins/gtkui/interface.c:2857
-#: ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2984
-#: ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3085
-#: ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Csoport"
-
-#: ../plugins/gtkui/interface.c:3110
-#: ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formátum konverziók (kezdő %):\n"
-" [a]előadó, [t]cím, al[b]um, [B]zenekar, [C]szerző\n"
-" [n]sávszáma, [N]összessáv,\n"
-" [l]hossz, [y]év, [g]műfaj, [c]megjegyzés,\n"
-" copy[r]ight, [f]ájlnév, [T]címkék\n"
-"Példa: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306
-#: ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Előadó / Album"
-#: ../plugins/gtkui/mainplaylist.c:307
-#: ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Sáv száma"
-#: ../plugins/gtkui/mainplaylist.c:308
-#: ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Cím / Sáv előadó"
-
-#: ../plugins/gtkui/mainplaylist.c:309
-#: ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Időtartam"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Fájlok törlése a lemezről"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1016,209 +931,222 @@ msgstr ""
"A fájlok el fognak veszni. Folytatja?\n"
"(Ez a párbeszédablak kikapcsolható a GTKUI bővítmény beállításaiban)"
-#: ../plugins/gtkui/plcommon.c:326
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Figyelemeztetés"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Hozzáadás a lejátszási sorhoz"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Törlés a lejátszási sorból"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Metaadat újratöltése"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Törlés a lemezről"
-#: ../plugins/gtkui/plcommon.c:720
-#: ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Oszlop hozzáadása"
-#: ../plugins/gtkui/plcommon.c:750
-#: ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Oszlop szerkesztése"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Öszlop törlése"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Csoport"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Nincs"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Előadó/Dátum/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Fájl megnyitása..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Beállítás %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Beállítás"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Alapértelmezett Audio Eszköz"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Hozzáadés"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Globális billentyű kombinációk"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Hely"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Billentyű kombináció"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481
-#: ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA kimeneti bővítmény"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Fájlok hzzáadása..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Inicializálás..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Már módosított adatokat ezen a számon."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Valóban bezárja az ablakot?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Hely"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Alsáv Index"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Billentyű"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Címke típus(ok)"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Érték"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Beépített Cue támogatás"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Igen"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nem"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Kodek"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Billentyű"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Érték"
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Valóban bezárja az ablakot?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Fájl(ok) hozzáadása"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF most szól"
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Eltávolítás"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Használat: deadbeef [opciók] [fájl(ok)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opciók:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help vagy -h Súgó megjelenítése (ez az üzenet) és kilépt\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Kilépés a lejátszóból\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Verzió információ megjelenítése és kilépés\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Lejátszás indítása\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Lejátszás megállítása\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Lejátszás szüneteltetése\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Ugrás a következő számra a lejátszólistában\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Ugrás az előző számra a lejátszólistában\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Véletlenszerű szám a lejátszólistáról\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Fájl(ok) hozzáadása a létező lejátszólistához\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Szám nevének formázott kiírása az stdout-ra\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1229,17 +1157,35 @@ msgstr ""
" [l]hossz, [n]sávszáma, [y]év, [c]megjegyzés,\n"
" copy[r]ight, [e]ltelt idő\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " pl.: --nowplaying \"%%a - %%t\" kiírása kerül \"előadó - cím\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" pl.: --nowplaying \"%%a - %%t\" kiírása kerül \"előadó "
+"- cím\"\n"
-#: ../playlist.c:378
-#: ../playlist.c:2295
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Alapértelmezett"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Igen"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Nem"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1247,7 +1193,13 @@ msgstr ""
"2.3 (Ajánlott)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1257,7 +1209,8 @@ msgstr ""
"Sáv\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
"Item Index\n"
"Playing\n"
@@ -1266,8 +1219,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1283,7 +1236,7 @@ msgstr ""
"Zenekar / Album Előadó\n"
"Egyéb"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1291,16 +1244,21 @@ msgstr ""
"Balra\n"
"Jobbra"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Nem található a képfájl: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: freepats konfig fájl nem található. Kérem telepítse a timidity-freepats csomagot vagy adja meg a freepats.cfg útvonalát a bővítmény beállításaiban."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: freepats konfig fájl nem található. Kérem telepítse a timidity-"
+"freepats csomagot vagy adja meg a freepats.cfg útvonalát a bővítmény "
+"beállításaiban."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1321,8 +1279,7 @@ msgstr "ALSA újramintavételezés használata"
msgid "Release device while stopped"
msgstr "Eszköz felszabadítása amíg megállított a lejátszás"
-#: ../translation/extra.c:8
-#: ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Preferált puffer méret"
@@ -1351,165 +1308,561 @@ msgstr "Jelszó"
msgid "Scrobble URL"
msgstr "Scrobble URL"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Átmeneti tár frissítési periódus (óra)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Beágyazott címkék olvasása"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Olvasás helyi könyvtárból"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Helyi borító fájl maszk"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Olvasás a last.fm-ről"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Olvasás az albumart.org-ról"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "CDDB/FreeDB használata"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Előnyben részesíti a CD-Text olvasást a CDDB szerverről"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB url (pl. 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "CDDB port száma (pl. '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "CDDB protokoll HTTP felett előnyben részesítése"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "NRG képfájl támogatás engedélyezése"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Újramintavételezés minősége (0..2, a nagyobb a jobb)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Maximális szám hossz (percben)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Fájlok lemezről való törlésekor megerősítést kér"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Az állapot ikon hangerőszabályzóként viselkedik"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Egyedi státuszikon"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "gtk_init futtatása --sync kapcsolóval (hibakereső mód)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
+#: ../translation/extra.c:45
+#, fuzzy
+msgid "Notification title format"
+msgstr "Értesítési formátum"
+
+#: ../translation/extra.c:46
+#, fuzzy
+msgid "Notification content format"
msgstr "Értesítési formátum"
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Album kép"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "PulseAudio szerver"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Mintavétel"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Relatív keresési útvonal"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Abszolút keresési útvonal"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Audio bájtok cseréje (váltás ha minden amit hallasz statikus)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
+#: ../translation/extra.c:58
+#, fuzzy
+msgid "Enable HVSC Songlength DB"
msgstr "HVSC engedélyezése"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "HVSC útvonal"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+#, fuzzy
+msgid "Default song length (sec)"
+msgstr "Maximális szám hossz (percben)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Timidity++ bank konfigurációs állomány"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Sáv címe"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Előadó"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Dátum"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Sáv száma"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Összes sáv"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Műfaj"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Zeneszerző"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Lemez száma"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Megjegyzés"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Kódoló / Eladó"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Szerzői jog"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Hely"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Alsáv Index"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Címke típus(ok)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Beépített Cue támogatás"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Kodek"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+#, fuzzy
+msgid "Target Samplerate"
+msgstr "Mintavétel"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Mind kiválaszt"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Oszlop szerkesztése"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Hangszín mentés"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Hangszín mentés"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Hangszín mentés"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Hangszín mentés"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Kimeneti eszköz:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Kimeneti bővítmény:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Hangszín mentés"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Felülírás"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Hangszín betöltés"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Kimeneti bővítmény:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "APEv2 írása"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "ID3v1 írása"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "ID3v2 írása"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Címke író"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+#~ msgid "Save playlist as"
+#~ msgstr "Lejátszólista mentése másként"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Hossz"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formátum konverziók (kezdő %):\n"
+#~ " [a]előadó, [t]cím, al[b]um, [B]zenekar, [C]szerző\n"
+#~ " [n]sávszáma, [N]összessáv,\n"
+#~ " [l]hossz, [y]év, [g]műfaj, [c]megjegyzés,\n"
+#~ " copy[r]ight, [f]ájlnév, [F]Teljesútvonal, [T]címkék\n"
+#~ " [d]könyvtár,[D]KönyvtárÚtvonallal\n"
+#~ "Példa: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Engedi a dinamikus mintavételt kapcsolás közben"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Mintavételi átalakítási minőség:"
+
+#~ msgid "Description:"
+#~ msgstr "Leírás:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Szerző(k):"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Honlap:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formátum konverziók (kezdő %):\n"
+#~ " [a]előadó, [t]cím, al[b]um, [B]zenekar, [C]szerző\n"
+#~ " [n]sávszáma, [N]összessáv,\n"
+#~ " [l]hossz, [y]év, [g]műfaj, [c]megjegyzés,\n"
+#~ " copy[r]ight, [f]ájlnév, [T]címkék\n"
+#~ "Példa: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Cím / Sáv előadó"
+
+#~ msgid "Setup %s"
+#~ msgstr "Beállítás %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA kimeneti bővítmény"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF most szól"
+
+#~ msgid "HVSC path"
+#~ msgstr "HVSC útvonal"
diff --git a/po/id.po b/po/id.po
index 2db2edd9..d7dc6964 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2011-03-14 10:56+0200\n"
"Last-Translator: Rahman Yusri Aftian <aftian@yahoo.com>\n"
"Language-Team: Indonesian Translation Team <id@li.org>\n"
@@ -18,1025 +18,1133 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Format suara yang didukung"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Berkas lain (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Buka berkas..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Tambahkan berkas ke daftar putar..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Tambahkan folder ke daftar putar..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Ikuti symlink"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Gagal saat membaca berkas bantuan"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Gagal memuat berkas bantuan"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Bantuan"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Tentang DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "ChangeLog DeaDBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Sunting daftar putar"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Judul:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Ubah Nama Daftar Putar"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Hapus Daftar Putar"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Tambah Daftar Putar Baru"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Simpan Preset EQ DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ preset files (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Memuat DeaDBeeF EQ Preset..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ presets (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Impor Foobar2000 EQ Preset..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ presets (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Simpan Preset"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Memuat Preset"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Impor Foobar2000 Preset"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Aktifkan"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Nolkan Semua"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Nolkan Preamp"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Zero Bands"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Simpan Preset"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Memuat Preset"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Impor Foobar2000 Preset"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 hari %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d hari %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Berhenti | %d trek | %s waktu putar total"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Jeda | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d trek | %s waktu putar total"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Simpan Daftar Putar Sebagai"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF playlist files (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Muat Daftar Putar"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Berkas lain (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Daftar Putar Baru"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Daftar Putar Baru (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Berkas"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Buka berkas"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Tambah berkas"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Tambah folder"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Tambah lokasi"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Daftar putar baru"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Muat daftar putar"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Simpan daftar putar"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Simpan daftar putar sebagai"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Keluar"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Sunting"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Bersihkan"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Pilih semua"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Pilih tak satupun"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Balik pilihan"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Pilihan"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Buang"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Crop"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Cari"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Judul"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Nomor berkas"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artis"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Ubahan"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferensi"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Tilik"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Bilah status"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Header kolom"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Tab"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizer"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Putar"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Urutan"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linier"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Kocok"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "Kocok"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Acak"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Perulangan"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Ulang Semua"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Ulang Satu Lagu"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Tidak ulang"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Gulir berikut pemutaran"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Kursor berikut pemutaran"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Berhenti setelah ini"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "Ba_ntuan"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_ChangeLog"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "Tent_ang"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Cari"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Berhenti"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Putar"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Jeda"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Sebelumnya"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Selanjutnya"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Putar Acak"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Tentang"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Keluar"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Menambah berkas..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "Gugurk_an"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Properti Trek"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "Ter_apkan"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Tutup"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadata"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Properti"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Judul:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Masukkan judul kolom baru disini"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Jenis:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Nomor berkas"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Memutar"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Album Seni"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artis - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Artis"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Judul"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Panjang"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Durasi"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Trek"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "No Trek"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Band / Artis Album"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Ubahan"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Perataan:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Kiri"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Kanan"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer track[n]umber, "
-"[N]totaltracks, [l]ength, [y]ear, [g]enre, [c]omment, copy[r]ight, "
-"[f]ilename, [F]ullPathname, [T]ags, [d]irectory, "
-"[D]irectoryWithPathExample: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Batal"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Keluaran plugin:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Perangkat keluaran:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
-msgid "Sound"
-msgstr "Suara"
-
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr ""
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr "Suara"
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Matikan"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Trek"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "_Putar"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+#, fuzzy
+msgid "Configure"
+msgstr "Konfigurasi"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Simpan Preset"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Latar depan"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Latar belakang"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Tengah"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Terang"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Gelap"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Basis"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Teks"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Baris genap"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Baris ganjil"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Teks"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Baris yang dipilih"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Teks yang dipilih"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Kursor"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Warna daftar putar"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Aktifkan Server Proksi"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Alamat Server Proksi:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port Server Proksi:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Jenis Proksi:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Nama Pengguna Proksi:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Sandi Proksi:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Jaringan"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+#, fuzzy
+msgid "Plugins"
+msgstr "Pengaya"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Kelompokkan Berdasarkan"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Format:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Pilihan"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Pengaya"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Tulis ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Tulis ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Tulis APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Versi ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Tulis ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Keterangan:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Pengarang:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Surel:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Situs web:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-#, fuzzy
-msgid "Configure"
-msgstr "Konfigurasi"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-#, fuzzy
-msgid "Plugins"
-msgstr "Pengaya"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Kelompokkan Berdasarkan"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artis / Album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "No Trek"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Durasi"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Hapus berkas dari disk"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Peringatan"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Tambahkan ke antrian daftar putar"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Hapus dari antrian putar"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Muat ulang metadata"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Hapus dari disk"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Tambah kolom"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Sunting kolom"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Hapus kolom"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Kelompokkan berdasarkan"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Tak ada"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artis/Tanggal/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Buka berkas..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, fuzzy, c-format
-msgid "Setup %s"
-msgstr "Setup"
+msgid "Configure %s"
+msgstr "Konfigurasi"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Perangkat Suara Bawaan"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Tambah"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
#, fuzzy
msgid "Global Hotkeys"
msgstr "Tombol Global"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Slot"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Kombinasi kunci"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr ""
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Menambah berkas..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Menginisialisasi..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr ""
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Kunci"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ya"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Nilai"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Tidak"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Kunci"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Nilai"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Tambah berkas"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Buang"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Cara pakai: deadbeef [opsi] [berkas]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opsi:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Cetak bantuan (pesan ini) dan keluar\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Keluar dari pemutar\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Cetak info versi dan keluar\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Mulai memutar\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Berhenti memutar\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Jeda memutar\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Lagu selanjutnya di daftar putar\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Lagu sebelumnya di daftar putar\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Acak lagu di daftar main\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
" --queue Tambahkan berkas ke daftar putar yang telah ada\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1044,18 +1152,33 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Bawaan"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Ya"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Tidak"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1063,29 +1186,35 @@ msgstr ""
"2.3 (Disarankan)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1094,69 +1223,615 @@ msgstr ""
"Kanan"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Tambahkan CD Audio"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Aktifkan Server Proksi"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Nama Pengguna Proksi:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Sandi Proksi:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Hapus berkas dari disk"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:46
+msgid "Notification content format"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Album Seni"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Masukan terpotong atau kosong."
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Masukan bukan bitstream Ogg."
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Bitstream Ogg tak memuat data Vorbis."
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "EOF sebelum stream yang dikenali."
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "EOF sebelum akhir header Vorbis."
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Data rusak atau hilang, melanjutkan..."
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "No Trek"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Nomor berkas"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Tambah lokasi"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Pilih semua"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Sunting kolom"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Simpan Preset"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Simpan Preset"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Simpan Preset"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Simpan Preset"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Perangkat keluaran:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Keluaran plugin:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Simpan Preset"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Memuat Preset"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Keluaran plugin:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Tulis APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Tulis ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "Tambahkan CD Audio"
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Tulis ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Simpan daftar putar sebagai"
+
+#~ msgid "_Abort"
+#~ msgstr "Gugurk_an"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Panjang"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer track[n]umber, [N]"
+#~ "totaltracks, [l]ength, [y]ear, [g]enre, [c]omment, copy[r]ight, [f]"
+#~ "ilename, [F]ullPathname, [T]ags, [d]irectory, [D]"
+#~ "irectoryWithPathExample: %a - %t [%l]"
+
+#~ msgid "Description:"
+#~ msgstr "Keterangan:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Pengarang:"
+
+#~ msgid "Email:"
+#~ msgstr "Surel:"
+
+#~ msgid "Website:"
+#~ msgstr "Situs web:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#, fuzzy
+#~ msgid "Setup %s"
+#~ msgstr "Setup"
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Masukan terpotong atau kosong."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Masukan bukan bitstream Ogg."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Bitstream Ogg tak memuat data Vorbis."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "EOF sebelum stream yang dikenali."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "EOF sebelum akhir header Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Data rusak atau hilang, melanjutkan..."
diff --git a/po/it.po b/po/it.po
index d4da7195..a855b584 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DeadBeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-16 04:27+0000\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2011-03-09 17:43+0200\n"
"Last-Translator: Alessandro <alex@amiran.it>\n"
"Language-Team: Italian\n"
@@ -20,983 +20,910 @@ msgstr ""
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: Italy\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formati audio supportati"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Altri files (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Apri file..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Aggiungi file alla playlist..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Aggiungi cartella/e alla playlist"
-#: ../plugins/gtkui/interface.c:179 ../plugins/gtkui/deadbeef.glade.h:6
-msgid "Add Audio CD"
-msgstr "Aggiungi Audio CD"
-
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Segui i link simbolici"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Fallita la lettura del file di aiuto"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Fallito il caricamento del file di aiuto"
-#: ../plugins/gtkui/callbacks.c:701
-#: ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Aiuto"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "A proposito di DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeadBeeF %s Changelog"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeadBeeF sta riproducendo"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Modifica playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Titolo:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Rinonima playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Rimuovi playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Aggiungi nuova playlist"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Salva parametri predefiniti equalizzatore DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeadBeeF EQ preset files (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Carica DeaDBeeF EQ Preset..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeadBeeF EQ presets (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importa Foobar2000 EQ Preset"
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ presets (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Salva preset"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Carica preset"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importa Foobar2000 Preset"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Abilita"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Tutto a zero"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Pre-ampl a zero"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Bande a zero"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Salva preset"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Carica preset"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importa Foobar2000 Preset"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 giorno %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d giorni %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Stop | %d tracce | %s tempo totale"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps"
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pausa |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracce | %s tempo totale"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracce | %s tempo totale"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Salva playlist come"
-#: ../plugins/gtkui/gtkui.c:669
-#: ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeadBeeF playlist files (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Carica Playlist"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Altri files (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nuova playlist"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nuova Playlist (%d)"
-#: ../plugins/gtkui/interface.c:138
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_File"
-#: ../plugins/gtkui/interface.c:145
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Apri file"
-#: ../plugins/gtkui/interface.c:161
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Aggiungi file"
-#: ../plugins/gtkui/interface.c:169
-#: ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Aggiungi cartella/e"
-#: ../plugins/gtkui/interface.c:177
-#: ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Aggiungi locazione"
-#: ../plugins/gtkui/interface.c:186
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nuova playlist"
-#: ../plugins/gtkui/interface.c:193
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Carica playlist"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Salva playlist"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Salva playlist come"
-
-#: ../plugins/gtkui/interface.c:210
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Esci"
-#: ../plugins/gtkui/interface.c:221
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Modifica"
-#: ../plugins/gtkui/interface.c:228
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Pulisci"
-#: ../plugins/gtkui/interface.c:236
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Seleziona tutto"
-#: ../plugins/gtkui/interface.c:243
-#: ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Deseleziona tutto"
-#: ../plugins/gtkui/interface.c:250
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverti selezione"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Selezione"
-#: ../plugins/gtkui/interface.c:261
-#: ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Rimuovi"
-#: ../plugins/gtkui/interface.c:269
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Raccolte"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Cerca"
-#: ../plugins/gtkui/interface.c:285
-#: ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Titolo"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "File numero"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artista"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Personalizza"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferenze"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Visualizza"
-#: ../plugins/gtkui/interface.c:296
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barra di stato"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Colonna intestazione"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Schede"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizzatore"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Riproduzione"
-#: ../plugins/gtkui/interface.c:319
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Ordina"
-#: ../plugins/gtkui/interface.c:326
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Lineare"
-#: ../plugins/gtkui/interface.c:332
-#: ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Mescolato"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "Mescolato"
-#: ../plugins/gtkui/interface.c:338
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Casuale"
-#: ../plugins/gtkui/interface.c:344
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Looping"
-#: ../plugins/gtkui/interface.c:351
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Loop tutte"
-#: ../plugins/gtkui/interface.c:357
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Loop singola canzone"
-#: ../plugins/gtkui/interface.c:363
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Non fare il Loop"
-#: ../plugins/gtkui/interface.c:369
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Scorri seguente riproduzione"
-#: ../plugins/gtkui/interface.c:374
-#: ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "La selezione segue la riproduzione"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Stop finita la canzone"
-#: ../plugins/gtkui/interface.c:385
-#: ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Aiuto"
-#: ../plugins/gtkui/interface.c:400
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Changelog"
-#: ../plugins/gtkui/interface.c:422
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_About"
-#: ../plugins/gtkui/interface.c:801
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Cerca"
-#: ../plugins/gtkui/interface.c:876
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Stop"
-#: ../plugins/gtkui/interface.c:884
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Riproduci"
-#: ../plugins/gtkui/interface.c:892
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pausa"
-#: ../plugins/gtkui/interface.c:900
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Precedente"
-#: ../plugins/gtkui/interface.c:908
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Prossima"
-#: ../plugins/gtkui/interface.c:916
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Riproduzione casuale"
-#: ../plugins/gtkui/interface.c:925
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "About"
-#: ../plugins/gtkui/interface.c:938
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Esci"
-#: ../plugins/gtkui/interface.c:1010
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Sto aggiungendo i files..."
-
-#: ../plugins/gtkui/interface.c:1054
-#: ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Ferma"
-
-#: ../plugins/gtkui/interface.c:1155
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Proprietà traccia"
-#: ../plugins/gtkui/interface.c:1179
-#: ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>ATTENZIONE</b>: la scrittura delle tag è una funzione in sviluppo. \n"
-"<b>Fai un backup</b> prima di usare questa funzione"
-#: ../plugins/gtkui/interface.c:1206
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Applica"
-#: ../plugins/gtkui/interface.c:1227
-#: ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Chiudi"
-#: ../plugins/gtkui/interface.c:1231
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadata"
-#: ../plugins/gtkui/interface.c:1277
-#: ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Proprietà"
-#: ../plugins/gtkui/interface.c:1363
-#: ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378
-#: ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Titolo:"
-
-#: ../plugins/gtkui/interface.c:1386
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Inserisci nuovo titolo colonna qui"
-#: ../plugins/gtkui/interface.c:1394
-#: ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tipo:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "File numero"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403
-#: ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Riproduzione"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Album Art"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artista - Album"
-#: ../plugins/gtkui/interface.c:1406
-#: ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Artista"
-
-#: ../plugins/gtkui/interface.c:1407
-#: ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408
-#: ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Titolo"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Lunghezza"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Durata"
-#: ../plugins/gtkui/interface.c:1410
-#: ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Traccia"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "Traccia N°"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Band / Album Artista"
-#: ../plugins/gtkui/interface.c:1412
-#: ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Personalizza"
-
-#: ../plugins/gtkui/interface.c:1418
-#: ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formato:"
-#: ../plugins/gtkui/interface.c:1433
-#: ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Allineamento:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Sinistra"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Destra"
-#: ../plugins/gtkui/interface.c:1444
-#: ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formati conversione (inzia con %):\n"
-" [a]rtista, [t]itolo, al[b]um, [B]and, [C]ompositore\n"
-" Traccia[n]umero, [N]TracceTotali,\n"
-" [l]unghezza, [y]Anno, [g]enere, [c]ommento,\n"
-" copy[r]ight, [f]NomeFile, [F]NomeCompletoFile, [T]ags,\n"
-" [d]cartella, [D]CartellaConPercorso\n"
-"Example: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473
-#: ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012
-#: ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "A_nnulla"
-#: ../plugins/gtkui/interface.c:1494
-#: ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033
-#: ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Plugin d'uscita:"
-#: ../plugins/gtkui/interface.c:1738
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Dispositivo d'uscita:"
-#: ../plugins/gtkui/interface.c:1747
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Suono"
-#: ../plugins/gtkui/interface.c:1756
-#: ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Consenti il cambio dinamico delle frequenze di campionamento"
-
-#: ../plugins/gtkui/interface.c:1764
-#: ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Qualità della conversione della frequenza di campionamento:"
-
-#: ../plugins/gtkui/interface.c:1783
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Modalità ripetizione:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Disabilita"
-#: ../plugins/gtkui/interface.c:1796
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Traccia"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Modalità di ReplayGain (volume regolabile)"
-#: ../plugins/gtkui/interface.c:1804
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Modalità ripetizione:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "Aggiungi files da linea di comando (o file manager) a questa playlist:"
-#: ../plugins/gtkui/interface.c:1813
-#: ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Riprendi sessione precedente all'avvio"
-#: ../plugins/gtkui/interface.c:1817
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Riproduzione"
-#: ../plugins/gtkui/interface.c:1826
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configura"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Salva preset"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Chiudi minimizza nel vassoio di sistema"
-#: ../plugins/gtkui/interface.c:1830
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Il pulsante centrale del mouse chiude la playlist"
-#: ../plugins/gtkui/interface.c:1834
-#: ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Nasconde l'icona nel vassoio di sistema"
-#: ../plugins/gtkui/interface.c:1838
-#: ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Usa il grassetto per la canzone in riproduzione"
-#: ../plugins/gtkui/interface.c:1842
-#: ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Nascondi \"Cancella dal disco\" dal menù contestuale"
-#: ../plugins/gtkui/interface.c:1850
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Testo della titlebar mentre riproduce:"
-#: ../plugins/gtkui/interface.c:1864
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Testo della titlebar quando fermata:"
-#: ../plugins/gtkui/interface.c:1874
-#: ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888
-#: ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Sovrascrivere"
-#: ../plugins/gtkui/interface.c:1897
-#: ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Primo piano"
-#: ../plugins/gtkui/interface.c:1904
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Di fondo"
-#: ../plugins/gtkui/interface.c:1923
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Colori della Seekbar/Barra del volume"
-#: ../plugins/gtkui/interface.c:1941
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Centrale"
-#: ../plugins/gtkui/interface.c:1948
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Chiaro"
-#: ../plugins/gtkui/interface.c:1955
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Scuro"
-#: ../plugins/gtkui/interface.c:1986
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:1993
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Testo"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Colore delle schede"
-#: ../plugins/gtkui/interface.c:2002
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Sovrascrivi (perdita del tema GTK ma rendering più veloce)"
-#: ../plugins/gtkui/interface.c:2011
-#: ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Righe pari"
-#: ../plugins/gtkui/interface.c:2018
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Righe dispari"
-#: ../plugins/gtkui/interface.c:2037
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Testo"
-
-#: ../plugins/gtkui/interface.c:2044
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Riga selezionata"
-#: ../plugins/gtkui/interface.c:2063
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Testo selezionato"
-#: ../plugins/gtkui/interface.c:2076
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Cursore"
-#: ../plugins/gtkui/interface.c:2089
-#: ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Colori della playlist"
-#: ../plugins/gtkui/interface.c:2093
-#: ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Colori"
-#: ../plugins/gtkui/interface.c:2102
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Abilita il server proxy"
-#: ../plugins/gtkui/interface.c:2110
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Indirizzo del server proxy:"
-#: ../plugins/gtkui/interface.c:2124
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Porta del server proxy:"
-#: ../plugins/gtkui/interface.c:2138
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Tipo proxy:"
-#: ../plugins/gtkui/interface.c:2157
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Nome utente del proxy:"
-#: ../plugins/gtkui/interface.c:2170
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Password del proxy"
-#: ../plugins/gtkui/interface.c:2180
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Rete"
-#: ../plugins/gtkui/interface.c:2208
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Raggruppamento"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Formato:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Selezione"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Scrivi etichetta"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Scrivi ID3v2"
-#: ../plugins/gtkui/interface.c:2212
-#: ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Scrivi ID3v1"
-#: ../plugins/gtkui/interface.c:2216
-#: ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Scrivi APEv2"
-#: ../plugins/gtkui/interface.c:2224
-#: ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Strip ID3v2"
-#: ../plugins/gtkui/interface.c:2228
-#: ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Strip ID3v1"
-#: ../plugins/gtkui/interface.c:2232
-#: ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Strip APEv2"
-#: ../plugins/gtkui/interface.c:2240
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Versione ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (raccomandato)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254
-#: ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 codifica caratteri (predefinito iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291
-#: ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Scrivi ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Scrivi etichetta"
-
-#: ../plugins/gtkui/interface.c:2391
-#: ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Descrizione:"
-
-#: ../plugins/gtkui/interface.c:2406
-#: ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Autore(i):"
-
-#: ../plugins/gtkui/interface.c:2421
-#: ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "E-Mail:"
-
-#: ../plugins/gtkui/interface.c:2436
-#: ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Sito internet:"
-
-#: ../plugins/gtkui/interface.c:2467
-#: ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Configura"
-
-#: ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../plugins/gtkui/interface.c:2853
-#: ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "Modificaplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980
-#: ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081
-#: ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Raggruppamento"
-
-#: ../plugins/gtkui/interface.c:3106
-#: ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formati di conversione (iniza con %):\n"
-" [a]rtista, [t]itolo, al[b]um, [B]and, [C]ompositore\n"
-" traccia[n]umero, [N]TracceTotali,\n"
-" [l]unghezza, [y]anno, [g]enere, [c]ommento,\n"
-" copy[r]ight, [f]NomeFile, [T]Etichetta\n"
-"Esempio: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301
-#: ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artista / Album"
-#: ../plugins/gtkui/mainplaylist.c:302
-#: ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Traccia N°"
-#: ../plugins/gtkui/mainplaylist.c:303
-#: ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Titolo / Traccia Artista"
-
-#: ../plugins/gtkui/mainplaylist.c:304
-#: ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Durata"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Cancella files dal disco"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1004,201 +931,223 @@ msgstr ""
"I files andranno persi. Procedere?\n"
" (Questo dialogo può essere spento in Opzioni plugin --> GTKUI"
-#: ../plugins/gtkui/plcommon.c:325
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Attenzione"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Aggiungi alla coda di riproduzione"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Rimuovi dalla coda di riproduzione"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Ricarica metadati"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Rimuovi dal disco"
-#: ../plugins/gtkui/plcommon.c:719
-#: ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Aggiungi colonna"
-#: ../plugins/gtkui/plcommon.c:749
-#: ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Modifica colonna"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Rimuovi colonna"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Raggruppamento"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Nessuno"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artista/Data/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Apri file..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Configura %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Configura"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Dispositivo audio predefinito"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Aggiungi"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Scorciatoie da tastiera globali"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Slot"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Combinazioni di tasti"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464
-#: ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Plugin d'uscita ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Sto aggiungendo i files..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Inizializzazione..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Hai modificato i dati per questa traccia."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Vuoi davvero chiudere la finestra?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tipo(i) di etichetta(e)"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Cuesheet incorporato"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Sì"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "No"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Tasti"
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Valore"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeadBeeF sta riproducendo"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Vuoi davvero chiudere la finestra?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Aggiungi file"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Rimuovi"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Uso: deadbeef [opzioni] [file(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opzioni:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Stampa l'aiuto ed esce\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Esce dal player\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Stampa la versione ed esce\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Inizia la riproduzione\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Ferma la riproduzione\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pausa nella riproduzione\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Canzone successiva nella playlist\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Canzone precedente nella playlist\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Canzone casuale nella playlist\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Aggiunge file(s) ad una playlist esistente\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
-msgstr " --nowplaying FMT Stampa il nome della traccia formattato in stdout\n"
+msgstr ""
+" --nowplaying FMT Stampa il nome della traccia formattato in stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1209,17 +1158,35 @@ msgstr ""
" [l]unghezza, traccia[n]umero, [y]anno, [c]ommento,\n"
" copy[r]ight, [e]trascorso\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " es: --nowplaying \"%%a - %%t\" dovrebbe stampare \"artista - titolo\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" es: --nowplaying \"%%a - %%t\" dovrebbe stampare "
+"\"artista - titolo\"\n"
-#: ../playlist.c:377
-#: ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Predefinito"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Sì"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "No"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1227,7 +1194,13 @@ msgstr ""
"2.3 (raccomandato)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1237,17 +1210,18 @@ msgstr ""
"Traccia\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1263,7 +1237,7 @@ msgstr ""
"Band / Album Artista\n"
"Personalizzato"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1271,68 +1245,677 @@ msgstr ""
"Sinistra\n"
"Destra"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "File pixmap non trovato: %s"
-#: ../plugins/vorbis/vcedit.c:129
-#: ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Impossibile ottenere memoria sufficiente per il buffering d'ingresso"
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: file di configurazione freepats non trovato. Per favore install "
+"timidy-freepats o specifica un percorso a freepats.cfg nella sezione "
+"Impostazione Plugins."
-#: ../plugins/vorbis/vcedit.c:179
-#: ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Errore nella lettura della prima pagina del bitstream Ogg."
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Aggiungi Audio CD"
-#: ../plugins/vorbis/vcedit.c:185
-#: ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Errore durante la lettura inziale dei pacchetti di testa."
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Impossibile ottenere abbastanza memoria per registrare il numero di serie del nuovo flusso"
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Il file immesso è troncato o vuoto."
+#: ../translation/extra.c:7
+#, fuzzy
+msgid "Release device while stopped"
+msgstr "Testo della titlebar quando fermata:"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Il file immesso non è un bitstream Ogg."
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Il file Ogg non contiene dati Vorbis."
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Fine del file prima di aver riconosciuto lo stream."
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Abilita il server proxy"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Il flusso Ogg non contiene un tipo di dati riconosciuto."
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeadBeeF sta riproducendo"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Nome utente del proxy:"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Header secondario corrotto"
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Password del proxy"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Fine del file raggiunta prima della fine dell'intestazione Vorbis."
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Dati persi o corrotti, continuo..."
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
-msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-msgstr "Errore di scrittura del file di uscita. Il flusso di uscita potrebbe essere danneggiato o troncato."
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Cancella files dal disco"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Album Art"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Traccia N°"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Titolo / Traccia Artista"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "File numero"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Aggiungi locazione"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tipo(i) di etichetta(e)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Cuesheet incorporato"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Seleziona tutto"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Modifica colonna"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Salva preset"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Salva preset"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Salva preset"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Salva preset"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Dispositivo d'uscita:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Plugin d'uscita:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Salva preset"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Sovrascrivere"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Carica preset"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Plugin d'uscita:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: file di configurazione freepats non trovato. Per favore install timidy-freepats o specifica un percorso a freepats.cfg nella sezione Impostazione Plugins."
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Scrivi APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Scrivi ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Scrivi ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Scrivi etichetta"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Salva playlist come"
+
+#~ msgid "_Abort"
+#~ msgstr "_Ferma"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>ATTENZIONE</b>: la scrittura delle tag è una funzione in sviluppo. \n"
+#~ "<b>Fai un backup</b> prima di usare questa funzione"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Lunghezza"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formati conversione (inzia con %):\n"
+#~ " [a]rtista, [t]itolo, al[b]um, [B]and, [C]ompositore\n"
+#~ " Traccia[n]umero, [N]TracceTotali,\n"
+#~ " [l]unghezza, [y]Anno, [g]enere, [c]ommento,\n"
+#~ " copy[r]ight, [f]NomeFile, [F]NomeCompletoFile, [T]ags,\n"
+#~ " [d]cartella, [D]CartellaConPercorso\n"
+#~ "Example: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Consenti il cambio dinamico delle frequenze di campionamento"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Qualità della conversione della frequenza di campionamento:"
+
+#~ msgid "Description:"
+#~ msgstr "Descrizione:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autore(i):"
+
+#~ msgid "Email:"
+#~ msgstr "E-Mail:"
+
+#~ msgid "Website:"
+#~ msgstr "Sito internet:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "Modificaplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formati di conversione (iniza con %):\n"
+#~ " [a]rtista, [t]itolo, al[b]um, [B]and, [C]ompositore\n"
+#~ " traccia[n]umero, [N]TracceTotali,\n"
+#~ " [l]unghezza, [y]anno, [g]enere, [c]ommento,\n"
+#~ " copy[r]ight, [f]NomeFile, [T]Etichetta\n"
+#~ "Esempio: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Configura %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Plugin d'uscita ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr ""
+#~ "Impossibile ottenere memoria sufficiente per il buffering d'ingresso"
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Errore nella lettura della prima pagina del bitstream Ogg."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Errore durante la lettura inziale dei pacchetti di testa."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Impossibile ottenere abbastanza memoria per registrare il numero di serie "
+#~ "del nuovo flusso"
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Il file immesso è troncato o vuoto."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Il file immesso non è un bitstream Ogg."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Il file Ogg non contiene dati Vorbis."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "Fine del file prima di aver riconosciuto lo stream."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Il flusso Ogg non contiene un tipo di dati riconosciuto."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Header secondario corrotto"
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Fine del file raggiunta prima della fine dell'intestazione Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Dati persi o corrotti, continuo..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Errore di scrittura del file di uscita. Il flusso di uscita potrebbe "
+#~ "essere danneggiato o troncato."
diff --git a/po/ja.po b/po/ja.po
index 3089029c..e2fa2af3 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,794 +8,870 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef devel\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-07 18:38+0900\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-06-29 17:37+0900\n"
"Last-Translator: Hironao Komatsu <hironao@users.sourceforge.net>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "サポートされている音声フォーマット"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "他のファイル (*)"
+#, fuzzy
+#~ msgid "All files (*)"
+#~ msgstr "他のファイル (*)"
-#: ../plugins/gtkui/callbacks.c:117
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "ファイルを開く..."
-#: ../plugins/gtkui/callbacks.c:150
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "ファイルをプレイリストに追加..."
-#: ../plugins/gtkui/callbacks.c:182
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "フォルダをプレイリストに追加..."
-#: ../plugins/gtkui/callbacks.c:640
+#~ msgid "Follow symlinks"
+#~ msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "ヘルプファイルの読み込み中に失敗しました"
-#: ../plugins/gtkui/callbacks.c:650
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "ヘルプファイルの読み込みに失敗しました"
-#: ../plugins/gtkui/callbacks.c:664 ../plugins/gtkui/interface.c:1105
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#~ msgid "help.txt"
+#~ msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "ヘルプ"
-#: ../plugins/gtkui/callbacks.c:674
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "DeaDBeeF %s について"
-#: ../plugins/gtkui/callbacks.c:685
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s の更新履歴"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#, fuzzy, c-format
+#~ msgid "DeaDBeeF Translators"
+#~ msgstr "DeaDBeeF は現在演奏中です"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "プレイリストの編集"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "タイトル:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "プレイリストの名前変更"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "プレイリストの削除"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "プレイリストの新規追加"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "DeaDBeeF イコライザ設定の保存"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF イコライザ設定 (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "DeaDBeeF イコライザ設定を読み込む..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF イコライザ設定 (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Foobar2000 イコライザ設定をインポート..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 イコライザ設定 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "イコライザ設定を保存"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "イコライザ設定の読み込み"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Foobar2000 イコライザ設定をインポート"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "有効にする"
-#: ../plugins/gtkui/eq.c:299
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "すべてゼロに"
-#: ../plugins/gtkui/eq.c:306
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "プリアンプをゼロに"
-#: ../plugins/gtkui/eq.c:313
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "バンドをゼロに"
-#: ../plugins/gtkui/eq.c:320
-msgid "Save Preset"
-msgstr "イコライザ設定を保存"
+#, fuzzy
+#~ msgid "Presets"
+#~ msgstr "イコライザ設定を保存"
-#: ../plugins/gtkui/eq.c:327
-msgid "Load Preset"
-msgstr "イコライザ設定の読み込み"
-
-#: ../plugins/gtkui/eq.c:334
-msgid "Import Foobar2000 Preset"
-msgstr "Foobar2000 イコライザ設定をインポート"
-
-#: ../plugins/gtkui/gtkui.c:128
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 日 %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:131
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d 日 %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:140
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "停止 | %d トラック | %s 合計演奏時間"
-#: ../plugins/gtkui/gtkui.c:150
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:150
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:170
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:176
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "ポーズ | "
-#: ../plugins/gtkui/gtkui.c:177
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d トラック | %s 合計演奏時間"
-#: ../plugins/gtkui/gtkui.c:533
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "名前をつけてプレイリストを保存"
-#: ../plugins/gtkui/gtkui.c:542 ../plugins/gtkui/gtkui.c:603
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF プレイリストファイル (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:596
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "プレイリストをロード"
-#: ../plugins/gtkui/gtkui.c:741
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "他のファイル (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "新規プレイリスト"
-#: ../plugins/gtkui/gtkui.c:744
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "新規プレイリスト (%d)"
-#: ../plugins/gtkui/interface.c:140 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "ファイル(_F)"
-#: ../plugins/gtkui/interface.c:147 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "ファイルを開く(_O)"
-#: ../plugins/gtkui/interface.c:163 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "ファイルを追加"
-#: ../plugins/gtkui/interface.c:171 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "フォルダを追加"
-#: ../plugins/gtkui/interface.c:179 ../plugins/gtkui/deadbeef.glade.h:6
-msgid "Add Audio CD"
-msgstr "音楽 CD を追加"
-
-#: ../plugins/gtkui/interface.c:187 ../plugins/gtkui/interface.c:2870
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "場所を追加"
-#: ../plugins/gtkui/interface.c:196 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "新規プレイリスト"
-#: ../plugins/gtkui/interface.c:203 ../plugins/gtkui/deadbeef.glade.h:64
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "プレイリストをロード"
-#: ../plugins/gtkui/interface.c:207 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "プレイリストを保存"
-#: ../plugins/gtkui/interface.c:211 ../plugins/gtkui/deadbeef.glade.h:100
-msgid "Save playlist as"
-msgstr "名前をつけてプレイリストを保存"
-
-#: ../plugins/gtkui/interface.c:220 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "終了(_Q)"
-#: ../plugins/gtkui/interface.c:231 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "編集(_E)"
-#: ../plugins/gtkui/interface.c:238 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "クリア(_C)"
-#: ../plugins/gtkui/interface.c:246 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "すべて選択"
-#: ../plugins/gtkui/interface.c:253 ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "すべて選択解除"
-#: ../plugins/gtkui/interface.c:260 ../plugins/gtkui/deadbeef.glade.h:59
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "選択の反転"
-#: ../plugins/gtkui/interface.c:264 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "選択"
-#: ../plugins/gtkui/interface.c:271 ../plugins/gtkui/plcommon.c:387
-#: ../plugins/gtkui/prefwin.c:272 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "取り除く"
-#: ../plugins/gtkui/interface.c:279 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "選択以外を取り除く"
-#: ../plugins/gtkui/interface.c:283 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "検索(_F)"
-#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1706
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#~ msgid "Sort By"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "タイトル"
+
+#, fuzzy
+#~ msgid "Track number"
+#~ msgstr "ファイル番号"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "アルバム"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "アーティスト"
+
+#~ msgid "Date"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "カスタム"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "設定"
-#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "表示(_V)"
-#: ../plugins/gtkui/interface.c:306 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "ステータスバー"
-#: ../plugins/gtkui/interface.c:310 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "カラムのヘッダ"
-#: ../plugins/gtkui/interface.c:314 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "タブ"
-#: ../plugins/gtkui/interface.c:318 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "イコライザ"
-#: ../plugins/gtkui/interface.c:322 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "再生(_P)"
-#: ../plugins/gtkui/interface.c:329 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "演奏順"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "順に"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:108
-msgid "Shuffle"
-msgstr "シャッフル"
+#, fuzzy
+#~ msgid "Shuffle tracks"
+#~ msgstr "シャッフル"
+
+#, fuzzy
+#~ msgid "Shuffle albums"
+#~ msgstr "シャッフル"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "ランダム"
-#: ../plugins/gtkui/interface.c:354 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "ループ"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "全体をループ"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "一つの曲をループ"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:28
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "ループしない"
-#: ../plugins/gtkui/interface.c:379 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "再生に従ってスクロール"
-#: ../plugins/gtkui/interface.c:384 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "再生に従ってカーソルを移動"
-#: ../plugins/gtkui/interface.c:388 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "現在の再生の終了後に停止"
-#: ../plugins/gtkui/interface.c:395 ../plugins/gtkui/interface.c:402
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#~ msgid "Jump to current track"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "ヘルプ(_H)"
-#: ../plugins/gtkui/interface.c:410 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "更新履歴(_C)"
-#: ../plugins/gtkui/interface.c:432 ../plugins/gtkui/deadbeef.glade.h:131
+#~ msgid "_GPLv2"
+#~ msgstr ""
+
+#~ msgid "_LGPLv2.1"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "情報(_A)"
-#: ../plugins/gtkui/interface.c:816 ../plugins/gtkui/deadbeef.glade.h:102
+#, fuzzy
+#~ msgid "_Translators"
+#~ msgstr "DeaDBeeF は現在演奏中です"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "検索"
-#: ../plugins/gtkui/interface.c:891 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "停止"
-#: ../plugins/gtkui/interface.c:899 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "再生"
-#: ../plugins/gtkui/interface.c:907 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "ポーズ"
-#: ../plugins/gtkui/interface.c:915 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "前へ"
-#: ../plugins/gtkui/interface.c:923 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "次へ"
-#: ../plugins/gtkui/interface.c:931 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "ランダムに再生"
-#: ../plugins/gtkui/interface.c:940 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "情報"
-#: ../plugins/gtkui/interface.c:953 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "終了"
-#: ../plugins/gtkui/interface.c:1025 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "ファイルの追加..."
-
-#: ../plugins/gtkui/interface.c:1069 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "_Abort"
-msgstr "中止(_A)"
-
-#: ../plugins/gtkui/interface.c:1170 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "トラックのプロパティ"
-#: ../plugins/gtkui/interface.c:1194 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>警告</b>: タグの書き出し機能はまだ開発段階です。\n"
-"使用前に<b>バックアップを作成してください</b>。"
+#~ msgid "Settings"
+#~ msgstr ""
-#: ../plugins/gtkui/interface.c:1221 ../plugins/gtkui/deadbeef.glade.h:132
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "適用(_A)"
-#: ../plugins/gtkui/interface.c:1242 ../plugins/gtkui/interface.c:1288
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "閉じる(_C)"
-#: ../plugins/gtkui/interface.c:1246 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "メタデータ"
-#: ../plugins/gtkui/interface.c:1292 ../plugins/gtkui/plcommon.c:402
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "プロパティ"
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/deadbeef.glade.h:146
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1393 ../plugins/gtkui/interface.c:2770
-#: ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Title:"
-msgstr "タイトル:"
-
-#: ../plugins/gtkui/interface.c:1401 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "新規カラムのタイトルをここに入力します"
-#: ../plugins/gtkui/interface.c:1409 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "形式:"
-#: ../plugins/gtkui/interface.c:1417
-msgid "File number"
-msgstr "ファイル番号"
+#~ msgid "Item Index"
+#~ msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/mainplaylist.c:297
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "再生"
-#: ../plugins/gtkui/interface.c:1419
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "アルバムアート"
-#: ../plugins/gtkui/interface.c:1420
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "アーティスト - アルバム"
-#: ../plugins/gtkui/interface.c:1421 ../plugins/gtkui/plcommon.c:774
-msgid "Artist"
-msgstr "アーティスト"
-
-#: ../plugins/gtkui/interface.c:1422 ../plugins/gtkui/interface.c:1795
-msgid "Album"
-msgstr "アルバム"
-
-#: ../plugins/gtkui/interface.c:1423 ../plugins/gtkui/prefwin.c:488
-msgid "Title"
-msgstr "タイトル"
-
-#: ../plugins/gtkui/interface.c:1424
-msgid "Length"
-msgstr "長さ"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "演奏時間"
-#: ../plugins/gtkui/interface.c:1425 ../plugins/gtkui/interface.c:1794
-msgid "Track"
-msgstr "トラック"
+#, fuzzy
+#~ msgid "Track Number"
+#~ msgstr "トラック番号"
-#: ../plugins/gtkui/interface.c:1426
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "バンド / アルバムのアーティスト"
-#: ../plugins/gtkui/interface.c:1427 ../plugins/gtkui/plcommon.c:778
-msgid "Custom"
-msgstr "カスタム"
-
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "書式:"
-#: ../plugins/gtkui/interface.c:1448 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "配置:"
-#: ../plugins/gtkui/interface.c:1456
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "左"
-#: ../plugins/gtkui/interface.c:1457
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "右"
-#: ../plugins/gtkui/interface.c:1459 ../plugins/gtkui/interface.c:3007
-#: ../plugins/gtkui/deadbeef.glade.h:47
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"書式変換 (% に続けて):\n"
-" アーティスト[a], タイトル[t], アルバム[b], バンド[B], 作曲[C]\n"
-" トラック番号[n], トラック数[N],\n"
-" 長さ[l], 年[y], ジャンル[g], コメント[c],\n"
-" 著作権[r], ファイル名[f], タグ[T]\n"
-"例: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1488 ../plugins/gtkui/interface.c:2801
-#: ../plugins/gtkui/interface.c:2913 ../plugins/gtkui/interface.c:3036
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "キャンセル(_C)"
-#: ../plugins/gtkui/interface.c:1509 ../plugins/gtkui/interface.c:2822
-#: ../plugins/gtkui/interface.c:2934 ../plugins/gtkui/interface.c:3057
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "OK(_O)"
-#: ../plugins/gtkui/interface.c:1726 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "出力プラグイン:"
-#: ../plugins/gtkui/interface.c:1739 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "出力デバイス:"
-#: ../plugins/gtkui/interface.c:1748 ../plugins/gtkui/deadbeef.glade.h:109
+#~ msgid "Always convert 8 bit audio to 16 bit"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "音声"
-#: ../plugins/gtkui/interface.c:1757 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "動的なサンプルレートの切り替えを許す"
-
-#: ../plugins/gtkui/interface.c:1765 ../plugins/gtkui/deadbeef.glade.h:98
-msgid "Samplerate conversion quality:"
-msgstr "サンプルレート変換の品質:"
-
-#: ../plugins/gtkui/interface.c:1784 ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "リプレイゲインのモード:"
-#: ../plugins/gtkui/interface.c:1793
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "無効"
-#: ../plugins/gtkui/interface.c:1797 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "トラック"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "リプレイゲインのピークを調整する"
-#: ../plugins/gtkui/interface.c:1801 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Sound (adv.)"
-msgstr "音声 (高度)"
+#~ msgid "-12 dB"
+#~ msgstr ""
+
+#~ msgid "+12 dB"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Replaygain preamp:"
+#~ msgstr "リプレイゲインのモード:"
+
+#, fuzzy
+#~ msgid "Global preamp:"
+#~ msgstr "リプレイゲインのモード:"
+
+#~ msgid "Add files from command line (or file manager) to this playlist:"
+#~ msgstr ""
+
+#~ msgid "Resume previous session on startup"
+#~ msgstr ""
+
+#~ msgid "Don't add from archives when adding folders"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Playback"
+#~ msgstr "再生(_P)"
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "設定"
+
+#, fuzzy
+#~ msgid "DSP Chain Preset"
+#~ msgstr "イコライザ設定を保存"
+
+#~ msgid "_Load"
+#~ msgstr ""
+
+#~ msgid "DSP"
+#~ msgstr ""
-#: ../plugins/gtkui/interface.c:1810 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "ウィンドウを閉じたときシステムトレイに格納"
-#: ../plugins/gtkui/interface.c:1814 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "マウスの中クリックでプレイリストを閉じる"
-#: ../plugins/gtkui/interface.c:1827 ../plugins/gtkui/interface.c:1871
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#~ msgid "Hide system tray icon"
+#~ msgstr ""
+
+#~ msgid "Use bold font for currently playing track"
+#~ msgstr ""
+
+#~ msgid "Hide \"Delete from disk\" context menu item"
+#~ msgstr ""
+
+#~ msgid "Auto-name playlists when adding a single folder"
+#~ msgstr ""
+
+#~ msgid "Interface refresh rate (times per second):"
+#~ msgstr ""
+
+#~ msgid "Titlebar text while playing:"
+#~ msgstr ""
+
+#~ msgid "Titlebar text while stopped:"
+#~ msgstr ""
+
+#~ msgid "GUI Plugin (changing requires restart):"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr "GUI"
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "デフォルトを上書きする"
-#: ../plugins/gtkui/interface.c:1836 ../plugins/gtkui/deadbeef.glade.h:45
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "前景色"
-#: ../plugins/gtkui/interface.c:1843 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "背景色"
-#: ../plugins/gtkui/interface.c:1862 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "シークバーと音量バーの色"
-#: ../plugins/gtkui/interface.c:1880 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "中間色"
-#: ../plugins/gtkui/interface.c:1887 ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "明色"
-#: ../plugins/gtkui/interface.c:1894 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "暗色"
-#: ../plugins/gtkui/interface.c:1925 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "基底色"
-#: ../plugins/gtkui/interface.c:1932 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "文字色"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "タブの色"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
"デフォルトを上書きする (GTKテーマが不適用になりますが描画が高速化します)"
-#: ../plugins/gtkui/interface.c:1950 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "偶数行"
-#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "奇数行"
-#: ../plugins/gtkui/interface.c:1976 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Text"
-msgstr "文字色"
-
-#: ../plugins/gtkui/interface.c:1983 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "選択の行"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "選択の文字色"
-#: ../plugins/gtkui/interface.c:2015 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "カーソル"
-#: ../plugins/gtkui/interface.c:2028 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "プレイリストの色"
-#: ../plugins/gtkui/interface.c:2032 ../plugins/gtkui/deadbeef.glade.h:54
-msgid "GUI"
-msgstr "GUI"
+#~ msgid "Colors"
+#~ msgstr ""
-#: ../plugins/gtkui/interface.c:2041 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "プロクシサーバを有効にする"
-#: ../plugins/gtkui/interface.c:2049 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "プロクシサーバのアドレス:"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "プロクシサーバのポート番号:"
-#: ../plugins/gtkui/interface.c:2077 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "プロクシの形式:"
-#: ../plugins/gtkui/interface.c:2096 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "プロクシのユーザ名:"
-#: ../plugins/gtkui/interface.c:2109 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "プロクシのパスワード:"
-#: ../plugins/gtkui/interface.c:2119 ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "ネットワーク"
-#: ../plugins/gtkui/interface.c:2147 ../plugins/gtkui/deadbeef.glade.h:128
+#~ msgid "Version: "
+#~ msgstr ""
+
+#~ msgid "Copyright"
+#~ msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "プラグイン"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "グループ化"
+
+#~ msgid "Sort by..."
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Format"
+#~ msgstr "書式:"
+
+#~ msgid "Ascending"
+#~ msgstr ""
+
+#~ msgid "Descending"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Select DSP Plugin"
+#~ msgstr "選択"
+
+#, fuzzy
+#~ msgid "Plugin"
+#~ msgstr "プラグイン"
+
+#, fuzzy
+#~ msgid "Tag Writer Settings"
+#~ msgstr "タグ書き出し"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "ID3v2 の書き出し"
-#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/interface.c:2278
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "ID3v1 の書き出し"
-#: ../plugins/gtkui/interface.c:2155 ../plugins/gtkui/interface.c:2234
-#: ../plugins/gtkui/interface.c:2274 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 の書き出し"
-#: ../plugins/gtkui/interface.c:2163 ../plugins/gtkui/interface.c:2242
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 の除去"
-#: ../plugins/gtkui/interface.c:2167 ../plugins/gtkui/interface.c:2290
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 の除去"
-#: ../plugins/gtkui/interface.c:2171 ../plugins/gtkui/interface.c:2246
-#: ../plugins/gtkui/interface.c:2286 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 の除去"
-#: ../plugins/gtkui/interface.c:2179 ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 のバージョン"
-#: ../plugins/gtkui/interface.c:2186
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (推奨)"
-#: ../plugins/gtkui/interface.c:2187
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2193 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 の文字エンコーディング (デフォルトは iso8859-1)"
-#: ../plugins/gtkui/interface.c:2230 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "ID3v2.4 の書き出し"
-#: ../plugins/gtkui/interface.c:2299 ../plugins/gtkui/deadbeef.glade.h:119
-msgid "Tag writer"
-msgstr "タグ書き出し"
-
-#: ../plugins/gtkui/interface.c:2330 ../plugins/gtkui/deadbeef.glade.h:23
-msgid "Description:"
-msgstr "説明:"
-
-#: ../plugins/gtkui/interface.c:2345 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "作者:"
-
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:29
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2375 ../plugins/gtkui/deadbeef.glade.h:125
-msgid "Website:"
-msgstr "Webサイト:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:18
-msgid "Configure"
-msgstr "設定"
-
-#: ../plugins/gtkui/interface.c:2410 ../plugins/gtkui/deadbeef.glade.h:84
-msgid "Plugins"
-msgstr "プラグイン"
-
-#: ../plugins/gtkui/interface.c:2754 ../plugins/gtkui/deadbeef.glade.h:147
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2881 ../plugins/gtkui/deadbeef.glade.h:124
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:2982 ../plugins/gtkui/deadbeef.glade.h:55
-msgid "Group By"
-msgstr "グループ化"
-
-#: ../plugins/gtkui/mainplaylist.c:298 ../plugins/gtkui/search.c:433
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "アーティスト / アルバム"
-#: ../plugins/gtkui/mainplaylist.c:299 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "トラック番号"
-#: ../plugins/gtkui/mainplaylist.c:300 ../plugins/gtkui/search.c:435
-msgid "Title / Track Artist"
-msgstr "タイトル / トラックのアーティスト"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:436
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "演奏時間"
-
-#: ../plugins/gtkui/plcommon.c:316
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "ファイルをディスクから削除"
-#: ../plugins/gtkui/plcommon.c:317
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -803,191 +879,210 @@ msgstr ""
"ファイルは失われます。続けますか?\n"
"(このダイアログは GTKUI プラグインの設定で無効にできます)"
-#: ../plugins/gtkui/plcommon.c:318 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "警告"
-#: ../plugins/gtkui/plcommon.c:363
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "再生キューへ追加"
-#: ../plugins/gtkui/plcommon.c:368
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "再生キューから削除"
-#: ../plugins/gtkui/plcommon.c:376
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "メタデータを再読み込み"
-#: ../plugins/gtkui/plcommon.c:392
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "ディスクから削除"
-#: ../plugins/gtkui/plcommon.c:616 ../plugins/gtkui/plcommon.c:741
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "カラムの追加"
-#: ../plugins/gtkui/plcommon.c:646 ../plugins/gtkui/plcommon.c:745
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "カラムの編集"
-#: ../plugins/gtkui/plcommon.c:749
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "カラムの削除"
-#: ../plugins/gtkui/plcommon.c:759
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "グループ化"
-#: ../plugins/gtkui/plcommon.c:766
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "なし"
-#: ../plugins/gtkui/plcommon.c:770
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "アーティスト/日付/アルバム"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "ファイルを開く..."
-#: ../plugins/gtkui/pluginconf.c:139
-#, c-format
-msgid "Setup %s"
-msgstr "%s の設定"
+#, fuzzy, c-format
+#~ msgid "Configure %s"
+#~ msgstr "設定"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "デフォルトの音声デバイス"
-#: ../plugins/gtkui/prefwin.c:267
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "追加"
-#: ../plugins/gtkui/prefwin.c:277
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "グローバルホットキー"
-#: ../plugins/gtkui/prefwin.c:332
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "スロット"
-#: ../plugins/gtkui/prefwin.c:333
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "キーの組み合わせ"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:379 ../plugins/gtkui/prefwin.c:569
-#: ../plugins.c:833
-msgid "ALSA output plugin"
-msgstr "ALSA 出力プラグイン"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "ファイルの追加..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "初期化中..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "あなたはこのトラックのデータを変更しました。"
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "本当にウィンドウを閉じますか?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "タグの形式"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "埋め込みCUEシート"
+#~ msgid "[Multiple values] "
+#~ msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "はい"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "いいえ"
-
-#: ../plugins/gtkui/trkproperties.c:248 ../plugins/gtkui/trkproperties.c:260
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "キー"
-#: ../plugins/gtkui/trkproperties.c:249 ../plugins/gtkui/trkproperties.c:261
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "値"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF は現在演奏中です"
+#~ msgid "Writing tags..."
+#~ msgstr ""
+
+#~ msgid "Name:"
+#~ msgstr ""
-#: ../main.c:84
+#~ msgid "Field names must not start with : or _"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Cannot add field"
+#~ msgstr "ファイルを追加"
+
+#~ msgid "Field with such name already exists, please try different name."
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Really remove selected field?"
+#~ msgstr "本当にウィンドウを閉じますか?"
+
+#, fuzzy
+#~ msgid "Add field"
+#~ msgstr "ファイルを追加"
+
+#, fuzzy
+#~ msgid "Remove field"
+#~ msgstr "取り除く"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "使い方: deadbeef [オプション] [ファイル...]\n"
-#: ../main.c:85
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "オプション:\n"
-#: ../main.c:86
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h ヘルプ (このメッセージ) を表示して終了\n"
-#: ../main.c:87
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit プレイヤを終了する\n"
-#: ../main.c:88
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version バージョン情報を表示して終了\n"
-#: ../main.c:89
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play 再生を開始する\n"
-#: ../main.c:90
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop 再生を停止する\n"
-#: ../main.c:91
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause ポーズする\n"
-#: ../main.c:92
+#, c-format
+#~ msgid " --toggle-pause Toggle pause\n"
+#~ msgstr ""
+
+#, c-format
+#~ msgid ""
+#~ " --play-pause Start playback if stopped, toggle pause otherwise\n"
+#~ msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next プレイリストの次の曲へ\n"
-#: ../main.c:93
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev プレイリストの前の曲へ\n"
-#: ../main.c:94
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random プレイリストからランダムに選んだ曲へ\n"
-#: ../main.c:95
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue ファイルを既存のプレイリストに追加する\n"
-#: ../main.c:96
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying 書式 書式化されたトラック名を stdout に書き出します\n"
-#: ../main.c:97
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -999,7 +1094,7 @@ msgstr ""
" 長さ[l], トラック番号[n], 年[y], コメント[c],\n"
" 著作権[r], 経過時間[e]\n"
-#: ../main.c:100
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1008,11 +1103,25 @@ msgstr ""
" 例: --nowplaying \"%%a - %%t\" は \"アーティスト - タイ"
"トル\" と表示します\n"
-#: ../playlist.c:369 ../playlist.c:2212
+#, c-format
+#~ msgid ""
+#~ " for more info, see http://sourceforge.net/apps/"
+#~ "mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+#~ msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "デフォルト"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "はい"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "いいえ"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1020,7 +1129,12 @@ msgstr ""
"2.3 (推奨)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:25
+#~ msgid ""
+#~ "Ascending\n"
+#~ "Descending"
+#~ msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1030,33 +1144,33 @@ msgstr ""
"トラック\n"
"アルバム"
-#: ../plugins/gtkui/deadbeef.glade.h:34
-msgid ""
-"File number\n"
-"Playing\n"
-"Album Art\n"
-"Artist - Album\n"
-"Artist\n"
-"Album\n"
-"Title\n"
-"Length\n"
-"Track\n"
-"Band / Album Artist\n"
-"Custom"
-msgstr ""
-"ファイル番号\n"
-"演奏中\n"
-"アルバムアート\n"
-"アーティスト - アルバム\n"
-"アーティスト\n"
-"アルバム\n"
-"タイトル\n"
-"長さ\n"
-"トラック\n"
-"バンド / アルバムのアーティスト\n"
-"カスタム"
-
-#: ../plugins/gtkui/deadbeef.glade.h:60
+#, fuzzy
+#~ msgid ""
+#~ "Item Index\n"
+#~ "Playing\n"
+#~ "Album Art\n"
+#~ "Artist - Album\n"
+#~ "Artist\n"
+#~ "Album\n"
+#~ "Title\n"
+#~ "Duration\n"
+#~ "Track Number\n"
+#~ "Band / Album Artist\n"
+#~ "Custom"
+#~ msgstr ""
+#~ "ファイル番号\n"
+#~ "演奏中\n"
+#~ "アルバムアート\n"
+#~ "アーティスト - アルバム\n"
+#~ "アーティスト\n"
+#~ "アルバム\n"
+#~ "タイトル\n"
+#~ "長さ\n"
+#~ "トラック\n"
+#~ "バンド / アルバムのアーティスト\n"
+#~ "カスタム"
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1065,61 +1179,571 @@ msgstr ""
"右"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Pixmap ファイルが見つかりません: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "入力バッファに必要なメモリが確保できません。"
+#, c-format
+#~ msgid ""
+#~ "wildmidi: freepats config file not found. Please install timidity-freepats "
+#~ "package, or specify path to freepats.cfg in the plugin settings."
+#~ msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "音楽 CD を追加"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Ogg ビットストリームの最初のページの読み込みにエラー。"
+#~ msgid "Lookup on Last.fm"
+#~ msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "最初のヘッダのパケットの読み込みにエラー。"
+#~ msgid "Use ALSA resampling"
+#~ msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "新規ストリームのシリアル番号の登録に必要なメモリが確保できません。"
+#~ msgid "Release device while stopped"
+#~ msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "入力は欠損しているか空です。"
+#~ msgid "Preferred buffer size"
+#~ msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "入力は Ogg ビットストリームではありません。"
+#~ msgid "Preferred period size"
+#~ msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg ビットストリーム中に Vorbis データがありません。"
+#, fuzzy
+#~ msgid "Enable scrobbler"
+#~ msgstr "プロクシサーバを有効にする"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "認識できるストリームの前に EOF があります。"
+#, fuzzy
+#~ msgid "Disable nowplaying"
+#~ msgstr "DeaDBeeF は現在演奏中です"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg ビットストリーム中に対応したデータ型がありません。"
+#, fuzzy
+#~ msgid "Username"
+#~ msgstr "プロクシのユーザ名:"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "第2ヘッダが破損しています。"
+#, fuzzy
+#~ msgid "Password"
+#~ msgstr "プロクシのパスワード:"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Vorbis ヘッダの終わりの前に EOF があります。"
+#~ msgid "Scrobble URL"
+#~ msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "データは破損または失われています。続行..."
+#, fuzzy
+#~ msgid "Device file"
+#~ msgstr "取り除く"
-#: ../plugins/vorbis/vcedit.c:874
-msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
-msgstr ""
-"ストリームの書き出し時にエラー。出力ストリームは破損もしくは欠損している可能"
-"性があります。"
+#~ msgid "OSS4 samplerate bug workaround"
+#~ msgstr ""
+
+#~ msgid "Cache update period (hr)"
+#~ msgstr ""
+
+#~ msgid "Fetch from embedded tags"
+#~ msgstr ""
+
+#~ msgid "Fetch from local folder"
+#~ msgstr ""
+
+#~ msgid "Local cover file mask"
+#~ msgstr ""
+
+#~ msgid "Fetch from last.fm"
+#~ msgstr ""
+
+#~ msgid "Fetch from albumart.org"
+#~ msgstr ""
+
+#~ msgid "Scale artwork towards longer side"
+#~ msgstr ""
+
+#~ msgid "Use CDDB/FreeDB"
+#~ msgstr ""
+
+#~ msgid "Prefer CD-Text over CDDB"
+#~ msgstr ""
+
+#~ msgid "CDDB url (e.g. 'freedb.org')"
+#~ msgstr ""
+
+#~ msgid "CDDB port number (e.g. '888')"
+#~ msgstr ""
+
+#~ msgid "Prefer CDDB protocol over HTTP"
+#~ msgstr ""
+
+#~ msgid "Enable NRG image support"
+#~ msgstr ""
+
+#~ msgid "Resampling quality (0..2, higher is better)"
+#~ msgstr ""
+
+#~ msgid "Max song length (in minutes)"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Ask confirmation to delete files from disk"
+#~ msgstr "ファイルをディスクから削除"
+
+#~ msgid "Status icon volume control sensitivity"
+#~ msgstr ""
+
+#~ msgid "Custom status icon"
+#~ msgstr ""
+
+#~ msgid "Run gtk_init with --sync (debug mode)"
+#~ msgstr ""
+
+#~ msgid "Add separators between plugin context menu items"
+#~ msgstr ""
+
+#~ msgid "Notification title format"
+#~ msgstr ""
+
+#~ msgid "Notification content format"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Show album art"
+#~ msgstr "アルバムアート"
+
+#~ msgid "Album art size (px)"
+#~ msgstr ""
+
+#~ msgid "PulseAudio server"
+#~ msgstr ""
+
+#~ msgid "Samplerate"
+#~ msgstr ""
+
+#~ msgid "Relative seek table path"
+#~ msgstr ""
+
+#~ msgid "Absolute seek table path"
+#~ msgstr ""
+
+#~ msgid "Swap audio bytes (toggle if all you hear is static)"
+#~ msgstr ""
+
+#~ msgid "Enable HVSC Songlength DB"
+#~ msgstr ""
+
+#~ msgid "Songlengths.txt (from HVSC)"
+#~ msgstr ""
+
+#~ msgid "Bits per sample (8 or 16)"
+#~ msgstr ""
+
+#~ msgid "Default song length (sec)"
+#~ msgstr ""
+
+#~ msgid "Timidity++ bank configuration file"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Track Title"
+#~ msgstr "トラック番号"
+
+#~ msgid "Performer"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Total Tracks"
+#~ msgstr "タイトル / トラックのアーティスト"
+
+#~ msgid "Genre"
+#~ msgstr ""
+
+#~ msgid "Composer"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Disc Number"
+#~ msgstr "ファイル番号"
+
+#~ msgid "Comment"
+#~ msgstr ""
+
+#~ msgid "Encoder / Vendor"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Location"
+#~ msgstr "場所を追加"
+
+#~ msgid "Subtrack Index"
+#~ msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "タグの形式"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "埋め込みCUEシート"
+
+#~ msgid "Codec"
+#~ msgstr ""
+
+#~ msgid "File Extensions (separate with ';')"
+#~ msgstr ""
+
+#~ msgid "Convert"
+#~ msgstr ""
+
+#~ msgid "Target Samplerate"
+#~ msgstr ""
+
+#~ msgid "Quality / Algorythm"
+#~ msgstr ""
+
+#~ msgid "Automatic Samplerate (overrides Target Samplerate)"
+#~ msgstr ""
+
+#~ msgid "The file already exists. Overwrite?"
+#~ msgstr ""
+
+#~ msgid "Converter warning"
+#~ msgstr ""
+
+#~ msgid "Please select encoder"
+#~ msgstr ""
+
+#~ msgid "Converter error"
+#~ msgstr ""
+
+#~ msgid "Converting..."
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Select folder..."
+#~ msgstr "すべて選択"
+
+#, fuzzy
+#~ msgid "Failed to save encoder preset"
+#~ msgstr "イコライザ設定の読み込み"
+
+#~ msgid ""
+#~ "Check preset folder permissions, try to pick different title, or free up "
+#~ "some disk space"
+#~ msgstr ""
+
+#~ msgid "Preset with the same name already exists. Try to pick another title."
+#~ msgstr ""
+
+#~ msgid "Error"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Add new encoder"
+#~ msgstr "カラムの編集"
+
+#, fuzzy
+#~ msgid "Edit encoder"
+#~ msgstr "カラムの編集"
+
+#, fuzzy
+#~ msgid "Remove preset"
+#~ msgstr "イコライザ設定を保存"
+
+#~ msgid "This action will delete the selected preset. Are you sure?"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Encoders"
+#~ msgstr "カラムの編集"
+
+#~ msgid "Add plugin to DSP chain"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Failed to save DSP preset"
+#~ msgstr "イコライザ設定を保存"
+
+#, fuzzy
+#~ msgid "New DSP Preset"
+#~ msgstr "イコライザ設定を保存"
+
+#, fuzzy
+#~ msgid "Edit DSP Preset"
+#~ msgstr "イコライザ設定を保存"
+
+#, fuzzy
+#~ msgid "DSP Presets"
+#~ msgstr "イコライザ設定を保存"
+
+#, fuzzy
+#~ msgid "Output folder:"
+#~ msgstr "出力デバイス:"
+
+#, fuzzy
+#~ msgid "Output file name:"
+#~ msgstr "出力プラグイン:"
+
+#~ msgid ""
+#~ "Extension (e.g. .mp3) will be appended automatically.\n"
+#~ "Leave the field empty for default (%a - %t)."
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Encoder:"
+#~ msgstr "カラムの編集"
+
+#, fuzzy
+#~ msgid "DSP preset:"
+#~ msgstr "イコライザ設定を保存"
+
+#~ msgid "Number of threads:"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Output sample format:"
+#~ msgstr "出力プラグイン:"
+
+#~ msgid "Keep source format"
+#~ msgstr ""
+
+#~ msgid "8 bit signed int"
+#~ msgstr ""
+
+#~ msgid "16 bit signed int"
+#~ msgstr ""
+
+#~ msgid "24 bit signed int"
+#~ msgstr ""
+
+#~ msgid "32 bit signed int"
+#~ msgstr ""
+
+#~ msgid "32 bit float"
+#~ msgstr ""
+
+#~ msgid "When file exists:"
+#~ msgstr ""
+
+#~ msgid "Prompt"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Overwrite"
+#~ msgstr "デフォルトを上書きする"
+
+#~ msgid "Preserve folder structure, starting from:"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Edit Encoder Preset"
+#~ msgstr "イコライザ設定の読み込み"
+
+#, fuzzy
+#~ msgid "Untitled Encoder"
+#~ msgstr "カラムの編集"
+
+#, fuzzy
+#~ msgid "Output file extension:"
+#~ msgstr "出力プラグイン:"
+
+#~ msgid "E.g. mp3"
+#~ msgstr ""
+
+#~ msgid "Command line:"
+#~ msgstr ""
+
+#, c-format
+#~ msgid ""
+#~ "Example: lame - %o\n"
+#~ "%i for input file, %o for output file, - for stdin"
+#~ msgstr ""
+
+#, c-format
+#~ msgid ""
+#~ "<small>%o - output file name\n"
+#~ "%i - temporary input file name</small>"
+#~ msgstr ""
+
+#~ msgid "Method:"
+#~ msgstr ""
+
+#~ msgid "Pipe"
+#~ msgstr ""
+
+#~ msgid "Temporary file"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "APEv2"
+#~ msgstr "APEv2 の書き出し"
+
+#, fuzzy
+#~ msgid "ID3v1"
+#~ msgstr "ID3v1 の書き出し"
+
+#~ msgid "OggVorbis"
+#~ msgstr ""
+
+#~ msgid "FLAC"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "ID3v2"
+#~ msgstr "ID3v2 の書き出し"
+
+#, fuzzy
+#~ msgid "<b>Tag writer</b>"
+#~ msgstr "タグ書き出し"
+
+#, fuzzy
+#~ msgid "DSP Preset Editor"
+#~ msgstr "イコライザ設定を保存"
+
+#, fuzzy
+#~ msgid "Untitled DSP Preset"
+#~ msgstr "イコライザ設定を保存"
+
+#~ msgid "Save playlist as"
+#~ msgstr "名前をつけてプレイリストを保存"
+
+#~ msgid "Shuffle"
+#~ msgstr "シャッフル"
+
+#~ msgid "_Abort"
+#~ msgstr "中止(_A)"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>警告</b>: タグの書き出し機能はまだ開発段階です。\n"
+#~ "使用前に<b>バックアップを作成してください</b>。"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "File number"
+#~ msgstr "ファイル番号"
+
+#~ msgid "Length"
+#~ msgstr "長さ"
+
+#, no-c-format
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "書式変換 (% に続けて):\n"
+#~ " アーティスト[a], タイトル[t], アルバム[b], バンド[B], 作曲[C]\n"
+#~ " トラック番号[n], トラック数[N],\n"
+#~ " 長さ[l], 年[y], ジャンル[g], コメント[c],\n"
+#~ " 著作権[r], ファイル名[f], タグ[T]\n"
+#~ "例: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "動的なサンプルレートの切り替えを許す"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "サンプルレート変換の品質:"
+
+#~ msgid "Sound (adv.)"
+#~ msgstr "音声 (高度)"
+
+#~ msgid "Tag writer"
+#~ msgstr "タグ書き出し"
+
+#~ msgid "Description:"
+#~ msgstr "説明:"
+
+#~ msgid "Author(s):"
+#~ msgstr "作者:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Webサイト:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "タイトル / トラックのアーティスト"
+
+#, c-format
+#~ msgid "Setup %s"
+#~ msgstr "%s の設定"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA 出力プラグイン"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF は現在演奏中です"
+
+#~ msgid ""
+#~ "File number\n"
+#~ "Playing\n"
+#~ "Album Art\n"
+#~ "Artist - Album\n"
+#~ "Artist\n"
+#~ "Album\n"
+#~ "Title\n"
+#~ "Length\n"
+#~ "Track\n"
+#~ "Band / Album Artist\n"
+#~ "Custom"
+#~ msgstr ""
+#~ "ファイル番号\n"
+#~ "演奏中\n"
+#~ "アルバムアート\n"
+#~ "アーティスト - アルバム\n"
+#~ "アーティスト\n"
+#~ "アルバム\n"
+#~ "タイトル\n"
+#~ "長さ\n"
+#~ "トラック\n"
+#~ "バンド / アルバムのアーティスト\n"
+#~ "カスタム"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "入力バッファに必要なメモリが確保できません。"
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Ogg ビットストリームの最初のページの読み込みにエラー。"
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "最初のヘッダのパケットの読み込みにエラー。"
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "新規ストリームのシリアル番号の登録に必要なメモリが確保できません。"
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "入力は欠損しているか空です。"
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "入力は Ogg ビットストリームではありません。"
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg ビットストリーム中に Vorbis データがありません。"
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "認識できるストリームの前に EOF があります。"
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg ビットストリーム中に対応したデータ型がありません。"
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "第2ヘッダが破損しています。"
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Vorbis ヘッダの終わりの前に EOF があります。"
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "データは破損または失われています。続行..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr "ストリームの書き出し時にエラー。出力ストリームは破損もしくは欠損している可能性があります。"
diff --git a/po/kk.po b/po/kk.po
index 9889fe38..4b6a3ebb 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -2,867 +2,1083 @@
# Copyright (C) 2010 HZ
# This file is distributed under the same license as the PACKAGE package.
# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2010.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-31 04:37+0000\n"
-"PO-Revision-Date: 2010-06-24 12:09+0600\n"
-"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-26 12:59+0200\n"
+"Last-Translator: sotrud_nik <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
+"Language: kk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: kk\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Қолдауы бар дыбыс пішімдері"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Басқа файлдар (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Барлық файлдар (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Файлд(дар)ды ашу..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Файл(дар)ды ойнату тізіміне қосу..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Бума(лар)ды ойнату тізіміне қосу..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Жарлықтардың соңынан жүру"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Көмек файлын оқу сәтсіз"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Көмек файлын жүктеу сәтсіз"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737
+#: ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Көмек"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "DeaDBeeF %s туралы"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s өзгерістері"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "DeaDBeeF аудармашылары"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755
+#: ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Ойнату тізімін түзету"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:758
+#: ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922
+#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Атауы:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Ойнату тізімінің атын ауыстыру"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Ойнату тізімін өшіру"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Жаңа ойнату тізімі"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "DeaDBeeF EQ баптауын сақтау"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ баптау файлдары (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "DeaDBeeF EQ баптауын жүктеу..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ баптаулары (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Foobar2000 EQ баптауын импорттау..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ баптаулары (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Баптауды сақтау"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Баптауды жүктеу"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Foobar2000 EQ баптауын импорттау"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
-msgstr "Қосу"
+msgstr "Іске қосу"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Барлығын нөлдеу"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Алдын-ала күшейтуді нөлдеу"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Жиіліктерді нөлдеу"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Баптауды сақтау"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Баптауды жүктеу"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Foobar2000 EQ баптауын импорттау"
+#: ../plugins/gtkui/eq.c:387
+#: ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Сақталған баптаулар"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 күн %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d күн %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Тоқтатылған | %d трек | %s жалпы уақыты"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Моно"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Стерео"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d кбит/с "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Аялдатылған | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr "%s%s %s| %dГц | %d бит | %s | %d:%02d / %s | %d трек | %s жалпы уақыты"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Ойнату тізімін қалайша сақтау"
-#: ../plugins/gtkui/gtkui.c:670 ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF ойнату тізім файлдары (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Ойнату тізімін жүктеу"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Басқа файлдар (*)"
+
+#: ../plugins/gtkui/gtkui.c:926
+#: ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Жаңа ойнату тізімі"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Жаңа ойнату тізімі (%d)"
-#: ../plugins/gtkui/interface.c:142 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150
+#: ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Файл"
-#: ../plugins/gtkui/interface.c:149 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157
+#: ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "Ф_айл(дар)ды ашу"
-#: ../plugins/gtkui/interface.c:165 ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173
+#: ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Файл(дар)ды қосу"
-#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181
+#: ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Бума(лар)ды қосу"
-#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189
+#: ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Орналасуы бойынша қосу"
-#: ../plugins/gtkui/interface.c:190 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198
+#: ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Жаңа ойнату тізімі"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205
+#: ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Ойнату тізімін жүктеу"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209
+#: ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Ойнату тізімін сақтау"
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Ойнату тізімін қалайша сақтау"
-
-#: ../plugins/gtkui/interface.c:214 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218
+#: ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Шығу"
-#: ../plugins/gtkui/interface.c:225 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229
+#: ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "Тү_зету"
-#: ../plugins/gtkui/interface.c:232 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236
+#: ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "Та_зарту"
-#: ../plugins/gtkui/interface.c:240 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244
+#: ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Барлығын таңдау"
-#: ../plugins/gtkui/interface.c:247 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251
+#: ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Таңдауды алып тастау"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258
+#: ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Таңдауды терістеу"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262
+#: ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Таңдалған"
-#: ../plugins/gtkui/interface.c:265 ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269
+#: ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323
+#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Өшіру"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277
+#: ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Одан басқасын өшіру"
-#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281
+#: ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "Ізд_еу"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288
+#: ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Қалайша сұрыптау"
+
+#: ../plugins/gtkui/interface.c:295
+#: ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318
+#: ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393
+#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790
+#: ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Атауы"
+
+#: ../plugins/gtkui/interface.c:299
+#: ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Трек нөмірі"
+
+#: ../plugins/gtkui/interface.c:303
+#: ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875
+#: ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Альбом"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307
+#: ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013
+#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Әртіс"
+
+#: ../plugins/gtkui/interface.c:311
+#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Күні"
+
+#: ../plugins/gtkui/interface.c:315
+#: ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017
+#: ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Таңдауыңызша"
+
+#: ../plugins/gtkui/interface.c:324
+#: ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Баптаулар"
-#: ../plugins/gtkui/interface.c:293 ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328
+#: ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Түрі"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335
+#: ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Қалып-күй жолағы"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339
+#: ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Бағандар аттары"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343
+#: ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Беттер"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347
+#: ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Эквалайзер"
-#: ../plugins/gtkui/interface.c:316 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351
+#: ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "О_йнату"
-#: ../plugins/gtkui/interface.c:323 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358
+#: ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Реті"
-#: ../plugins/gtkui/interface.c:330 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365
+#: ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Қалыпты"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Араластыру"
+#: ../plugins/gtkui/interface.c:370
+#: ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Тректерді араластыру"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375
+#: ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Альбомдарды араластыру"
+
+#: ../plugins/gtkui/interface.c:380
+#: ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Кездейсоқ"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386
+#: ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Қайталау"
-#: ../plugins/gtkui/interface.c:355 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393
+#: ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Барлығын қайталау"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398
+#: ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Бір тректі қайталау"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403
+#: ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Қайталамау"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409
+#: ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Ағымдағы трек атын айналдыру"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414
+#: ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Ағымдағы тректі ерекшелеу"
-#: ../plugins/gtkui/interface.c:382 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418
+#: ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Ағымдағысынан кейін тоқтату"
-#: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430
+#: ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Ағымдағы трекке өту"
-#: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437
+#: ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Көмек"
-#: ../plugins/gtkui/interface.c:416 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452
+#: ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "Өз_герістер"
-#: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461
+#: ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465
+#: ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474
+#: ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "О_сы туралы"
-#: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482
+#: ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "Ау_дармашылар"
-#: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898
+#: ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Іздеу"
-#: ../plugins/gtkui/interface.c:911 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973
+#: ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Тоқтату"
-#: ../plugins/gtkui/interface.c:919 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981
+#: ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Ойнату"
-#: ../plugins/gtkui/interface.c:927 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989
+#: ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Аялдату"
-#: ../plugins/gtkui/interface.c:935 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997
+#: ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Алдыңғы"
-#: ../plugins/gtkui/interface.c:943 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005
+#: ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Келесі"
-#: ../plugins/gtkui/interface.c:951 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013
+#: ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Кездейсоқты ойнату"
-#: ../plugins/gtkui/interface.c:960 ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022
+#: ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Осы туралы"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035
+#: ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Шығу"
-#: ../plugins/gtkui/interface.c:1045 ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Файлдарды қосу..."
-
-#: ../plugins/gtkui/interface.c:1089 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "Ү_зу"
-
-#: ../plugins/gtkui/interface.c:1189 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225
+#: ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Трек қасиеттері"
-#: ../plugins/gtkui/interface.c:1235 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270
+#: ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Баптаулар"
+
+#: ../plugins/gtkui/interface.c:1296
+#: ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "Іс_ке асыру"
-#: ../plugins/gtkui/interface.c:1256 ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317
+#: ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Жабу"
-#: ../plugins/gtkui/interface.c:1260 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321
+#: ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Метаақпарат"
-#: ../plugins/gtkui/interface.c:1306 ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367
+#: ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Қасиеттері"
-#: ../plugins/gtkui/interface.c:1391 ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Атауы:"
-
-#: ../plugins/gtkui/interface.c:1414 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494
+#: ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Жаңа баған атауын осында енгіңіз"
-#: ../plugins/gtkui/interface.c:1422 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502
+#: ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Түрі:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Реттік нөмірі"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431 ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511
+#: ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Ойналуда"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Альбом суреті"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Әртіс - Альбом"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434 ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Әртіс"
-
-#: ../plugins/gtkui/interface.c:1435 ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Альбом"
-
-#: ../plugins/gtkui/interface.c:1436 ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Атауы"
-
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517
+#: ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Ұзақтығы"
-#: ../plugins/gtkui/interface.c:1438 ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Трек"
+#: ../plugins/gtkui/interface.c:1518
+#: ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Трек нөмірі"
-#: ../plugins/gtkui/interface.c:1439 ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519
+#: ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Топ / Альбом әртісі"
-#: ../plugins/gtkui/interface.c:1440 ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Таңдауыңызша"
-
-#: ../plugins/gtkui/interface.c:1446 ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526
+#: ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Пішімі:"
-#: ../plugins/gtkui/interface.c:1461 ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551
+#: ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Туралауы:"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Сол жақ"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Оң жақ"
-#: ../plugins/gtkui/interface.c:1472 ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Түрлендіру пішімі (басталуы - %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Мысалы: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501 ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040 ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583
+#: ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065
+#: ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "Ба_с тарту"
-#: ../plugins/gtkui/interface.c:1522 ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061 ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604
+#: ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086
+#: ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_ОК"
-#: ../plugins/gtkui/interface.c:1753 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825
+#: ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Шығыс плагин:"
-#: ../plugins/gtkui/interface.c:1766 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838
+#: ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Шығыс құрылғы:"
-#: ../plugins/gtkui/interface.c:1775 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847
+#: ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "8 биттік аудионы әрқашан 16 биттіке түрлендіру"
+
+#: ../plugins/gtkui/interface.c:1851
+#: ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Дыбыс"
-#: ../plugins/gtkui/interface.c:1784 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Дискреттеу жиілігін түрлендіруге рұқсат ету"
-
-#: ../plugins/gtkui/interface.c:1792 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Интерполяция алгоритмі:"
-
-#: ../plugins/gtkui/interface.c:1811 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864
+#: ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Дыбыс қаттылығын авто түзету:"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Сөндірулі"
-#: ../plugins/gtkui/interface.c:1824 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Трек"
+
+#: ../plugins/gtkui/interface.c:1877
+#: ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Пиктік мәнін қолдану"
-#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892
+#: ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 дБ"
+
+#: ../plugins/gtkui/interface.c:1902
+#: ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 дБ"
+
+#: ../plugins/gtkui/interface.c:1906
+#: ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Дыбыс қаттылығын автотүзетудің алдын-ала күшейтілуі:"
+
+#: ../plugins/gtkui/interface.c:1913
+#: ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Дыбыс қаттылығын жалпы алдын-ала күшейту:"
+
+#: ../plugins/gtkui/interface.c:1944
+#: ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "Бұл ойнату тізіміне файлдарды командалық жолдан (не файлдар басқарушысынан) қосу:"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953
+#: ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Қосылғанда, соңғы сессияны жалғастыру"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957
+#: ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Бумаларды қосқан кезде архивтерден қоспау"
+
+#: ../plugins/gtkui/interface.c:1961
+#: ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Ойнату үрдісі"
-#: ../plugins/gtkui/interface.c:1854 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982
+#: ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Баптау"
+
+#: ../plugins/gtkui/interface.c:2017
+#: ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "DSP тізбегінің баптауы"
+
+#: ../plugins/gtkui/interface.c:2029
+#: ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "Жү_ктеу"
+
+#: ../plugins/gtkui/interface.c:2033
+#: ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042
+#: ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Жабу орнына трейге орналастыру"
-#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046
+#: ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Тышқан орта батырмасы ойнату тізімін жабады"
-#: ../plugins/gtkui/interface.c:1862 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050
+#: ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Жүйелік сөре таңбашасын жасыру"
-#: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054
+#: ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Ағымдағы ойнатылып тұрған трек үшін жуан қаріпті қолдану"
-#: ../plugins/gtkui/interface.c:1870 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058
+#: ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "\"Қатты дисктен өшіру\" нұсқасын контекст мәзірінде көрсетпеу"
-#: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062
+#: ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Бірлік буманы қосқан кезде ойнату тізімін автоатау"
+
+#: ../plugins/gtkui/interface.c:2070
+#: ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Интерфейсті жаңарту жиілігі (секундына рет)"
+
+#: ../plugins/gtkui/interface.c:2084
+#: ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Ойнатылған кездегі атау мәтіні:"
-#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098
+#: ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Тоқтатылған кездегі атау мәтіні:"
-#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112
+#: ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "GUI плагині (ауыстырылса, қайта қосу керек):"
+
+#: ../plugins/gtkui/interface.c:2120
+#: ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1916 ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135
+#: ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Алмастыру"
-#: ../plugins/gtkui/interface.c:1925 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144
+#: ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Алдыңғы көрінісі"
-#: ../plugins/gtkui/interface.c:1932 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151
+#: ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Фон"
-#: ../plugins/gtkui/interface.c:1951 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170
+#: ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Үрдіс/дыбыс жолақтарының түстері"
-#: ../plugins/gtkui/interface.c:1969 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188
+#: ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Ортасы"
-#: ../plugins/gtkui/interface.c:1976 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195
+#: ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Ашық түсті"
-#: ../plugins/gtkui/interface.c:1983 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202
+#: ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Күңгірт"
-#: ../plugins/gtkui/interface.c:2014 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233
+#: ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Негізгі"
-#: ../plugins/gtkui/interface.c:2021 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240
+#: ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Мәтін"
+
+#: ../plugins/gtkui/interface.c:2253
+#: ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Беттер"
-#: ../plugins/gtkui/interface.c:2030 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262
+#: ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Алмастыру (GTK темасының баптаулары жоғалады, бірақ жылдамдығы артады)"
-#: ../plugins/gtkui/interface.c:2039 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271
+#: ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Жұп жол"
-#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278
+#: ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Тақ жол"
-#: ../plugins/gtkui/interface.c:2065 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Мәтін"
-
-#: ../plugins/gtkui/interface.c:2072 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304
+#: ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Ерекшеленген жол"
-#: ../plugins/gtkui/interface.c:2091 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323
+#: ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Ерекшеленген мәтін"
-#: ../plugins/gtkui/interface.c:2104 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336
+#: ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Курсор"
-#: ../plugins/gtkui/interface.c:2117 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349
+#: ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Ойнату тізім түстері"
-#: ../plugins/gtkui/interface.c:2121 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353
+#: ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Түстер"
-#: ../plugins/gtkui/interface.c:2130 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362
+#: ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Прокси серверді іске қосу"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370
+#: ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Прокси сервер адресі:"
-#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384
+#: ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Прокси сервер порты:"
-#: ../plugins/gtkui/interface.c:2166 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398
+#: ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Прокси түрі:"
-#: ../plugins/gtkui/interface.c:2185 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417
+#: ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Прокси пайдаланушысы:"
-#: ../plugins/gtkui/interface.c:2198 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430
+#: ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Прокси паролі:"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440
+#: ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Желі"
-#: ../plugins/gtkui/interface.c:2236 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471
+#: ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Нұсқасы:"
+
+#: ../plugins/gtkui/interface.c:2535
+#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Copyright"
+
+#: ../plugins/gtkui/interface.c:2545
+#: ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Плагиндер"
+
+#: ../plugins/gtkui/interface.c:3033
+#: ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135
+#: ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Қалайша топтау"
+
+#: ../plugins/gtkui/interface.c:3259
+#: ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Қалайша сұрыптау..."
+
+#: ../plugins/gtkui/interface.c:3275
+#: ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Пішімі"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Өсу ретімен"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Кему ретімен"
+
+#: ../plugins/gtkui/interface.c:3359
+#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "DSP плагинін таңдау"
+
+#: ../plugins/gtkui/interface.c:3375
+#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016
+#: ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Плагин"
+
+#: ../plugins/gtkui/interface.c:3461
+#: ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Тег жазушысы баптаулары"
+
+#: ../plugins/gtkui/interface.c:3492
+#: ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "ID3v2 жазу"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496
+#: ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "ID3v1 жазу"
-#: ../plugins/gtkui/interface.c:2244 ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500
+#: ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619
+#: ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 жазу"
-#: ../plugins/gtkui/interface.c:2252 ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508
+#: ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 алып тастау"
-#: ../plugins/gtkui/interface.c:2256 ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512
+#: ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 алып тастау"
-#: ../plugins/gtkui/interface.c:2260 ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516
+#: ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631
+#: ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 алып тастау"
-#: ../plugins/gtkui/interface.c:2268 ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524
+#: ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 нұсқасы"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Ұсынылады)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282 ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538
+#: ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
-msgstr "ID3v1 таңбалар кодалауы (бастапқысы iso8859-1)"
+msgstr "ID3v1 таңбалар кодталуы (бастапқысы iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575
+#: ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "ID3v2.4 жазу"
-#: ../plugins/gtkui/interface.c:2388 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Тег жазушысы"
-
-#: ../plugins/gtkui/interface.c:2419 ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Анықтамасы:"
-
-#: ../plugins/gtkui/interface.c:2434 ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Автор(лар)ы:"
-
-#: ../plugins/gtkui/interface.c:2449 ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2464 ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Веб сайт:"
-
-#: ../plugins/gtkui/interface.c:2495 ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Баптау"
-
-#: ../plugins/gtkui/interface.c:2499 ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Плагиндер"
-
-#: ../plugins/gtkui/interface.c:2881 ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:3008 ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109 ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Қалайша топтау"
-
-#: ../plugins/gtkui/interface.c:3134 ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Түрлендіру пішімі (басталуы - %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Мысалы: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306 ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316
+#: ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Әртіс / Альбом"
-#: ../plugins/gtkui/mainplaylist.c:307 ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317
+#: ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Трек №"
-#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Атауы / Трек әртісі"
-
-#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Ұзақтығы"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Файлдарды дисктен өшіру"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -870,203 +1086,226 @@ msgstr ""
"Файлдар жоғалады. Жалғастырамыз ба?\n"
"(Бұл сұхбат терезесін GTKUI плагин баптауларында сөндіруге болады)"
-#: ../plugins/gtkui/plcommon.c:326 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340
+#: ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693
+#: ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Ескерту"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Ойнату кезегіне қосу"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Ойнату кезегінен өшіру"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Метаақпаратты қайта жүктеп алу"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Дискіден өшіру"
-#: ../plugins/gtkui/plcommon.c:720 ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855
+#: ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Бағанды қосу"
-#: ../plugins/gtkui/plcommon.c:750 ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885
+#: ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Бағанды түзету"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Бағанды өшіру"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Қалайша топтау"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Ешнәрсе"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Әртіс/Күні/Альбом"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Файлды ашу..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "%s баптаулары"
+msgid "Configure %s"
+msgstr "%s баптау"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Негізгі дыбыс құрылғысы"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318
+#: ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Қосу"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Ыстық пернелер"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Слот"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Пернелер комбинациясы"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481 ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA шығыс плагині"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Файлдарды қосу..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Іске қосылуда..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Осы трек үшін сіз ақпаратты түзеттіңіз."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Терезені шынымен жабу керек пе?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Орналасуы"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Бірнеше мәндер] "
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Ішкі жолшықтың аты"
+#: ../plugins/gtkui/trkproperties.c:407
+#: ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Кілт"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Тег түр(лер)і"
+#: ../plugins/gtkui/trkproperties.c:408
+#: ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Мәні"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Құрамындағы cue файлы"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Тегтерді жазу..."
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ия"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Аты:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Жоқ"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Өріс атауы : не _ таңбаларынан басталмауы тиіс"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Кодек"
+#: ../plugins/gtkui/trkproperties.c:634
+#: ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Өрісті қосу мүмкін емес"
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Кілт"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Ондай атымен өріс бар болып тұр, басқа атауын көрсетіңіз."
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Мәні"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Таңдалған өрісті шынымен жабу керек пе?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Өрісті қосу"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF қазір ойнауда"
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Өрісті өшіру"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Қолданылуы: deadbeef [опциялар] [файл(дар)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Опциялары:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help не -h Көмек ақпаратын (осы) шығару мен шығу\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Плеерді жабу\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Нұсқа ақпаратын шығару мен шығу\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Ойнатуды бастау\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Ойнатуды тоқтату\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Ойнатуды аялдату\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Паузаны ауыстыру\n"
+
+#: ../main.c:100
+#, c-format
+msgid " --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Тоқтатылған болса, ойнату, болмаса, паузаны ауыстыру\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Ойнату тізіміндегі келесі трек\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Ойнату тізіміндегі алдыңғы трек\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Ойнату тізіміндегі кездейсоқ трек\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Файл(дар)ды бар ойнату тізіміне қосу\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying ПШМ Шығысқа пішімделген трек атын шығару\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1077,16 +1316,30 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
msgstr " мыс.: --nowplaying \"%%a - %%t\" экранға \"artist - title\" шығаруы тиіс\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid " for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " көбірек білу үшін, http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting қараңыз\n"
+
+#: ../playlist.c:454
+#: ../playlist.c:2398
msgid "Default"
msgstr "Бастапқы"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Иә"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Жоқ"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1094,7 +1347,15 @@ msgstr ""
"2.3 (Ұсынылады)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Өсу ретімен\n"
+"Кему ретімен"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1104,7 +1365,7 @@ msgstr ""
"Трек\n"
"Альбом"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1113,8 +1374,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1125,12 +1386,12 @@ msgstr ""
"Әртіс\n"
"Альбом\n"
"Атауы\n"
-"Ұзындығы\n"
-"Трек\n"
-"Топ / Альбом орындаушысы\n"
+"Ұзақтығы\n"
+"Трек нөмірі\n"
+"Топ / Альбом әртісі\n"
"Таңдауыңызша"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1138,7 +1399,10 @@ msgstr ""
"Сол жақ\n"
"Оң жақ"
-#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90
+#: ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90
+#: ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Сурет файлын табу мүмкін емес: %s"
@@ -1167,7 +1431,8 @@ msgstr "ALSA шығыс модулі"
msgid "Release device while stopped"
msgstr "Тоқтатылған кезде дыбыс құрылғысын босату"
-#: ../translation/extra.c:8 ../translation/extra.c:43
+#: ../translation/extra.c:8
+#: ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Таңдамалы буфер өлшемі"
@@ -1196,167 +1461,558 @@ msgstr "Пароль"
msgid "Scrobble URL"
msgstr "Скробблинг сілтемесі"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Құрылғы файлы"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "OSS4 үшін дискреттеу жиілігінің қатесіне түзету"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Кэш жаңарту мерзімі (сағ)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Кеңейтілген тегтерден алу"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Жергілікті бумадан алу"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Жергілікті мұқаба үшін файл маскасы"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "last.fm сайтынан алу"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "albumart.org сайтынан алу"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Альбом мұқабасын ұзын жағы бойынша масштабтау"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "CDDB/FreeDB қолдану"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "CDDB алдында CD-Text таңдау"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB сілтемесі (мыс. 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "CDDB порт нөмірі (мыс. '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "HTTP алдында CDDB хаттамасын таңдау"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "NRG бейнелер қолдауын іске қосу"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Қайта дискретизация сапасы (0..2, жоғарырақ - жақсырақ)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Тректің макс. ұзындығы (мин)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Файлдарды дисктен өшіру алдында растауды сұрау"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Жүйелік сөредегі таңбашаның дыбыс өзгерту сезімділігі"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Таңдауыңызша жүйелік сөредегі таңбаша"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "gtk_init --sync қосып, жөнелту (жөндеу режимі)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Контекст мәзірі элементтері арасына ажыратқышты қосу"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Хабарлама пішімі"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Хабарлама атауының пішімі"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Хабарлама құрамасының пішімі"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Альбом суретін көрсету"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Альбом суретінің өлшемі (пикс)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "PulseAudio сервері"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Дискреттеу жиілігі"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Іздеу кестесінің салыстырмалы жолы"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Іздеу кестесінің абсолюттік жолы"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Аудио байттар орнын ауыстыру"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "HVSC іске қосу"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "HVSC Songlength DB іске қосу"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "HVSC жолы"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (HVSC-дан)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Разрядтылығы (8 не 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Тректің үнсіз келісім б/ша ұзындығы (сек)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Timidity++ банкінің баптау файлы"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Трек атауы"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Орындайтын"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Күні"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Трек нөмірі"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Жалпы трек саны"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Жанр"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Композитор"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Диск нөмірі"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Комментарий"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
-msgstr "Кодер / Сатушы"
+msgstr "Кодтауыш / Шығарушы"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Copyright"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Орналасуы"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Ішкі жолшықтың аты"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Тег түр(лер)і"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Құрамындағы cue файлы"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Кодек"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Файл кеңейтулері (';' ажыратылады)"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Түрлендіру"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Мақсаттың дискреттеу жиілігі"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Сапасы / Алгоритмі"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Дискреттеудің автожиілігі (дискреттеу жиілігін қайта анықтайды)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Файл бар болып тұр. Оны үстінен жазу керек пе?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Түрлендіруші ескертуі"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Кодтауышты таңдаңыз"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Түрлендіруші қатесі"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Түрлендіру..."
+
+#: ../plugins/converter/convgui.c:394
+#: ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Буманы тандаңыз..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Кодтауыштың баптауын сақтау сәтсіз"
+
+#: ../plugins/converter/convgui.c:637
+#: ../plugins/converter/convgui.c:1035
+msgid "Check preset folder permissions, try to pick different title, or free up some disk space"
+msgstr ""
+"Баптау сақталатын бума рұқсаттарын тексеріңіз, басқа атауды таңдаңыз не "
+"біршама диск кеңістігін босатыңыз."
+
+#: ../plugins/converter/convgui.c:637
+#: ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Ондай атымен баптау бар болып тұр. Басқа атын көрсетіңіз."
+
+#: ../plugins/converter/convgui.c:638
+#: ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Қате"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Жаңа кодтауышты қосу"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Кодтауышты түзету"
+
+#: ../plugins/converter/convgui.c:756
+#: ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Баптауды өшіру"
+
+#: ../plugins/converter/convgui.c:758
+#: ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Бұл әрекет нәтижесінде таңдалған баптау өшіріледі. Осыны қалайсыз ба?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Кодтауыштар"
+
+#: ../plugins/converter/convgui.c:838
+#: ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Плагинді DSP тізбегіне қосу"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "DSP баптауын сақтау сәтсіз"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Жаңа DSP баптауы"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "DSP баптауын түзету"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP баптаулары"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Шығыс бумасы:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Шығыс файл аты:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Кеңейтуі (мыс. .mp3) автоқосылады.\n"
+"Үнсіз келісім үшін бос қалдырыңыз (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Кодтауыш:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP баптауы:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Ағымдар саны:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Сэмплдердің шығыс пішімі:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Бастапқы пішімді қалдыру"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 биттік таңбалы бүтін"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 биттік таңбалы бүтін"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 биттік таңбалы бүтін"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 биттік таңбалы бүтін"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 биттік қалқымалы"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Файл бар болса:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Сұрау"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Үстінен жазу"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Бумалар құрылысын сақтау, бастап:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Кодтауыш баптауын түзету"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Атауысыз кодтауыш"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Шығыс файлдың кеңейтуі:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Мыс. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Командалық жол:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Мысалы: lame - %o\n"
+"%i кіріс файлы, %o шығыс файлы үшін, - stdin үшін"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - шығыс файлы аты\n"
+"%i - уақытша кіріс файлының аты</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Тәсіл:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Pipe"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Уақытша файл"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Тег жазушысы</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "DSP баптау түзетушісі"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Атаусыз DSP баптауы"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Ойнату тізімін қалайша сақтау"
+
+#~ msgid "_Abort"
+#~ msgstr "Ү_зу"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Ұзақтығы"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Түрлендіру пішімі (басталуы - %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Мысалы: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Дискреттеу жиілігін түрлендіруге рұқсат ету"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Интерполяция алгоритмі:"
+
+#~ msgid "Description:"
+#~ msgstr "Анықтамасы:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Автор(лар)ы:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Веб сайт:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Түрлендіру пішімі (басталуы - %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Мысалы: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Атауы / Трек әртісі"
+
+#~ msgid "Setup %s"
+#~ msgstr "%s баптаулары"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA шығыс плагині"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF қазір ойнауда"
+
+#~ msgid "HVSC path"
+#~ msgstr "HVSC жолы"
#~ msgid "about.txt"
#~ msgstr "about.txt"
@@ -1383,7 +2039,9 @@ msgstr "Copyright"
#~ msgstr "Бастапқы тақырыптама дестесін оқу қатесі."
#~ msgid "Couldn't get enough memory to register new stream serial number."
-#~ msgstr "Жаңа ағымның сериялық нөмірін тіркеу үшін керек жады мөлшерін алу мүмкін емес."
+#~ msgstr ""
+#~ "Жаңа ағымның сериялық нөмірін тіркеу үшін керек жады мөлшерін алу мүмкін "
+#~ "емес."
#~ msgid "Input truncated or empty."
#~ msgstr "Кіріс қиылған не бос болып тұр."
@@ -1409,8 +2067,12 @@ msgstr "Copyright"
#~ msgid "Corrupt or missing data, continuing..."
#~ msgstr "Ақпарат зақымдалған не мүлдем жоқ, жалғастыру..."
-#~ msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-#~ msgstr "Шығысқа ағымды жазу қатесі. Шығыс ағымы зақымдалған не қиылған болуы мүмкін."
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Шығысқа ағымды жазу қатесі. Шығыс ағымы зақымдалған не қиылған болуы "
+#~ "мүмкін."
#~ msgid ""
#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
diff --git a/po/km.po b/po/km.po
index c7d95675..a2f981c6 100644
--- a/po/km.po
+++ b/po/km.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-09-03 07:11+0200\n"
"Last-Translator: SatyaN <satyathavy@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,1013 +18,1124 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0 ;\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "ដំណើរការជាមួយប្រពន័្ធសំលេង"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "ឯកសារផ្សេងទៀត (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "បើកឯកសារ..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "បន្ថែមឯកសារក្នុងបញ្ជីរ..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr ""
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "មានកំហុសពេលកំពុងអានឯកសារជំនួយ"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "មានកំហុសពេលផ្ទុកឯកសារជំនួយ"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "ជំនួយ"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "អំពី DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF ផ្លាស់ប្តួរកំណត់ហេតុ"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "កែសំរួលបញ្ជីរ"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "ចំណងជើង"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "ប្តូរឈ្មោះបញ្ជីរ"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "លុបបញ្ជីរ"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "បន្ថែមបញ្ជីរថ្មី"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "រក្សា DeaDBeeF EQ Preset"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "ផ្ទុក DeaDBeeF EQ Preset"
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "បញ្ចូល Foobar2000 EQ Preset..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "ផ្ទុកកំណត់ជាមុន"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "បញ្ចូល Foobar2000 EQ Preset..."
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "អនុញ្ញាត"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "សូន្យទាំងអស់"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "គ្មានប្រដាប់បំពងសំលេង"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "គ្មានក្រុមតន្ត្រី"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "រក្សាទុកកំណត់ជាមុន"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "ផ្ទុកកំណត់ជាមុន"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "បញ្ចូល Foobar2000 EQ Preset..."
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "ម៉ូណូ"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "ស្តេរេអូ"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "ផ្អាក"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "រក្សាបញ្ជីរជា"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "ផ្ទុកបញ្ជីរ"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "ឯកសារផ្សេងទៀត (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "បង្កើតបញ្ជីរថ្មី"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr ""
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "ទិន្នន៍យ"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "បើកទិន្នន៍យ"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "បញ្ចួលទិន្នន៍យ"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "បង្កើតថត"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "បង្កើតទីតាំង"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "បញ្ជីរថ្មី"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "ផ្ទុកបញ្ជីរ"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "រក្សាទុកបញ្ជីរ"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "រក្សាទុកបញ្ជីរជា"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "ចាកចេញ"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "កែសំរួល"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "ជម្រះ"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "ជ្រើសទាំងអស់"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "ដោះជម្រើសទាំងអស់"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "ដាក់បញ្ច្រាសជម្រើស"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "ជម្រើស"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "យកចេញ"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "ច្រឹប"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "សែ្វងរក"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "ចំណងជើង"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "លេខឯកសារ"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "អ៉ាល់បុ៑ម"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "អ្នកនិពន្ធ"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "ផ្ទាល់ខ្លួន"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "ចំណង់ចំណូលចិត្ត"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "មើល"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "របាស្ថានភាព"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "ក្បាលជួរឈរ"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "ផ្ទាំង"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "ធ្វើអោយស្មើគ្នា"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "ចាក់សារថ្មី"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "លំដាប់"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "លីនេអែ៑រ"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
msgstr ""
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "ចៃដន្យ"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "ការរង្វិលជុំ"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "រង្វិលជុំទាំងអស់"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "រង្វិលជុំមួយបទម្តង"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "កុំរង្វិលជុំ"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "រមូរចាក់សារថ្មី"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "បញ្ចប់បន្ទាប់ពីបច្ចុប្បន្ន"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "ជំនួយ"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "ផ្លាស់ប្តួរកំណត់ហេតុ"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "អំពី"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "ស្វែងរក"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "ឈប់"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "ចាក់"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "ផ្អាក"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "មុន"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "បន្ទាប់"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "ចាក់ចែដន្យ"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "អំពី"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "លះបង់"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "កំពុងផ្ទុកទិន្នន៍យ"
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "បោះបង់"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "ដានលក្ខណះសម្បត្តិ"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "អនុវត្ត"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "បិទ"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "មេតាទិន្នន៍យ"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "លក្ខណះសម្បត្តិ"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "ចំណងជើង"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr ""
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "ប្រភេទ"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "លេខឯកសារ"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "កំពុងលេង"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "តាក់តែងអ៉ាល់បុ៑ម"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "ម្ចាស់អ៉ាល់បុ៑ម"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "អ្នកនិពន្ធ"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "អ៉ាល់បុ៑ម"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "ចំណងជើង"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "ថេរវេលា"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr ""
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "ដាន"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr ""
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "ក្រុម/ម្ចាស់អ៉ាល់បុ៑ម"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "ផ្ទាល់ខ្លួន"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "ទ្រង់ទ្រាយ"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "តម្រឹម"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "ឆ្វេង"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "ស្តាំ"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "បោះបង់"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "យល់ព្រម"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "ទិន្នផលកម្មវីធីជំនួយ"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "សំលេង"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
msgstr ""
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
-msgid "Replaygain mode:"
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "ដាន"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
-msgid "Disable"
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
msgstr ""
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
-msgid "Replaygain peak scale"
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "ចាក់សារថ្មី"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr ""
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr ""
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr ""
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr ""
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr ""
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr ""
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr ""
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr ""
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr ""
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
-msgid "Write ID3v2"
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
msgstr ""
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
-msgid "Write ID3v1"
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
msgstr ""
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
-msgid "Write APEv2"
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
msgstr ""
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
-msgid "Strip ID3v2"
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
-msgid "Strip ID3v1"
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
-msgid "Strip APEv2"
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
-msgid "ID3v2 version"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "ទ្រង់ទ្រាយ"
-#: ../plugins/gtkui/interface.c:2247
-msgid "2.3 (Recommended)"
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2248
-msgid "2.4"
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
-msgid "ID3v1 character encoding (default is iso8859-1)"
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "ជម្រើស"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "Write ID3v2.4"
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
msgstr ""
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
msgstr ""
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr ""
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr ""
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "កំពុងផ្ទុកទិន្នន៍យ"
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "បញ្ចួលទិន្នន៍យ"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "យកចេញ"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr ""
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr ""
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr ""
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr ""
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr ""
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr ""
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr ""
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr ""
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr ""
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr ""
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1032,115 +1143,612 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
msgstr ""
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "បង្កើតអូឌីយូសីឌី"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "តាក់តែងអ៉ាល់បុ៑ម"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:52
+msgid "Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "ចំណងជើង"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "លេខឯកសារ"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "បង្កើតទីតាំង"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "ជ្រើសទាំងអស់"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "ទិន្នផលកម្មវីធីជំនួយ"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "ទិន្នផលកម្មវីធីជំនួយ"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "រក្សាទុកកំណត់ជាមុន"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "ផ្ទុកកំណត់ជាមុន"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "ទិន្នផលកម្មវីធីជំនួយ"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "បង្កើតអូឌីយូសីឌី"
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "រក្សាទុកបញ្ជីរជា"
+
+#~ msgid "_Abort"
+#~ msgstr "បោះបង់"
+
+#~ msgid "Length"
+#~ msgstr "ថេរវេលា"
diff --git a/po/lg.po b/po/lg.po
index 14f2b52a..cecc28d8 100644
--- a/po/lg.po
+++ b/po/lg.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.4.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2011-03-09 19:44+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-09 15:01+0200\n"
"Last-Translator: kizito <kbirabwa@yahoo.co.uk>\n"
"Language-Team: LANGUAGE <kbirabwa@yahoo.co.uk>\n"
"Language: lg\n"
@@ -18,850 +18,911 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Ebika bya fayiro ez'ebiwulirizibwa puloguramu z'etegeera"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Fayiro endala (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Fayiro zonna (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Bikkula fayiro..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Olukalala lw'enyimba lw'ongereko fayiro..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Olukalala lw'enyimba lwongereko (ma)terekero..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Bikkula n'ebituukibwako na nyunzi"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Wazewo kiremya mu kusoma fayiro ey'obuyambi"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Nnemedwa okubikkula fayiro ey'obuyambi"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Nyamba"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Okwanjula DeaDBeef %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Olukalala lw'enyukakyuka eziri mu DeadBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Abaavvuunula DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Kyusa mu lukalala lw'enyimba"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Mutwe:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Kyusa erinnya ly'olukalala lw'enyimba"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Gyawo olukalala lw'ennyimba"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Kolawo olukalala lw'enyimba olupya"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "kaza koppi y'enteekateeka y'obwangufu bw'amaloboozi ag'omu DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr ""
"Fayiro z'enteekateeka z'obwangufu bw'amaloboozi ag'omu DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
-msgstr "Soma fayiro y'enteekateeka z'obwangufu bw'amaloboozi ag'omu DeaDBeeF..."
+msgstr ""
+"Soma fayiro y'enteekateeka z'obwangufu bw'amaloboozi ag'omu DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr ""
"Fayiro z'enteekateeka z'obwangufu bw'amaloboozi ag'omu DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr ""
"Nona fayiro y'enteekateeka z'obwangufu bw'amalaboozi ey'ekika kya "
"Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr ""
-"fayiro z'enteekateeka z'obwangufu bw'amaloboozi ez'ekika kya Foobar2000 "
-"(*.feq)"
+"fayiro z'enteekateeka z'obwangufu bw'amaloboozi ez'ekika kya Foobar2000 (*."
+"feq)"
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Tereka koppi y'ebiteekateekedwa"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Soma koppi y'ebiteekateekedwa"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Nona koppi y'ebiteekateekedwa ey'ekika kya Foobar2000"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Zuukusa"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Byonna bidde ku zero"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Ekikangalazaddoboozi ekisooka kisse ku zero"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Amaloboozi gonna gadde ku zero"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Tereka koppi y'ebiteekateekedwa"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Soma koppi y'ebiteekateekedwa"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Nona koppi y'ebiteekateekedwa ey'ekika kya Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Koppi ez'ebiteekateekedwa ezaaterekebwa"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "Lunaku 1 %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "Nnaku %d %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Eyimirizidwa | Ntambi %d | Awamu zimala %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Siteriyo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| kb %4d bs "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Luyimirizidwamu | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s%s| Hz %d | bbiti %d | %s | %d:%02d /%s | ntambi %d | Awamu zimala %s"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Kolawo koppi y'olukalala eyitibwe"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Nkalalala z'enyimba ez'omu DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Soma olukalalala lw'enyimba"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Fayiro endala (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Kolawo olukalalala olupya"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Lukalalala olupya (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Fayiro"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Bikkula fayiro"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Teekako fayiro"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Teekako (ma)terekero"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Teekako obusangiro"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Kolwo olukalala olupya"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Soma olukalala lw'enyimba"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Kaza olukalala lw'enyimba"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Kolayo koppi y'olukalala"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Mala"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Kyusa"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Bisiimulewo"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Londa byonna"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Ta byonna"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Vuunika okulonda"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Ebirondedwa"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Bigyewo"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Bisagalewo byokka"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Zuula"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Sengekera ku"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Erinnya"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Namba y'olutambi"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Alubamu"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Muluyimba"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Ennaku"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Bye weteekateekedde"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Enteekateeka"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Endabika"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Olubaawo olulaga ebifa ku biwulirizibwa"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Mitwe ku nkumbo"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Obukonda"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ekiteekateeka entabula y'amaloboozi"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "Eby'em_puliriza"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Ensengeka"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Ku ziva kumukumu"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "Kuzivunga"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Vunga ntambi"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Vunga alubamu"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Muwawa"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Eby'okuddiŋana"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Zonna ziddiŋane"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Ddiŋana oluyimba lumu"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Toddiŋana"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Akaseesa kagoberere empuliriza y'enyimba"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Akasonga kagoberere empuliriza y'enyimba"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Luno bwe luggwa yimirira"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Nyamba"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Enkyukakyuka"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Kwanjula"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "_Abaavvuunula"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Noonya"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Yimirira"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Wuliriza"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Yimirizamu"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Olukulembedde"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Oluddako"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Wuliriza muwawa"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Kwanjula"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Mala"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Nyongerako fayiro..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Biveeko"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Ebikwata ku lutambi"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>KULABULA</b>: obusobozi obw'okuyungako okunnyonyola bukyakolebwako.\n"
-"Bw'oba oyagala okugeza okubukozesa, fayiro <b>sooka okgigyemu koppi "
-"ez'okwerinda</b>."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Enteekateeka"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Bikaze"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Ggala"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Ebinyonyola"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Ebirufaako"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Mutwe:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Wandikawo omutwe g'olukumba"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Kika:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Namba ya fayiro"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Lukalala lw'ebirimu"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Oluliko"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Bifaananyi bya ku alubamu"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Muluyimba - Alubamu"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Muluyimba"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Alubamu"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Erinnya"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Buwanvu bwa lwo"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Obwuwanvu bwa lwo"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Lutambi"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Namba y'olutambi"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Kibiina / Muluyimba w'alubamu"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Bye weteekateekedde"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Empandika:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Okwekubirira:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Ku kkono"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Ku ddyo"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Ebifuga empandika (bisookerwako ka %):\n"
-" [a] muluyimba, [t] erinnya ly'oluyimba, alu[b]amu, [B] kibiina, [C] "
-"Muwandisi\n"
-" [n]amba y'olutambi, [N] bungi bw'entambi,\n"
-" [l] buwanvu bwa lwo, [y] mwaka, [g] ttuluba lw'oluyimba, [c] ebinnyonyola,\n"
-" [r] eby'obwa nannyini, erinnya lya [f]ayiro, [F] ekkubo mu bujjuvu "
-"erituuka ku fayiro, [T] butuuti,\n"
-" [d] tterekero, [D] tterekero n'ekkubo erirituukako\n"
-"Kya kulabirako: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Sazamu"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Kale"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Puloguramu efulumya ebiwulirizibwa:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Ebiwulirizibwa gye bifulumira:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Ebiwulirizibwa ebya bbiti 8 bifuulibwenga bya bbiti 16"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Kwogeza"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Kisoboke okukyusa obwangu bw'okuddiŋana okuloza ebikwatibwa"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Obulongoofu bw'ebifuulidwa:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Maanyi g'eddoboozi ly'ebiwulirizibwa:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Gyako"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Lutambi"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Ekigero ky'amaanyi ge'ddoboozi ly'ebiwulirizibwa"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Maanyi g'eddoboozi ly'ebiwulirizibwa:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Olukalala lw'ongereko fayiro nga weyambisa kiwandikiro (oba "
"ekiteekateekafayiro):"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
-msgstr "Puloguramu bw'etandikibwa etandikirenga gye yakoma ku mulundi ogwasemba"
+msgstr ""
+"Puloguramu bw'etandikibwa etandikirenga gye yakoma ku mulundi ogwasemba"
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Eby'empuliriza"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Teekateeka"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
"Ggala kireetera puloguramu okufuuka kafaananyi mu kakuŋaanyizo ka ku lubaawo"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Eppeesa ary'okukasongesebwa erya wakati libikka olukalala lw'enyimba"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Kisa akafaananyi ak'omu kakuŋaanyizo ka ku lubaawo"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Ku lukalala oluyimba oluwulirizibwa lulabikire mu nnukuta nziggumivu"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Ekya \"Siimula ku disiki\" kikise"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Omutwe gw'eddirisa ng'oluyimba luwulirizibwa:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Omutwe gw'eddirisa nga puloguramu eyimirizidwa:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Ebirabikira awakolerwa"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Ssawo enteekateeka eyiyo"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Bwanjo"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Bwaliriro"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Langi eziraga oluyimba we lutuuse/bwangufu bw'eddoboozi"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Langi eyawakkatikati"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Langi entangaavu"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Langi enzirugarivu"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Langi ey'omulamwa"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Bigambo"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Langi ez'oku bukonda"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
"Ssawo enteekateeka eyiyo (kiva ku lulyo lwa langi olwa sisitemu naye "
"kyanguya puloguramu okulabika)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Nnyiriri kagabanyizikamubbiri"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Nnyiriri zinantagabanyizikamubbiri"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Bigambo"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Olunyiriri olulondedwa"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Ebigambo ebirondedwa"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Akasonga"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Langi ez'oku lukalala lw'enyimba"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Langi"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Kozesa ekiwereza kimasanganzira"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Endagiriro y'ekiwereza kimasanganzira:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Pooti y'ekiwereza kimasanganzira:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Kika ky'ekiwereza:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Erinnya ery'okukozesa ku kiwereza:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Ekyama eky'oku kiwereza:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Kayungirizi"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Puloguramu enyambi"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Lengera ku:"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Empandika"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Puloguramu enyambi"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Wandika ebya ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Wandika ebya ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Wandika ebya APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Gyamu ebya ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Gyamu ebya ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Gyamu ebya APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Oluwandika lwa ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Tukuwa magezi ga kukozesa luno)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Enkongojja y'ebiwandike eby'omu ID3v1 (iso8859-1 y'eya bulijjo)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Wandika ebya ID32.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Ekiwandika okunnyonyola kw'enyimba"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Okunnyonyola:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Muwandisi (bawandisi):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Enfo ya ku yintaneti:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Teekateeka"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Puloguramu enyambi"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Lengera ku:"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Okutangaaza ku mpandika enfunze (zitandikwa n'akabonero ka %):\n"
-" a: Muluyimba, t: Erinnya ly'oluyimba, b: Kibiina, C: Eyaluwandika\n"
-" n: Namba y'olutambi, N: Obungi bw'entambi,\n"
-" l: Buwanvu bwa lwo, y: Mwaka gwa lwo, g: Kika kya luyimba, c: "
-"Okunnyonyola,\n"
-" r: Ebikugizo by'obwanannyini, f: Linnya lya fayiro, T: Obugambo "
-"obuzuuzisibwa\n"
-"Eky'okulabirako: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Muluyimba / Alubamu"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Namba y'olutambi"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Erinnya / Muluyimba w'olutambi"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Obwuwanvu bwa lwo"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Siimula fayiro ku disiki"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -869,199 +930,236 @@ msgstr ""
"Fayiro tekijjakusoboka kuzikomyawo. Ŋende mu maaso?\n"
"(Akaboozi kano osobola okukasirisiza mu nteekateeka z'omu GTKUI)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Kulabula"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Lwongere ku lukalala lw'ebinaawulirizibwa"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Lugye mu lukalala lw'ebinaawulirizibwa"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Ddamu okusoma ebinnyonyola"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Luggire ddala ku sisitemu"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Yongerako oukumbo"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Kyusa mu lukumbo"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Gyawo olukumbo"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Sengekera ku"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Tosengeka"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Muyimbi/Amafuluma/Alubamu"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Bikkula fayiro..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Teekateeka %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Teekateeka"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Ekyuma ekikola ku biwulirizibwa bulijjo"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Kaza"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Teekateeka amapeesa g'oyinza okukozesa okwanguya mirimu"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Kiragiro"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Ppeesa oba mapeesa"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Puloguramu ekola ku bivaamu eya ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Nyongerako fayiro..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Nteekateeka..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Okyusizza mu data y'olutambi luno."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Eddirisa lino ddala liggalibwewo?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Bika by'okunnyonyola"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Endagiriro y'entegeka y'enyimba ey'omunda"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ye"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nedda"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Puloguramu ekola ku data enkongojje"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Ppeesa"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Ekikongojje"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeefF kati etaddeko"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Eddirisa lino ddala liggalibwewo?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Teekako fayiro"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Bigyewo"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Enkozesa entuufu eri: deadbeef [buwayiro][fayiro]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Obuwayiro:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr " --help oba -h Bw'ossawo kamu ku buno, okoma ku kufuna bino by'osoma\n"
+msgstr ""
+" --help oba -h Bw'ossawo kamu ku buno, okoma ku kufuna bino "
+"by'osoma\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Kano kaleetera puloguramu okumala\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
-msgstr " --version Kano kaleetera puloguramu okukoma ku kukulaga "
+msgstr ""
+" --version Kano kaleetera puloguramu okukoma ku kukulaga "
"olwandika lwa yo\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Kano kaleetera pulguramu okutandika enyimba\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Kano kaleetera pulguramu okukomya oluyimba\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
-msgstr " --pause Kano kaleetera puloguramu okuyimirizamu oluyimba\n"
+msgstr ""
+" --pause Kano kaleetera puloguramu okuyimirizamu oluyimba\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
-msgstr " --next Kano kaleetera puloguramu okutandika oluyimba oluddako "
+msgstr ""
+" --next Kano kaleetera puloguramu okutandika oluyimba oluddako "
"mu lukalala\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
-msgstr " --prev Kano kaleetera puloguramu okutandika olukulembera "
+msgstr ""
+" --prev Kano kaleetera puloguramu okutandika olukulembera "
"lw'ebadde ko mu lukalala\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
-msgstr " --random Kano kaleetera puloguramu okuyita mu nyimba muwawa\n"
+msgstr ""
+" --random Kano kaleetera puloguramu okuyita mu nyimba muwawa\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
-msgstr " --queue Kano kaleetera puloguramu okwongera nyimba ku lukalala\n"
+msgstr ""
+" --queue Kano kaleetera puloguramu okwongera nyimba ku "
+"lukalala\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
-msgstr " --nowplaying FMT Kano kaleetera puloguramu okuwandikawo erinnya "
+msgstr ""
+" --nowplaying FMT Kano kaleetera puloguramu okuwandikawo erinnya "
"ly'olutambi\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1075,19 +1173,35 @@ msgstr ""
" r: Ebikugizo by'obwa nannyini, e: Ekitundu ky'oluyimba "
"ekiwulirizidwako\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
-msgstr " okugeza.: --nowplaying \"%%a - %%t\" kisuubirwa okuvaamu "
-"\"muyibi - linnya lya luyimba\"\n"
+msgstr ""
+" okugeza.: --nowplaying \"%%a - %%t\" kisuubirwa "
+"okuvaamu \"muyibi - linnya lya luyimba\"\n"
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Olukwatakifo"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Ye"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Nedda"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1095,7 +1209,13 @@ msgstr ""
"2.3 (Tukuwa magezi kukozesa luno)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1105,17 +1225,18 @@ msgstr ""
"Lutambi\n"
"Alubamu"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1131,7 +1252,7 @@ msgstr ""
"Kibiina / Muyimbi wa alubamu\n"
"Ebigambo ebibyo"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1140,77 +1261,686 @@ msgstr ""
"Dyo"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Fayiro erimu ekifaananyi embuze: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"widimidi: Sirabye fayiro ey'enteekateeka eza freepats. Sisitemu yo giteekeko "
+"omuganda gwa timidity-freepats, oba gend mu nteekateeka otegeke ekkubo "
+"erigguka ku freepats.cfg."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+#, fuzzy
+msgid "Release device while stopped"
+msgstr "Omutwe gw'eddirisa nga puloguramu eyimirizidwa:"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Kozesa ekiwereza kimasanganzira"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeefF kati etaddeko"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Erinnya ery'okukozesa ku kiwereza:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Ekyama eky'oku kiwereza:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Siimula fayiro ku disiki"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Bifaananyi bya ku alubamu"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
msgstr ""
-"Tekisobose okufuna ekifo mu ggwanika ekimala okukuŋaanyisamu puloguramu "
-"by'ekolako."
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Namba y'olutambi"
+
+#: ../translation/extra.c:67
+msgid "Performer"
msgstr ""
-"Wazzewo kiremya mu kusoma ekitundu ekisoose okuwerezebwa mu luyiira lwa "
-"bbiti olwa Ogg."
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Wazzewo kiremya mu kusoma ekitole kya data ekikulembera."
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Erinnya / Muluyimba w'olutambi"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:73
+msgid "Genre"
msgstr ""
-"Tekisobose kufuna kifo mu ggwanika ekimala okwongera ennamba y'obumanyiso "
-"ey'omusulo omupya ku lukalala."
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Ebiyingizibwa bitemdwamu oba tebirimu data."
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Ebiyingizibwa ssi musulo ogw'ekika kya Ogg."
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Namba ya fayiro"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Omusulo gwa Ogg gubulamu ebikwata ku bya Vorbis."
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Fayiro ekomye tennayogera ku musulo gwa bbiti ogutegeerebwa."
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Omusulo gwa Ogg tegulimu data ey'ekika sisitemu gy'etegeera."
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Teekako obusangiro"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Ebikulembera ebizibizi eby'ekitole kya data biriko kiremya."
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Fayiro ekomye tennatuuka ku bikulembera eby'ebya Vorbis."
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Bika by'okunnyonyola"
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Nsanze mu ebiriko kiremya oba ebitawera, omulimu gweyongera mu maaso..."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Endagiriro y'entegeka y'enyimba ey'omunda"
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Puloguramu ekola ku data enkongojje"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Londa byonna"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Wazzewo kiremya mu kutegeka ebigenda mu musulo ogw'ebivaamu. Omusulo "
-"ogw'ebivaamu guyinz'okubaamu ebitali bituufu oba okutemwamu."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Kyusa mu lukumbo"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Tereka koppi y'ebiteekateekedwa"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Tereka koppi y'ebiteekateekedwa"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Tereka koppi y'ebiteekateekedwa"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Tereka koppi y'ebiteekateekedwa"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Ebiwulirizibwa gye bifulumira:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Puloguramu efulumya ebiwulirizibwa:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Tereka koppi y'ebiteekateekedwa"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Ssawo enteekateeka eyiyo"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Soma koppi y'ebiteekateekedwa"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Puloguramu efulumya ebiwulirizibwa:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
msgstr ""
-"widimidi: Sirabye fayiro ey'enteekateeka eza freepats. Sisitemu yo giteekeko "
-"omuganda gwa timidity-freepats, oba gend mu nteekateeka otegeke ekkubo "
-"erigguka ku freepats.cfg."
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Wandika ebya APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Wandika ebya ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Wandika ebya ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Ekiwandika okunnyonyola kw'enyimba"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Kolayo koppi y'olukalala"
+
+#~ msgid "_Abort"
+#~ msgstr "_Biveeko"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>KULABULA</b>: obusobozi obw'okuyungako okunnyonyola bukyakolebwako.\n"
+#~ "Bw'oba oyagala okugeza okubukozesa, fayiro <b>sooka okgigyemu koppi "
+#~ "ez'okwerinda</b>."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Buwanvu bwa lwo"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Ebifuga empandika (bisookerwako ka %):\n"
+#~ " [a] muluyimba, [t] erinnya ly'oluyimba, alu[b]amu, [B] kibiina, [C] "
+#~ "Muwandisi\n"
+#~ " [n]amba y'olutambi, [N] bungi bw'entambi,\n"
+#~ " [l] buwanvu bwa lwo, [y] mwaka, [g] ttuluba lw'oluyimba, [c] "
+#~ "ebinnyonyola,\n"
+#~ " [r] eby'obwa nannyini, erinnya lya [f]ayiro, [F] ekkubo mu bujjuvu "
+#~ "erituuka ku fayiro, [T] butuuti,\n"
+#~ " [d] tterekero, [D] tterekero n'ekkubo erirituukako\n"
+#~ "Kya kulabirako: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Kisoboke okukyusa obwangu bw'okuddiŋana okuloza ebikwatibwa"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Obulongoofu bw'ebifuulidwa:"
+
+#~ msgid "Description:"
+#~ msgstr "Okunnyonyola:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Muwandisi (bawandisi):"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Enfo ya ku yintaneti:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Okutangaaza ku mpandika enfunze (zitandikwa n'akabonero ka %):\n"
+#~ " a: Muluyimba, t: Erinnya ly'oluyimba, b: Kibiina, C: Eyaluwandika\n"
+#~ " n: Namba y'olutambi, N: Obungi bw'entambi,\n"
+#~ " l: Buwanvu bwa lwo, y: Mwaka gwa lwo, g: Kika kya luyimba, c: "
+#~ "Okunnyonyola,\n"
+#~ " r: Ebikugizo by'obwanannyini, f: Linnya lya fayiro, T: Obugambo "
+#~ "obuzuuzisibwa\n"
+#~ "Eky'okulabirako: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Teekateeka %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Puloguramu ekola ku bivaamu eya ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr ""
+#~ "Tekisobose okufuna ekifo mu ggwanika ekimala okukuŋaanyisamu puloguramu "
+#~ "by'ekolako."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr ""
+#~ "Wazzewo kiremya mu kusoma ekitundu ekisoose okuwerezebwa mu luyiira lwa "
+#~ "bbiti olwa Ogg."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Wazzewo kiremya mu kusoma ekitole kya data ekikulembera."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Tekisobose kufuna kifo mu ggwanika ekimala okwongera ennamba y'obumanyiso "
+#~ "ey'omusulo omupya ku lukalala."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Ebiyingizibwa bitemdwamu oba tebirimu data."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Ebiyingizibwa ssi musulo ogw'ekika kya Ogg."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Omusulo gwa Ogg gubulamu ebikwata ku bya Vorbis."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "Fayiro ekomye tennayogera ku musulo gwa bbiti ogutegeerebwa."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Omusulo gwa Ogg tegulimu data ey'ekika sisitemu gy'etegeera."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Ebikulembera ebizibizi eby'ekitole kya data biriko kiremya."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Fayiro ekomye tennatuuka ku bikulembera eby'ebya Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr ""
+#~ "Nsanze mu ebiriko kiremya oba ebitawera, omulimu gweyongera mu maaso..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Wazzewo kiremya mu kutegeka ebigenda mu musulo ogw'ebivaamu. Omusulo "
+#~ "ogw'ebivaamu guyinz'okubaamu ebitali bituufu oba okutemwamu."
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 00000000..22cd6d55
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,1723 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-03-05 22:43+0200\n"
+"Last-Translator: Julius <zadintuvas@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Pootle 2.0.5\n"
+
+#: ../plugins/gtkui/callbacks.c:123
+msgid "Supported sound formats"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:144
+msgid "Open file(s)..."
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:179
+msgid "Add file(s) to playlist..."
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:220
+msgid "Add folder(s) to playlist..."
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:225
+msgid "Follow symlinks"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:711
+msgid "Failed while reading help file"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:721
+msgid "Failed to load help file"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
+msgid "Help"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:747
+#, c-format
+msgid "About DeaDBeeF %s"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
+msgid "DeaDBeeF %s ChangeLog"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
+msgid "Edit playlist"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
+msgid "Rename Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:821
+msgid "Remove Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:828
+msgid "Add New Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:136
+msgid "Save DeaDBeeF EQ Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:143
+msgid "DeaDBeeF EQ preset files (*.ddbeq)"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:182
+msgid "Load DeaDBeeF EQ Preset..."
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:186
+msgid "DeaDBeeF EQ presets (*.ddbeq)"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:247
+msgid "Import Foobar2000 EQ Preset..."
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:251
+msgid "Foobar2000 EQ presets (*.feq)"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
+msgstr ""
+
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:137
+#, c-format
+msgid "1 day %d:%02d:%02d"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:140
+#, c-format
+msgid "%d days %d:%02d:%02d"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:149
+#, c-format
+msgid "Stopped | %d tracks | %s total playtime"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Mono"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Stereo"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:187
+#, c-format
+msgid "| %4d kbps "
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:193
+msgid "Paused | "
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:198
+#, c-format
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:644
+msgid "Save Playlist As"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:655
+msgid "DeaDBeeF playlist files (*.dbpl)"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:773
+msgid "Load Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
+msgid "New Playlist"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:929
+#, c-format
+msgid "New Playlist (%d)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
+msgid "_File"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
+msgid "_Open file(s)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+msgid "Add file(s)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
+msgid "Add folder(s)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
+msgid "Add location"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
+msgid "New playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
+msgid "Load playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
+msgid "Save playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
+msgid "_Quit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
+msgid "_Edit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
+msgid "_Clear"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
+msgid "Select all"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
+msgid "Deselect all"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
+msgid "Invert selection"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "Selection"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
+msgid "Remove"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
+msgid "Crop"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
+msgid "_Find"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr ""
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
+msgid "Preferences"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
+msgid "_View"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
+msgid "Status bar"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
+msgid "Column headers"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Tabs"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
+msgid "Equalizer"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
+msgid "_Playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
+msgid "Order"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
+msgid "Linear"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
+msgid "Random"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
+msgid "Looping"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
+msgid "Loop All"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
+msgid "Loop Single Song"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
+msgid "Don't Loop"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
+msgid "Scroll follows playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
+msgid "Cursor follows playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
+msgid "Stop after current"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
+msgid "_Help"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
+msgid "_ChangeLog"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
+msgid "_About"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
+msgid "Search"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
+msgid "Stop"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
+msgid "Play"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
+msgid "Pause"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
+msgid "Previous"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
+msgid "Next"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
+msgid "Play Random"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
+msgid "About"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
+msgid "Quit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Track Properties"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
+msgid "_Apply"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
+msgid "_Close"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
+msgid "Metadata"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
+msgid "Properties"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
+msgid "Enter new column title here"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "Type:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
+
+#. create default set of columns
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
+msgid "Playing"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1512
+msgid "Album Art"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1513
+msgid "Artist - Album"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
+msgid "Band / Album Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
+msgid "Format:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
+msgid "Alignment:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1559
+msgid "Left"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1560
+msgid "Right"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
+msgid "_Cancel"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
+msgid "_OK"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
+msgid "Output plugin:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
+msgid "Output device:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
+msgid "Add files from command line (or file manager) to this playlist:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
+msgid "Resume previous session on startup"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
+msgid "Playback"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
+msgid "Close minimizes to tray"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
+msgid "Middle mouse button closes playlist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
+msgid "Hide system tray icon"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Use bold font for currently playing track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
+msgid "Hide \"Delete from disk\" context menu item"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
+msgid "Titlebar text while playing:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
+msgid "Titlebar text while stopped:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
+msgid "Override"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
+msgid "Foreground"
+msgstr "Priekis"
+
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
+msgid "Background"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
+msgid "Seekbar/Volumebar colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
+msgid "Middle"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
+msgid "Light"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
+msgid "Dark"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
+msgid "Base"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
+msgid "Tab strip colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
+msgid "Override (looses GTK treeview theming, but speeds up rendering)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
+msgid "Even row"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
+msgid "Odd row"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
+msgid "Selected row"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
+msgid "Selected text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
+msgid "Cursor"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
+msgid "Playlist colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
+msgid "Colors"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
+msgid "Enable Proxy Server"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
+msgid "Proxy Server Address:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
+msgid "Proxy Server Port:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
+msgid "Proxy Type:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
+msgid "Proxy Username:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
+msgid "Proxy Password:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
+msgid "Network"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
+msgstr ""
+
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
+msgstr ""
+
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:338
+msgid "Delete files from disk"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:339
+msgid ""
+"Files will be lost. Proceed?\n"
+"(This dialog can be turned off in GTKUI plugin settings)"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
+msgid "Warning"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:444
+msgid "Add to playback queue"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:449
+msgid "Remove from playback queue"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:457
+msgid "Reload metadata"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:476
+msgid "Remove from disk"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
+msgid "Add column"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
+msgid "Edit column"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:988
+msgid "Remove column"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:998
+msgid "Group by"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:1005
+msgid "None"
+msgstr ""
+
+#: ../plugins/gtkui/plcommon.c:1009
+msgid "Artist/Date/Album"
+msgstr ""
+
+#: ../plugins/gtkui/pluginconf.c:42
+msgid "Open file..."
+msgstr ""
+
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format
+msgid "Configure %s"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:82
+msgid "Default Audio Device"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
+msgid "Add"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:328
+msgid "Global Hotkeys"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:390
+msgid "Slot"
+msgstr ""
+
+#: ../plugins/gtkui/prefwin.c:391
+msgid "Key combination"
+msgstr ""
+
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr ""
+
+#: ../plugins/gtkui/progress.c:90
+msgid "Initializing..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:159
+msgid "You've modified data for this track."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:161
+msgid "Really close the window?"
+msgstr ""
+
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr ""
+
+#: ../main.c:91
+#, c-format
+msgid "Usage: deadbeef [options] [file(s)]\n"
+msgstr ""
+
+#: ../main.c:92
+#, c-format
+msgid "Options:\n"
+msgstr ""
+
+#: ../main.c:93
+#, c-format
+msgid " --help or -h Print help (this message) and exit\n"
+msgstr ""
+
+#: ../main.c:94
+#, c-format
+msgid " --quit Quit player\n"
+msgstr ""
+
+#: ../main.c:95
+#, c-format
+msgid " --version Print version info and exit\n"
+msgstr ""
+
+#: ../main.c:96
+#, c-format
+msgid " --play Start playback\n"
+msgstr ""
+
+#: ../main.c:97
+#, c-format
+msgid " --stop Stop playback\n"
+msgstr ""
+
+#: ../main.c:98
+#, c-format
+msgid " --pause Pause playback\n"
+msgstr ""
+
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
+#, c-format
+msgid " --next Next song in playlist\n"
+msgstr ""
+
+#: ../main.c:102
+#, c-format
+msgid " --prev Previous song in playlist\n"
+msgstr ""
+
+#: ../main.c:103
+#, c-format
+msgid " --random Random song in playlist\n"
+msgstr ""
+
+#: ../main.c:104
+#, c-format
+msgid " --queue Append file(s) to existing playlist\n"
+msgstr ""
+
+#: ../main.c:105
+#, c-format
+msgid " --nowplaying FMT Print formatted track name to stdout\n"
+msgstr ""
+
+#: ../main.c:106
+#, c-format
+msgid ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+msgstr ""
+
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
+msgid "Default"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
+msgid ""
+"2.3 (Recommended)\n"
+"2.4"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
+msgid ""
+"Disable\n"
+"Track\n"
+"Album"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:56
+msgid ""
+"Item Index\n"
+"Playing\n"
+"Album Art\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Title\n"
+"Duration\n"
+"Track Number\n"
+"Band / Album Artist\n"
+"Custom"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
+msgid ""
+"Left\n"
+"Right"
+msgstr ""
+
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
+#, c-format
+msgid "Couldn't find pixmap file: %s"
+msgstr ""
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr ""
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr ""
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr ""
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr ""
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr ""
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
diff --git a/po/nb.po b/po/nb.po
index d6c16f2d..4bfe5fd5 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-12-10 14:09+0200\n"
"Last-Translator: Sam <wilsonsamm@hotmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,1014 +18,1118 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Støttede lydformat"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Andre filer (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Åpne fil(er) ..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Legg til fil(er) i spilleliste ..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Legg til mappe(r) i spilleliste ..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Følg symbolske lenker"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Klarte ikke lese inn veilederfila"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Klarte ikke lese inn veilederfila"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Hjelp"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Om DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s - endringslogg"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Rediger spilleliste"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Gi nytt navn til spillelista"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Fjern spillelista"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Legg til spilleliste"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Lagre DeaDBeeF EQ-forhåndstilling"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ-forhåndstillingsfiler (*.ddbeq)"
# har merka denne som fuzzy fordi jeg var litt usikker på orddelingsregelen her.
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
#, fuzzy
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Les inn DeaDBeeF EQ-forhåndstilling"
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr ""
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:292
-msgid "Enable"
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:300
-msgid "Zero All"
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:307
-msgid "Zero Preamp"
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:314
-msgid "Zero Bands"
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
msgstr ""
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
msgstr ""
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
msgstr ""
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Andre filer (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr ""
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr ""
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr ""
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr ""
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr ""
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr ""
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr ""
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr ""
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr ""
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr ""
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr ""
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr ""
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr ""
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr ""
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr ""
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr ""
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr ""
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr ""
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr ""
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr ""
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr ""
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr ""
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr ""
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr ""
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr ""
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
msgstr ""
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr ""
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr ""
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr ""
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr ""
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr ""
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr ""
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr ""
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr ""
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr ""
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr ""
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr ""
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr ""
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr ""
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr ""
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr ""
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr ""
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr ""
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr ""
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr ""
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr ""
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr ""
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr ""
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr ""
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr ""
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr ""
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr ""
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr ""
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
msgstr ""
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr ""
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr ""
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr ""
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr ""
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
-msgid "Sound"
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
msgstr ""
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr ""
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr ""
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr ""
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr ""
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr ""
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr ""
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr ""
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr ""
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr ""
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr ""
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
-msgid "Write ID3v2"
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
msgstr ""
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
-msgid "Write ID3v1"
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
msgstr ""
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
-msgid "Write APEv2"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
-msgid "Strip ID3v2"
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
-msgid "Strip ID3v1"
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
-msgid "Strip APEv2"
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
-msgid "ID3v2 version"
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
msgstr ""
-#: ../plugins/gtkui/interface.c:2247
-msgid "2.3 (Recommended)"
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
msgstr ""
-#: ../plugins/gtkui/interface.c:2248
-msgid "2.4"
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
-msgid "ID3v1 character encoding (default is iso8859-1)"
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "Write ID3v2.4"
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
msgstr ""
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
msgstr ""
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
-msgid "Artist / Album"
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
-msgid "Track No"
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
msgstr ""
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr ""
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr ""
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr ""
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr ""
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr ""
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr ""
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr ""
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr ""
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr ""
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr ""
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr ""
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1033,112 +1137,590 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
msgstr ""
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr ""
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr ""
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr ""
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr ""
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Fjern spillelista"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr ""
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr ""
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 4bf53f4f..ad9b9568 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,874 +1,915 @@
-# Deadbeef Audio Player
-# Copyright (C) 2009-2001 Alexey Yakovenko <waker@users.sourceforge.net>
-# This file is distributed under the same license as the Deadbeef package.
-# depaz <depazzz@gmail.com>, 2010.
-#
+# Dutch translation of the deadbeef package.
+# Copyright (C) the author of the deadbeef package.
+# This file is distributed under the same license as the deadbeef package.
+# Glenn de Groot, 2010.
+# Pjotr, 2011.
+#
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-09 04:43+0000\n"
-"PO-Revision-Date: 2011-06-02 23:20+0200\n"
-"Last-Translator: Pjotr <>\n"
-"Language-Team: Spanish\n"
-"Language: nl\n"
+"POT-Creation-Date: 2011-06-12 18:17+0200\n"
+"PO-Revision-Date: 2011-09-08 22:41+0200\n"
+"Last-Translator: Pjotr\n"
+"Language-Team: Dutch\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: nl (Dutch)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:121
msgid "Supported sound formats"
-msgstr "Ondersteunde soorten bestandsopmaak voor geluid"
+msgstr "Ondersteunde soorten bestandopmaak voor geluid"
-#: ../plugins/gtkui/callbacks.c:108
+#: ../plugins/gtkui/callbacks.c:132 ../plugins/gtkui/gtkui.c:776
msgid "Other files (*)"
msgstr "Andere bestanden (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:142
msgid "Open file(s)..."
msgstr "Open bestand(en)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:177
msgid "Add file(s) to playlist..."
msgstr "Voeg bestand(en) toe aan speellijst..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:218
msgid "Add folder(s) to playlist..."
-msgstr "Voeg map(pen) toe aan de speellijst..."
+msgstr "Voeg map(pen) toe aan speellijst..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:223
msgid "Follow symlinks"
msgstr "Volg symbolische koppelingen"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:697
msgid "Failed while reading help file"
-msgstr "Fout bij lezen van hulpbestand"
+msgstr "Fout bij het lezen van het hulpbestand"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:707
msgid "Failed to load help file"
msgstr "Kon hulpbestand niet laden"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:722
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:723 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:48 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Hulp"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:733
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Over DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:746
#, c-format
msgid "DeaDBeeF %s ChangeLog"
-msgstr "DeaDBeeF %s Logboek van wijzigingen"
+msgstr "DeaDBeeF %s logboek van wijzigingen"
-#: ../plugins/gtkui/callbacks.c:1080
-#, c-format
+#: ../plugins/gtkui/callbacks.c:1091
#, c-format
msgid "DeaDBeeF Translators"
-msgstr "DeaDBeeF Vertalers"
+msgstr "Glenn de Groot\n"
+"Pjotr"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:689 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Bewerk speellijst"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:692 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2870 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/interface.c:402
+#: ../plugins/converter/converter.glade.h:46
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:748
msgid "Rename Playlist"
-msgstr "Hernoem Speellijst"
+msgstr "Hernoem speellijst"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:752
msgid "Remove Playlist"
-msgstr "Verwijder Speellijst"
+msgstr "Verwijder speellijst"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:756
msgid "Add New Playlist"
msgstr "Maak nieuwe speellijst"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
-msgstr "Bewaar DeaDBeef EQ Voorkeuze"
+msgstr "Bewaar DeaDBeef EQ Voorinstelling"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
-msgstr "DeaDBeef EQ voorkeuze-bestanden (*.ddbeq)"
+msgstr "DeaDBeef EQ voorinstelling-bestanden (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
-msgstr "Laden DeaDBeeF EQ Voorkeuze..."
+msgstr "Laden DeaDBeeF EQ Voorinstelling..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
-msgstr "DeaDBeeF EQ voorkeuzes (*.ddbeq)"
+msgstr "DeaDBeeF EQ-voorinstellingen (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
-msgstr "Importeer Foobar2000 EQ Voorkeuze..."
+msgstr "Importeer Foobar2000 EQ Voorinstelling.."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
-msgstr "Foobar2000 EQ voorkeuzes (*.feq)"
+msgstr "Foobar2000 EQ voorinstellingen (*.feq)"
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Opslaan voorinstelling"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Laden voorinstelling"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importeer Foobar2000 Voorinstelling"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Inschakelen"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Alles op nul"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Preamp op nul"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Banden op nul"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Opslaan voorkeuze"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Laden Voorkeuze"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importeer Foobar2000 Voorkeuze"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:826
+#: ../plugins/converter/converter.glade.h:40
+msgid "Presets"
+msgstr "Voorinstellingen"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dag %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dagen %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Gestopt | %d sporen | %s totale speeltijd"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Gepauzeerd | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d sporen | %s totale speeltijd"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:632
msgid "Save Playlist As"
msgstr "Speellijst opslaan als"
-#: ../plugins/gtkui/gtkui.c:670 ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:643
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF speellijstbestanden (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:761
msgid "Load Playlist"
msgstr "Speellijst laden"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:914 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
-msgstr "Nieuwe Speellijst"
+msgstr "Nieuwe speellijst"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:917
#, c-format
msgid "New Playlist (%d)"
-msgstr "Nieuwe Speellijst (%d)"
+msgstr "Nieuwe speellijst (%d)"
-#: ../plugins/gtkui/interface.c:142 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_File"
msgstr "_Bestand"
-#: ../plugins/gtkui/interface.c:149 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:162
msgid "_Open file(s)"
msgstr "_Open bestand(en)"
-#: ../plugins/gtkui/interface.c:165 ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Voeg bestand(en) toe"
-#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Voeg map(pen) toe"
-#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:2970
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Voeg locatie toe"
-#: ../plugins/gtkui/interface.c:190 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:79
msgid "New playlist"
msgstr "Nieuwe speellijst"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Load playlist"
msgstr "Laad speellijst"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Save playlist"
msgstr "Speellijst opslaan"
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Speellijst opslaan als"
-
-#: ../plugins/gtkui/interface.c:214 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Quit"
msgstr "_Afsluiten"
-#: ../plugins/gtkui/interface.c:225 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Edit"
msgstr "_Bewerken"
-#: ../plugins/gtkui/interface.c:232 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_Clear"
msgstr "_Wissen"
-#: ../plugins/gtkui/interface.c:240 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:114
msgid "Select all"
msgstr "Selecteer alles"
-#: ../plugins/gtkui/interface.c:247 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Deselecteer alles"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:54
msgid "Invert selection"
msgstr "Selectie omkeren"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selection"
msgstr "Selectie"
-#: ../plugins/gtkui/interface.c:265 ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:453
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/converter/interface.c:653
+#: ../plugins/converter/converter.glade.h:43
msgid "Remove"
msgstr "Verwijderen"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Bijsnijden"
-#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_Find"
msgstr "_Zoeken"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Sort By"
+msgstr "Sorteren op"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:315 ../plugins/gtkui/prefwin.c:623
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:630
+#: ../plugins/converter/converter.glade.h:45
+msgid "Title"
+msgstr "Titel"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Track number"
+msgstr "Spoornummer"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1869 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:998 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artiest"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Datum"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1002 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Aangepast"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1798
+#: ../plugins/gtkui/deadbeef.glade.h:94
msgid "Preferences"
msgstr "Voorkeuren"
-#: ../plugins/gtkui/interface.c:293 ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_View"
msgstr "_Beeld"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Status bar"
msgstr "Statusbalk"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Kolomkoppen"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tabs"
msgstr "Tabbladen"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizer"
-#: ../plugins/gtkui/interface.c:316 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Playback"
msgstr "_Afspelen"
-#: ../plugins/gtkui/interface.c:323 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3246
+#: ../plugins/gtkui/deadbeef.glade.h:82
msgid "Order"
msgstr "Ordenen"
-#: ../plugins/gtkui/interface.c:330 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Linear"
msgstr "Lineair"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Schuffelen"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle tracks"
+msgstr "Sporen schuffelen"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Shuffle albums"
+msgstr "Albums schuffelen"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Random"
msgstr "Willekeurig"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Looping"
msgstr "Herhalend"
-#: ../plugins/gtkui/interface.c:355 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Loop All"
msgstr "Alles herhalend"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop Single Song"
msgstr "Enkel nummer herhalend"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
-msgstr "Niet telkens herhalen"
+msgstr "Niet herhalend"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Scroll follows playback"
msgstr "Bladeren volgt afspelen"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Aanwijzer volgt afspelen"
-#: ../plugins/gtkui/interface.c:382 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop after current"
msgstr "Stop na huidig"
-#: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:66
msgid "Jump to current track"
msgstr "Spring naar huidige spoor"
-#: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:158
msgid "_Help"
msgstr "_Hulp"
-#: ../plugins/gtkui/interface.c:416 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:151
msgid "_ChangeLog"
msgstr "_Logboek van wijzigingen"
-#: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:159
msgid "_LGPLv2.1"
msgstr "LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:148
msgid "_About"
msgstr "_Over"
-#: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Translators"
msgstr "_Vertalers"
-#: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Search"
msgstr "Zoeken"
-#: ../plugins/gtkui/interface.c:911 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Stop"
msgstr "Stoppen"
-#: ../plugins/gtkui/interface.c:919 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Play"
msgstr "Afspelen"
-#: ../plugins/gtkui/interface.c:927 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Pause"
msgstr "Pauzeren"
-#: ../plugins/gtkui/interface.c:935 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:95
msgid "Previous"
msgstr "Vorige"
-#: ../plugins/gtkui/interface.c:943 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:80
msgid "Next"
msgstr "Volgende"
-#: ../plugins/gtkui/interface.c:951 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play Random"
msgstr "Willekeurig afspelen"
-#: ../plugins/gtkui/interface.c:960 ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Over"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Quit"
msgstr "Afsluiten"
-#: ../plugins/gtkui/interface.c:1045 ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Bestanden aan het toevoegen..."
-
-#: ../plugins/gtkui/interface.c:1089 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "_Afbreken"
-
-#: ../plugins/gtkui/interface.c:1189 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Track Properties"
msgstr "Eigenschappen van spoor"
-#: ../plugins/gtkui/interface.c:1235 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "Settings"
+msgstr "Instellingen"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_Apply"
msgstr "_Toepassen"
-#: ../plugins/gtkui/interface.c:1256 ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Close"
msgstr "_Sluiten"
-#: ../plugins/gtkui/interface.c:1260 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Metadata"
msgstr "Bijkomende gegevens"
-#: ../plugins/gtkui/interface.c:1306 ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:603
+#: ../plugins/gtkui/deadbeef.glade.h:96
msgid "Properties"
msgstr "Eigenschappen"
-#: ../plugins/gtkui/interface.c:1391 ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Titel:"
-
-#: ../plugins/gtkui/interface.c:1414 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Voer hier een nieuwe kolomtitel in"
-#: ../plugins/gtkui/interface.c:1422 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:140
msgid "Type:"
msgstr "Type:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Index van elementen"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431 ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:312
msgid "Playing"
msgstr "Aan het afspelen"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Albumkunst"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artiest - Album"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434 ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Artiest"
-
-#: ../plugins/gtkui/interface.c:1435 ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1436 ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Titel"
-
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
-msgstr "Lengte"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:316
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Duur"
-#: ../plugins/gtkui/interface.c:1438 ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Spoor"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Spoornummer"
-#: ../plugins/gtkui/interface.c:1439 ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Groep / Album Artiest"
-#: ../plugins/gtkui/interface.c:1440 ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Aangepast"
-
-#: ../plugins/gtkui/interface.c:1446 ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3098
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Opmaaktype:"
-#: ../plugins/gtkui/interface.c:1461 ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Uitlijning:"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Links"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Rechts"
-#: ../plugins/gtkui/interface.c:1472 ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formatteer conversies (begin met %):\n"
-" [a]rtiest, [t]itel, al[b]um, [B]and, [C]omponist\n"
-" spoor[n]ummer, [N]totaltracks,\n"
-" [l]engte, [y]jaar, [g]enre, [c]ommentaar,\n"
-" auteurs[r]echt, [b]estandnaam, [T]ags,\n"
-" [d]map, [D]MapMetPad\n"
-"Bijvoorbeeld: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501 ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040 ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2901
+#: ../plugins/gtkui/interface.c:3013 ../plugins/gtkui/interface.c:3139
+#: ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Cancel"
msgstr "_Annuleer"
-#: ../plugins/gtkui/interface.c:1522 ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061 ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2922
+#: ../plugins/gtkui/interface.c:3034 ../plugins/gtkui/interface.c:3160
+#: ../plugins/gtkui/deadbeef.glade.h:161
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1753 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1819 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output plugin:"
msgstr "Uitvoerplugin:"
-#: ../plugins/gtkui/interface.c:1766 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:83
msgid "Output device:"
msgstr "Uitvoerapparaat:"
-#: ../plugins/gtkui/interface.c:1775 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "8-bit-audio altijd omzetten naar 16-bit"
+
+#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:123
msgid "Sound"
msgstr "Geluid"
-#: ../plugins/gtkui/interface.c:1784 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Dynamische samplerate-wisseling toestaan"
-
-#: ../plugins/gtkui/interface.c:1792 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Samplerate-conversiekwaliteit:"
-
-#: ../plugins/gtkui/interface.c:1811 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:105
msgid "Replaygain mode:"
msgstr "Replaygain modus:"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1867
msgid "Disable"
msgstr "Uitschakelen"
-#: ../plugins/gtkui/interface.c:1824 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1868
+msgid "Track"
+msgstr "Spoor"
+
+#: ../plugins/gtkui/interface.c:1871 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain peak scale"
msgstr "Replaygain piek schaal"
-#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1879 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain preamp:"
+msgstr "Replaygain voorversterking:"
+
+#: ../plugins/gtkui/interface.c:1883 ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1893 ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1901 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Voeg bestanden toe vanaf de opdrachtregel (of met de bestandbeheerder) aan "
"deze speellijst:"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1910 ../plugins/gtkui/deadbeef.glade.h:108
msgid "Resume previous session on startup"
msgstr "Hervat vorige sessie bij opstarten"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1914 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Niet toevoegen vanuit archieven bij het toevoegen van mappen"
+
+#: ../plugins/gtkui/interface.c:1918 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Playback"
msgstr "Afspelen"
-#: ../plugins/gtkui/interface.c:1854 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1939 ../plugins/gtkui/interface.c:2471
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:657
+#: ../plugins/converter/converter.glade.h:8
+msgid "Configure"
+msgstr "Configureer"
+
+#: ../plugins/gtkui/interface.c:1974 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "DSP Chain voorinstelling"
+
+#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_Load"
+msgstr "_Laden"
+
+#: ../plugins/gtkui/interface.c:1990 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:1999 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Sluiten minimaliseert naar systeemvak"
-#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2003 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle mouse button closes playlist"
msgstr "Middelste muisknop sluit speellijst"
-#: ../plugins/gtkui/interface.c:1862 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2007 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide system tray icon"
msgstr "Verberg systeemvakpictogram"
-#: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:142
msgid "Use bold font for currently playing track"
msgstr "Gebruik vetgedrukt lettertype voor het thans afspelende spoor"
-#: ../plugins/gtkui/interface.c:1870 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2015 ../plugins/gtkui/deadbeef.glade.h:49
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Verberg \"Verwijder van schijf\"-element in het contekstmenu"
-#: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2019 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+"Geef speellijsten automatisch een naam bij het toevoegen van een enkele map"
+
+#: ../plugins/gtkui/interface.c:2027 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "Interface refresh rate (times per second):"
+msgstr "Verversingssnelheid van gebruikersschil (keren per seconde):"
+
+#: ../plugins/gtkui/interface.c:2041 ../plugins/gtkui/deadbeef.glade.h:136
msgid "Titlebar text while playing:"
msgstr "Titelbalktekst gedurende afspelen:"
-#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2055 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while stopped:"
msgstr "Titelbalktekst wanneer gestopt:"
-#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2069 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "GUI Plugin (wijzigen vereist herstart)"
+
+#: ../plugins/gtkui/interface.c:2077 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Gebruikersomgeving"
-#: ../plugins/gtkui/interface.c:1916 ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2092 ../plugins/gtkui/interface.c:2136
+#: ../plugins/gtkui/deadbeef.glade.h:85
msgid "Override"
msgstr "Negeer"
-#: ../plugins/gtkui/interface.c:1925 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2101 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Voorgrond"
-#: ../plugins/gtkui/interface.c:1932 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2108 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Achtergrond"
-#: ../plugins/gtkui/interface.c:1951 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2127 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Seekbar/Volumebar colors"
-msgstr "Kleuren Zoekbalk/Volumebalk"
+msgstr "Kleuren zoekbalk/volumebalk"
-#: ../plugins/gtkui/interface.c:1969 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2145 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Middle"
msgstr "Midden"
-#: ../plugins/gtkui/interface.c:1976 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:69
msgid "Light"
msgstr "Licht"
-#: ../plugins/gtkui/interface.c:1983 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2159 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Donker"
-#: ../plugins/gtkui/interface.c:2014 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2190 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Basis"
-#: ../plugins/gtkui/interface.c:2021 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2197 ../plugins/gtkui/interface.c:2254
+#: ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Text"
+msgstr "Tekst"
+
+#: ../plugins/gtkui/interface.c:2210 ../plugins/gtkui/deadbeef.glade.h:130
msgid "Tab strip colors"
msgstr "Tabstrook-kleuren"
-#: ../plugins/gtkui/interface.c:2030 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2219 ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Negeer (geen boomstructuurthema, maar snellere weergave)"
-#: ../plugins/gtkui/interface.c:2039 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Even rij"
-#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2235 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Odd row"
msgstr "Oneven rij"
-#: ../plugins/gtkui/interface.c:2065 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Tekst"
-
-#: ../plugins/gtkui/interface.c:2072 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2261 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Selected row"
msgstr "Geselecteerde rij"
-#: ../plugins/gtkui/interface.c:2091 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2280 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected text"
msgstr "Geselecteerde tekst"
-#: ../plugins/gtkui/interface.c:2104 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2293 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Aanwijzer"
-#: ../plugins/gtkui/interface.c:2117 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2306 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playlist colors"
msgstr "Speellijst-kleuren"
-#: ../plugins/gtkui/interface.c:2121 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2310 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Kleuren"
-#: ../plugins/gtkui/interface.c:2130 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Schakel Proxy Server in"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2327 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Server Address:"
-msgstr "Proxy Server Adres:"
+msgstr "Proxy Server adres:"
-#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2341 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Port:"
-msgstr "Proxy Server Poort:"
+msgstr "Proxy Server poort:"
-#: ../plugins/gtkui/interface.c:2166 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2355 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Type:"
-msgstr "Proxy Type:"
+msgstr "Proxy type:"
-#: ../plugins/gtkui/interface.c:2185 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2374 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Username:"
-msgstr "Proxy Gebruikersnaam:"
+msgstr "Proxy gebruikersnaam:"
-#: ../plugins/gtkui/interface.c:2198 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2387 ../plugins/gtkui/deadbeef.glade.h:97
msgid "Proxy Password:"
-msgstr "Proxy Wachtwoord:"
+msgstr "Proxy wachtwoord:"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2397 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Network"
msgstr "Netwerk"
-#: ../plugins/gtkui/interface.c:2236 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2428 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Version: "
+msgstr "Versie: "
+
+#: ../plugins/gtkui/interface.c:2492 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Auteursrecht"
+
+#: ../plugins/gtkui/interface.c:2502 ../plugins/gtkui/deadbeef.glade.h:93
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:2981 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3083 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Group By"
+msgstr "Groeperen op"
+
+#: ../plugins/gtkui/interface.c:3207 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort by..."
+msgstr "Sorteren op..."
+
+#: ../plugins/gtkui/interface.c:3223 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Opmaaktype:"
+
+#: ../plugins/gtkui/interface.c:3253
+msgid "Ascending"
+msgstr "Oplopend"
+
+#: ../plugins/gtkui/interface.c:3254
+msgid "Descending"
+msgstr "Aflopend"
+
+#: ../plugins/gtkui/interface.c:3307 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/converter/interface.c:758
+#: ../plugins/converter/converter.glade.h:44
+msgid "Select DSP Plugin"
+msgstr "Selecteer DSP-plugin"
+
+#: ../plugins/gtkui/interface.c:3323 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:774
+#: ../plugins/gtkui/dspconfig.c:139 ../plugins/converter/converter.glade.h:38
+msgid "Plugin"
+msgstr "Plugin"
+
+#: ../plugins/gtkui/interface.c:3409 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Tag Writer Settings"
+msgstr "Instellingen van etiketschrijver"
+
+#: ../plugins/gtkui/interface.c:3440 ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v2"
msgstr "ID3v2 schrijven"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3444 ../plugins/gtkui/interface.c:3571
+#: ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write ID3v1"
msgstr "ID3v1 schrijven"
-#: ../plugins/gtkui/interface.c:2244 ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3448 ../plugins/gtkui/interface.c:3527
+#: ../plugins/gtkui/interface.c:3567 ../plugins/gtkui/deadbeef.glade.h:144
msgid "Write APEv2"
msgstr "APEv2 schrijven"
-#: ../plugins/gtkui/interface.c:2252 ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3456 ../plugins/gtkui/interface.c:3535
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v2"
msgstr "ID3v2 verwijderen"
-#: ../plugins/gtkui/interface.c:2256 ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3460 ../plugins/gtkui/interface.c:3583
+#: ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip ID3v1"
msgstr "ID3v1 verwijderen"
-#: ../plugins/gtkui/interface.c:2260 ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3464 ../plugins/gtkui/interface.c:3539
+#: ../plugins/gtkui/interface.c:3579 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Strip APEv2"
msgstr "APEv2 verwijderen"
-#: ../plugins/gtkui/interface.c:2268 ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3472 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v2 version"
msgstr "ID3v2 versie"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3479
msgid "2.3 (Recommended)"
-msgstr "2.3 (Aangeraden)"
+msgstr "2.3 (aangeraden)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3480
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282 ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3486 ../plugins/gtkui/deadbeef.glade.h:51
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 tekencodering (standaard is iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3523 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2.4"
msgstr "ID3v2.4 schrijven"
-#: ../plugins/gtkui/interface.c:2388 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Etiketschrijver"
-
-#: ../plugins/gtkui/interface.c:2419 ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Beschrijving:"
-
-#: ../plugins/gtkui/interface.c:2434 ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Auteur(s):"
-
-#: ../plugins/gtkui/interface.c:2449 ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "E-mail:"
-
-#: ../plugins/gtkui/interface.c:2464 ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Webstek:"
-
-#: ../plugins/gtkui/interface.c:2495 ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Configureer"
-
-#: ../plugins/gtkui/interface.c:2499 ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../plugins/gtkui/interface.c:2881 ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:3008 ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109 ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Groeperen op"
-
-#: ../plugins/gtkui/interface.c:3134 ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formatteer conversies (begin met %):\n"
-" [a]rtiest, [t]itel, al[b]um, [B]and, [C]omponist\n"
-" spoor[n]ummer, [N]totaltracks,\n"
-" [d]uur, [j]aar, [g]enre, [c]ommentaar,\n"
-" auteurs[r]echt, [b]estandnaam, [T]ags\n"
-"Bijvoorbeeld: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306 ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:313 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artiest / Album"
-#: ../plugins/gtkui/mainplaylist.c:307 ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:314 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Spoornr."
-#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Titel / Spoor Artiest"
-
-#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Duur"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:325
msgid "Delete files from disk"
msgstr "Verwijder bestanden van schijf"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:326
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -876,203 +917,220 @@ msgstr ""
"Bestanden zullen verloren gaan. Doorgaan?\n"
"(Dit venster kunt u uitschakelen in de GTKUI plugin-instellingen)"
-#: ../plugins/gtkui/plcommon.c:326 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:327 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Waarschuwing"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:429
msgid "Add to playback queue"
msgstr "Aan de speelwachtrij toevoegen"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:434
msgid "Remove from playback queue"
msgstr "Uit speelwachtrij verwijderen"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:442
msgid "Reload metadata"
msgstr "Herlaad bijkomende gegevens"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:461
msgid "Remove from disk"
msgstr "Verwijder van schijf"
-#: ../plugins/gtkui/plcommon.c:720 ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:840 ../plugins/gtkui/plcommon.c:965
msgid "Add column"
msgstr "Kolom toevoegen"
-#: ../plugins/gtkui/plcommon.c:750 ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:870 ../plugins/gtkui/plcommon.c:969
msgid "Edit column"
msgstr "Kolom bewerken"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:973
msgid "Remove column"
msgstr "Kolom verwijderen"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:983
msgid "Group by"
msgstr "Groeperen op"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:990
msgid "None"
msgstr "Geen"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:994
msgid "Artist/Date/Album"
msgstr "Artiest/Datum/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Open bestand.."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Configuratie %s"
+msgid "Configure %s"
+msgstr "Configureer %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
-msgstr "Standaard Geluidsapparaat"
+msgstr "Standaard geluidapparaat"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:649
+#: ../plugins/converter/converter.glade.h:6
msgid "Add"
msgstr "Toevoegen"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
-msgstr "Globale Sneltoetsen"
+msgstr "Globale sneltoetsen"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Gleuf"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Toetscombinatie"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481 ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA uitvoer-plugin"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Bestanden aan het toevoegen..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Aan het initialiseren..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "U heeft gegevens aangepast voor dit spoor."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Dit venster echt sluiten?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Locatie"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Meerdere waarden] "
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Subspoor-index"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Toets"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Etiket-type(s)"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Waarde"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Ingebedde Informatietekst"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Etiketten aan het schrijven..."
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ja"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Naam:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nee"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Veldnamen moeten niet beginnen met : of _"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Kan veld niet toevoegen"
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Toets"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Veld met deze naam bestaat reeds, probeer a.u.b. andere naam."
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Waarde"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Gekozen veld echt verwijderen?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Voeg veld toe"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF is nu aan het spelen"
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Verwijder veld"
-#: ../main.c:89
+#: ../main.c:90
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Gebruik: deadbeef [opties] [bestand(en)]\n"
-#: ../main.c:90
+#: ../main.c:91
#, c-format
msgid "Options:\n"
msgstr "Opties:\n"
-#: ../main.c:91
+#: ../main.c:92
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Drukt hulp af (dit bericht) en sluit af\n"
-#: ../main.c:92
+#: ../main.c:93
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Speler afsluiten\n"
-#: ../main.c:93
+#: ../main.c:94
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Versie-informatie afdrukken en sluiten\n"
-#: ../main.c:94
+#: ../main.c:95
#, c-format
msgid " --play Start playback\n"
msgstr " --play Afspelen beginnen\n"
-#: ../main.c:95
+#: ../main.c:96
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Afspelen stoppen\n"
-#: ../main.c:96
+#: ../main.c:97
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Afspelen pauzeren\n"
-#: ../main.c:97
+#: ../main.c:98
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Pauze schakelen\n"
+
+#: ../main.c:99
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Begin afspelen indien gestopt, anders pauze schakelen\n"
+
+#: ../main.c:100
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Volgend nummer in speellijst\n"
-#: ../main.c:98
+#: ../main.c:101
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Vorig nummer in speellijst\n"
-#: ../main.c:99
+#: ../main.c:102
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Willekeurig nummer in speellijst\n"
-#: ../main.c:100
+#: ../main.c:103
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Bestand(en) toevoegen aan speellijst\n"
-#: ../main.c:101
+#: ../main.c:104
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Afdrukken geformatteerde spoornaam naar stdout\n"
-#: ../main.c:102
+#: ../main.c:105
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1083,17 +1141,36 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:108
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - "
-"title\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+
+#: ../main.c:109
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " voor meer infor, zie http://sourceforge.net/apps/media"
+"wiki/deadbeef/index.php?title=Title_Formatting\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../playlist.c:443 ../playlist.c:2609
msgid "Default"
msgstr "Standaard"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3858
+msgid "Yes"
+msgstr "Ja"
+
+#: ../playlist.c:3858
+msgid "No"
+msgstr "Nee"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1101,7 +1178,15 @@ msgstr ""
"2.3 (Aangeraden)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Oplopend\n"
+"Aflopend"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1111,7 +1196,7 @@ msgstr ""
"Spoor\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:55
msgid ""
"Item Index\n"
"Playing\n"
@@ -1120,24 +1205,24 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
"Elementen Index\n"
"Aan het afspelen\n"
-"Album Kunst\n"
+"Albumkunst\n"
"Artiest - Album\n"
"Artiest\n"
"Album\n"
"Titel\n"
"Lengte\n"
-"Nummer\n"
+"Spoornummer\n"
"Groep / Album Artiest\n"
"Aangepast"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:67
msgid ""
"Left\n"
"Right"
@@ -1146,13 +1231,16 @@ msgstr ""
"Rechts"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Kon geen pixmapbestand vinden: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
msgstr ""
"wildmidi: configuratiebestand voor freepats niet gevonden. Installeer "
"timidity-freepats-pakket, of specificeer pad naar freepats.cfg in de plugin-"
@@ -1162,7 +1250,7 @@ msgstr ""
#. directly in source code, e.g. scripted plugin configuration strings
#: ../translation/extra.c:3
msgid "Add Audio CD"
-msgstr "Voeg Geluids-CD toe"
+msgstr "Voeg geluid-CD toe"
#: ../translation/extra.c:4
msgid "Lookup on Last.fm"
@@ -1177,7 +1265,7 @@ msgstr "Gebruik ALSA-resampling"
msgid "Release device while stopped"
msgstr "Geef apparaat vrij wanneer gestopt"
-#: ../translation/extra.c:8 ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Voorkeursomvang van de buffer"
@@ -1206,214 +1294,666 @@ msgstr "Wachtwoord"
msgid "Scrobble URL"
msgstr "Scrobble URL"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Apparaatbestand"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Stoplap voor OSS4 samplerate-fout"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Periode voor bijwerken opslag (uur)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Haal op uit ingebedde etiketten"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Haal op uit plaatselijke map"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Plaatselijk masker voor hoesbestand"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Haal op van Last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Haal op van albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Schaal kunstwerk naar langere kant"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Gebruik CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Verkies CD-tekst boven CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB url (bijv. 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "CDDB poortnummer (bijv. '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Verkies CDDB-protocol boven HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Schakel NRG-afbeeldingsondersteuning in"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Resampling-kwaliteit (0..2, hoger is beter)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Maximale muziekstukduur (in minuten)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Vraag bevestiging voor het verwijderen van bestanden van de schijf"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Statuspictogram voor gevoeligheid van volumeknop"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Aangepast statuspictogram"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Draai gtk_init met --sync (debug-modus)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Voeg scheidingtekens toe tussen contextmenu-onderdelen van plugin"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Bestandopmaak van melding"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Bestandtype voor meldingstitel"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Bestandtype voor meldingsinhoud"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Toon albumkunst"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Grootte van albumkunst (px)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "PulseAudio-server"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Samplerate"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Relatief pad voor zoektabel"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Absoluut pad voor zoektabel"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr ""
"Verwissel audio-bytes (schakel om indien u slechts statische ruis hoort)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "HVSC inschakelen"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Schakel HVSC Songlength DB in"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (vanuit HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bits per sample (8 of 16)"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "HVSC-pad"
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Standaard-liedduur (sec)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Configuratiebestand voor Timidity++ bank"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
-msgstr "Spoor Titel"
+msgstr "Spoortitel"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Artiest"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Datum"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Spoor Nummer"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
-msgstr "Totaal aantal Sporen"
+msgstr "Totaal aantal sporen"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Genre"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Componist"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
-msgstr "Schijf Nummer"
+msgstr "Schijfnummer"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Commentaar"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Encodeur/Verkoper"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Auteursrecht"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Locatie"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Subspoor-index"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Etiket-type(s)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Ingebedde informatietekst"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Bestandextensies (te scheiden met ';')"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Omzetten"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Doel-samplerate"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Kwaliteit / Algoritme"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Automatische Samplerate (negeert Doel-Samplerate)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Het bestand bestaat al. Overschrijven?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Waarschuwing van omzetter"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Kies a.u.b. een codeerder"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Fout van omzetter"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Bezig met omzetten..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Selecteer map..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Kon codeerder-voorinstelling niet opslaan"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Controleer de maprechten voor voorinstelling, probeer een andere titel te kiezen, "
+"of maak wat schijfruimte vrij"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+"Voorinstelling met dezelfde naam bestaat al. Probeer een andere titel te kiezen."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Fout"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Voeg nieuwe codeerder toe"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Codeerder bewerken"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Verwijder voorinstelling"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Dit zal de geselecteerde voorinstelling verwijderen. Weet u het zeker?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Codeerders"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Voeg plugin toe aan DSP-ketting"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Kon DSP-voorinstelling niet opslaan"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Nieuwe DSP-voorinstelling"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "DSP-voorinstelling bewerken"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP-voorinstellingen"
+
+#: ../plugins/converter/interface.c:97
+#: ../plugins/converter/converter.glade.h:34
+msgid "Output folder:"
+msgstr "Uitvoermap:"
+
+#: ../plugins/converter/interface.c:118
+#: ../plugins/converter/converter.glade.h:33
+msgid "Output file name:"
+msgstr "Naam van uitvoerbestand:"
+
+#: ../plugins/converter/interface.c:129
+#: ../plugins/converter/converter.glade.h:18
+#, no-c-format
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Extensie (bijv. .mp3) zal automatisch worden toegevoegd.\n"
+"Laat het veld leeg voor standaard (%a - %t)."
+
+#: ../plugins/converter/interface.c:142
+#: ../plugins/converter/converter.glade.h:13
+msgid "Encoder:"
+msgstr "Codeerder:"
+
+#: ../plugins/converter/interface.c:166
+#: ../plugins/converter/converter.glade.h:10
+msgid "DSP preset:"
+msgstr "DSP-voorinstelling:"
+
+#: ../plugins/converter/interface.c:189
+#: ../plugins/converter/converter.glade.h:30
+msgid "Number of threads:"
+msgstr "Aantal draadjes:"
+
+#: ../plugins/converter/interface.c:202
+#: ../plugins/converter/converter.glade.h:35
+msgid "Output sample format:"
+msgstr "Bestandtype van uitvoer-voorbeeld:"
+
+#: ../plugins/converter/interface.c:209
+msgid "Keep source format"
+msgstr "Behoud bronbestandtype"
+
+#: ../plugins/converter/interface.c:210
+msgid "8 bit signed int"
+msgstr "8 bit signed int"
+
+#: ../plugins/converter/interface.c:211
+msgid "16 bit signed int"
+msgstr "16 bit signed int"
+
+#: ../plugins/converter/interface.c:212
+msgid "24 bit signed int"
+msgstr "24 bit signed int"
+
+#: ../plugins/converter/interface.c:213
+msgid "32 bit signed int"
+msgstr "32 bit signed int"
+
+#: ../plugins/converter/interface.c:214
+msgid "32 bit float"
+msgstr "32 bit float"
+
+#: ../plugins/converter/interface.c:220
+#: ../plugins/converter/converter.glade.h:49
+msgid "When file exists:"
+msgstr "Wanneer het bestand bestaat:"
+
+#: ../plugins/converter/interface.c:227
+msgid "Prompt"
+msgstr "Vraag bevestiging"
+
+#: ../plugins/converter/interface.c:228
+msgid "Overwrite"
+msgstr "Overschrijf"
+
+#: ../plugins/converter/interface.c:230
+#: ../plugins/converter/converter.glade.h:39
+msgid "Preserve folder structure, starting from:"
+msgstr "Behoud mapstructuur, te beginnen op:"
+
+#: ../plugins/converter/interface.c:386
+#: ../plugins/converter/converter.glade.h:12
+msgid "Edit Encoder Preset"
+msgstr "Bewerk voorinstelling van codeerder"
+
+#: ../plugins/converter/interface.c:409
+#: ../plugins/converter/converter.glade.h:48
+msgid "Untitled Encoder"
+msgstr "Naamloze codeerder"
+
+#: ../plugins/converter/interface.c:417
+#: ../plugins/converter/converter.glade.h:32
+msgid "Output file extension:"
+msgstr "Extensie van uitvoerbestand:"
+
+#: ../plugins/converter/interface.c:424
+#: ../plugins/converter/converter.glade.h:11
+msgid "E.g. mp3"
+msgstr "Bijv. mp3"
+
+#: ../plugins/converter/interface.c:432
+#: ../plugins/converter/converter.glade.h:7
+msgid "Command line:"
+msgstr "Opdrachtregel:"
+
+#: ../plugins/converter/interface.c:443
+#: ../plugins/converter/converter.glade.h:15
+#, no-c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Voorbeeld: lame - %o\n"
+"%i voor invoerbestand, %o voor uitvoerbestand, - for stdin"
+
+#: ../plugins/converter/interface.c:453
+#: ../plugins/converter/converter.glade.h:3
+#, no-c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - uitvoerbestandnaaam\n"
+"%i - tijdelijke invoerbestandnaam</small>"
+
+#: ../plugins/converter/interface.c:462
+#: ../plugins/converter/converter.glade.h:29
+msgid "Method:"
+msgstr "Methode:"
+
+#: ../plugins/converter/interface.c:469
+msgid "Pipe"
+msgstr "Pijp"
+
+#: ../plugins/converter/interface.c:470
+msgid "Temporary file"
+msgstr "Tijdelijk bestand"
+
+#: ../plugins/converter/interface.c:487
+#: ../plugins/converter/converter.glade.h:5
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:493
+#: ../plugins/converter/converter.glade.h:21
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:499
+#: ../plugins/converter/converter.glade.h:31
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:505
+#: ../plugins/converter/converter.glade.h:20
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:517
+#: ../plugins/converter/converter.glade.h:22
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:527
+#: ../plugins/converter/converter.glade.h:1
+msgid "<b>Tag writer</b>"
+msgstr "<b>Etiketschrijver</b>"
+
+#: ../plugins/converter/interface.c:614
+#: ../plugins/converter/converter.glade.h:9
+msgid "DSP Preset Editor"
+msgstr "DSP voorinstellingbewerker"
+
+#: ../plugins/converter/interface.c:637
+#: ../plugins/converter/converter.glade.h:47
+msgid "Untitled DSP Preset"
+msgstr "Naamloze DSP voorinstelling"
+
+#: ../plugins/converter/converter.glade.h:23
+msgid ""
+"Keep source format\n"
+"8 bit signed int\n"
+"16 bit signed int\n"
+"24 bit signed int\n"
+"32 bit signed int\n"
+"32 bit float"
+msgstr ""
+"Behoud bronbestandtype\n"
+"8 bit signed int\n"
+"16 bit signed int\n"
+"24 bit signed int\n"
+"32 bit signed int\n"
+"32 bit float"
+
+#: ../plugins/converter/converter.glade.h:36
+msgid ""
+"Pipe\n"
+"Temporary file"
+msgstr ""
+"Pijp\n"
+"Tijdelijk bestand"
+
+#: ../plugins/converter/converter.glade.h:41
+msgid ""
+"Prompt\n"
+"Overwrite"
+msgstr ""
+"Vraag bevestiging\n"
+"Overschrijven"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Speellijst opslaan als"
+
+#~ msgid "_Abort"
+#~ msgstr "_Afbreken"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Lengte"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Omzettingen van bestandopmaak (begin met %):\n"
+#~ " [a]rtiest, [t]itel, al[b]um, [B]and, [C]omponist\n"
+#~ " spoor[n]ummer, [N]totaltracks,\n"
+#~ " [l]engte, [y]jaar, [g]enre, [c]ommentaar,\n"
+#~ " auteurs[r]echt, [b]estandnaam, [T]ags,\n"
+#~ " [d]map, [D]MapMetPad\n"
+#~ "Bijvoorbeeld: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Dynamische samplerate-wisseling toestaan"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Samplerate-conversiekwaliteit:"
+
+#~ msgid "Description:"
+#~ msgstr "Beschrijving:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Auteur(s):"
+
+#~ msgid "Email:"
+#~ msgstr "E-mail:"
+
+#~ msgid "Website:"
+#~ msgstr "Webstek:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Omzettingen van bestandopmaak (begin met %):\n"
+#~ " [a]rtiest, [t]itel, al[b]um, [B]and, [C]omponist\n"
+#~ " spoor[n]ummer, [N]totaltracks,\n"
+#~ " [d]uur, [j]aar, [g]enre, [c]ommentaar,\n"
+#~ " auteurs[r]echt, [b]estandnaam, [T]ags\n"
+#~ "Bijvoorbeeld: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Titel / Spoor Artiest"
+
+#~ msgid "Setup %s"
+#~ msgstr "Configuratie %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA uitvoer-plugin"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF is nu aan het spelen"
+
+#~ msgid "HVSC path"
+#~ msgstr "HVSC-pad"
#~ msgid ""
#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
#~ "<b>Make backup copies</b> before using."
#~ msgstr ""
-#~ "<b>WAARSCHUWING</b>: tag schrijffout is nog steeds in ontwikkeling.\n"
-#~ "<b>Maak backup kopies</b> alvorens gebruik."
+#~ "<b>WAARSCHUWING</b>: schrijffunctie voor etiketten is nog steeds in "
+#~ "ontwikkeling.\n"
+#~ "<b>Maak reservekopieën</b> alvorens te gebruiken."
#~ msgid "Couldn't get enough memory for input buffering."
-#~ msgstr "Kon niet voldoende geheugen krijgen voor input buffer"
+#~ msgstr "Kon niet voldoende geheugen krijgen voor invoerbuffer."
#~ msgid "Error reading first page of Ogg bitstream."
-#~ msgstr "Fout bij het lezen van eerste pagina van Ogg bitstream"
+#~ msgstr "Fout bij het lezen van eerste pagina van Ogg bitstream."
#~ msgid "Error reading initial header packet."
-#~ msgstr "Fout bij lezen initieel header packet"
+#~ msgstr "Fout bij lezen initieel header pakket."
#~ msgid "Couldn't get enough memory to register new stream serial number."
-#~ msgstr "Kon niet voldoende geheugen krijgen voor de registratie van het nieuwe stream serienummer."
+#~ msgstr ""
+#~ "Kon niet voldoende geheugen krijgen voor de registratie van het nieuwe "
+#~ "stream-serienummer."
#~ msgid "Input truncated or empty."
-#~ msgstr "Input leeg of corrupt"
+#~ msgstr "Invoer verminkt of leeg."
#~ msgid "Input is not an Ogg bitstream."
#~ msgstr "Input is geen Ogg bitstream."
#~ msgid "Ogg bitstream does not contain Vorbis data."
-#~ msgstr "Ogg bitstream bevat geen Vorbis data"
+#~ msgstr "Ogg bitstream bevat geen Vorbis-gegevens."
#~ msgid "EOF before recognised stream."
-#~ msgstr "EOF voor herkenning stream"
+#~ msgstr "EOF voor herkende stream."
#~ msgid "Ogg bitstream does not contain a supported data-type."
-#~ msgstr "Ogg bitstream bevat geen ondersteund data-type."
+#~ msgstr "Ogg bitstream bevat geen ondersteund gegevenstype."
#~ msgid "Corrupt secondary header."
#~ msgstr "Secundaire header corrupt."
#~ msgid "EOF before end of Vorbis headers."
-#~ msgstr "EOF voor einde van Vorbis headers."
+#~ msgstr "EOF voor einde van Vorbis-headers."
#~ msgid "Corrupt or missing data, continuing..."
-#~ msgstr "Data corrupt of onvolledig, doorgaan..."
+#~ msgstr "Gegevens corrupt of ontbrekend, bezig met doorgaan..."
-#~ msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-#~ msgstr "Fout bij schrijven van stream naar output. Output stream is mogelijk corrupt of onvolledig."
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Fout bij schrijven van stream naar uitvoer. Uitvoer-stream is mogelijk "
+#~ "corrupt of verminkt."
#~ msgid "Sound (adv.)"
#~ msgstr "Geluid (adv.)"
diff --git a/po/pl.po b/po/pl.po
index 9a96bf25..613a92b1 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -4,14 +4,14 @@
# Łukasz Jasiński <alvarus@alvarus.org>, 2010.
# Grzegorz Gibas <amigib@gmail.com>, 2010.
# Piotr Sokół <psokol@jabster.pl>, 2010.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: DeaDBeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-15 04:41+0000\n"
-"PO-Revision-Date: 2010-12-24 01:28+0200\n"
-"Last-Translator: Artur <mazdac@gmail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-30 01:21+0200\n"
+"Last-Translator: Sam <sam@lodsb.net>\n"
"Language-Team: Polish Translation Team <>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
@@ -21,850 +21,908 @@ msgstr ""
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Obsługiwane pliki dźwiękowe"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
msgstr "Inne pliki (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Wybór pliku"
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Wybór pliku"
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Wybór katalogu"
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Podążanie za dowiązaniami symbolicznymi"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Nie można odczytać pliku pomocy"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Wystąpił błąd przy wczytywaniu pliku pomocy"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1099
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Pomoc"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "O programie DeaDBeef %s"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Lista zmian w DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Tłumacze"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Edytuj listę odtwarzania"
-#: ../plugins/gtkui/ddbtabstrip.c:675
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Tytuł:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Zmień nazwę listy odtwarzania"
-#: ../plugins/gtkui/ddbtabstrip.c:679
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Usuń listę odtwarzania"
-#: ../plugins/gtkui/ddbtabstrip.c:683
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Utwórz listę odtwarzania"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Wybór pliku"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Pliki ustawień korektora DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Wybór pliku"
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Pliki ustawień korektora DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Wybór pliku"
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Pliki ustawień korektora Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Zapisz ustawienia..."
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Wczytaj ustawienia..."
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importuj ustawienia programu Foobar2000..."
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Włączenie"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Wyzeruj wszystkie"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Wyzeruj Preamp"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Wyzeruj pojedyncze"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
msgstr "Zapisz ustawienia..."
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Wczytaj ustawienia..."
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importuj ustawienia programu Foobar2000..."
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dzień %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dni %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
-msgstr "Zatrzymano odtwarzanie | %d ścieżek | całkowity czas trwania listy odtwarzania: %s"
+msgstr ""
+"Zatrzymano odtwarzanie | %d ścieżek | całkowity czas trwania listy "
+"odtwarzania: %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kb/s "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Wstrzymano odtwarzanie |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %d Hz | %d bitów | %s | %d:%02d / %s | %d ścieżek | całkowity czas trwania listy odtwarzania: %s"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %d Hz | %d bitów | %s | %d:%02d / %s | %d ścieżek | całkowity czas "
+"trwania listy odtwarzania: %s"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Wybór pliku"
-#: ../plugins/gtkui/gtkui.c:670 ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Lista odtwarzania w formacie DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Wybór pliku"
-#: ../plugins/gtkui/gtkui.c:865
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Inne pliki (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nowa lista odtwarzania"
-#: ../plugins/gtkui/gtkui.c:868
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nowa lista odtwarzania (%d)"
-#: ../plugins/gtkui/interface.c:142 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Plik"
-#: ../plugins/gtkui/interface.c:149 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Otwórz..."
-#: ../plugins/gtkui/interface.c:165 ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Dodaj..."
-#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Dodaj katalog..."
-#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/interface.c:2973
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Dodaj położenie..."
-#: ../plugins/gtkui/interface.c:190 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nowa lista odtwarzania"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Wczytaj listę odtwarzania..."
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Zapisz listę odtwarzania"
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Zapisz listę odtwarzania jako..."
-
-#: ../plugins/gtkui/interface.c:214 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "Za_kończ"
-#: ../plugins/gtkui/interface.c:225 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Edycja"
-#: ../plugins/gtkui/interface.c:232 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "Wy_czyść"
-#: ../plugins/gtkui/interface.c:240 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Zaznacz wszystkie"
-#: ../plugins/gtkui/interface.c:247 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Odznacz wszystkie"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Odwróć zaznaczenie"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Zaznaczenie"
-#: ../plugins/gtkui/interface.c:265 ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Usuń"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Usuń pozostałe"
-#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Znajdź"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/interface.c:1707
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Tytuł"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Numer utworu"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Wykonawca"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Data"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Własny"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferencje"
-#: ../plugins/gtkui/interface.c:293 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Widok"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Pasek stanu"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Nagłówki kolumn"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Karty"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Korektor dźwięku"
-#: ../plugins/gtkui/interface.c:316 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "Odtwarzanie"
-#: ../plugins/gtkui/interface.c:323 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Kolejność"
-#: ../plugins/gtkui/interface.c:330 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Liniowa"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Losowo"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "Losowo"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Losowo"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Powtarzanie"
-#: ../plugins/gtkui/interface.c:355 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Wszystkie ścieżki"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Pojedyncza ścieżka"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Brak"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Przewijanie podąża za odtwarzaniem"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Kursor podąża za odtwarzaniem"
-#: ../plugins/gtkui/interface.c:382 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Zatrzymaj po zaznaczonym utworze"
-#: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Przejdź do bieżącego nagrania"
-#: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "Pomo_c"
-#: ../plugins/gtkui/interface.c:416 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "Lista zmian"
-#: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "O progr_amie"
-#: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Tłumacze"
-#: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Szukaj"
-#: ../plugins/gtkui/interface.c:911 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Zatrzymaj"
-#: ../plugins/gtkui/interface.c:919 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Odtwarzaj"
-#: ../plugins/gtkui/interface.c:927 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Wstrzymaj"
-#: ../plugins/gtkui/interface.c:935 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Poprzedni"
-#: ../plugins/gtkui/interface.c:943 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Następny"
-#: ../plugins/gtkui/interface.c:951 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Odtwarzaj losowo"
-#: ../plugins/gtkui/interface.c:960 ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "O programie"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Zakończ"
-#: ../plugins/gtkui/interface.c:1041 ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Dodawanie plików..."
-
-#: ../plugins/gtkui/interface.c:1163 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Właściwości utworu"
-#: ../plugins/gtkui/interface.c:1209 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Ustawienia"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "Z_astosuj"
-#: ../plugins/gtkui/interface.c:1230 ../plugins/gtkui/interface.c:1276
-#: ../plugins/gtkui/interface.c:2501 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "Zamknij"
-#: ../plugins/gtkui/interface.c:1234 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadane"
-#: ../plugins/gtkui/interface.c:1280 ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Właściwości"
-#: ../plugins/gtkui/interface.c:1365 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1380 ../plugins/gtkui/interface.c:2873
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Tytuł:"
-
-#: ../plugins/gtkui/interface.c:1388 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Wpisz nową nazwę kolumny"
-#: ../plugins/gtkui/interface.c:1396 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Typ:"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Numer ścieżki"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1405 ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Odtwarzanie"
-#: ../plugins/gtkui/interface.c:1406
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Okładka albumu"
-#: ../plugins/gtkui/interface.c:1407
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Wykonawca - Album"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Wykonawca"
-
-#: ../plugins/gtkui/interface.c:1409 ../plugins/gtkui/interface.c:1797
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Tytuł"
-
-#: ../plugins/gtkui/interface.c:1411
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Długość"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/interface.c:1796
-msgid "Track"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
msgstr "Numer utworu"
-#: ../plugins/gtkui/interface.c:1413 ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Wykonawca albumu"
-#: ../plugins/gtkui/interface.c:1414 ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Własny"
-
-#: ../plugins/gtkui/interface.c:1420 ../plugins/gtkui/interface.c:3100
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1435 ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Wyrównanie:"
-#: ../plugins/gtkui/interface.c:1443
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Lewo"
-#: ../plugins/gtkui/interface.c:1444
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Prawo"
-#: ../plugins/gtkui/interface.c:1446 ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formaty konwersji (zaczyna się od %):\n"
-" [a]rtysta, [t]ytuł, al[b]um, [B]zespół, [C]kompozytor\n"
-" [n]umer utworu, [N]ogółem wszystkich utworów,\n"
-" [l]długość, [y]rok, [g]atunek, [c]komentarz,\n"
-" p[r]awa autorskie, [f]nazwa pliku, [F]pełna nazwa ścieżki, [T]agi\n"
-" [d]katalog, [D]katalog wraz ze ścieżką\n"
-"Przykład: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1475 ../plugins/gtkui/interface.c:2904
-#: ../plugins/gtkui/interface.c:3016 ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "An_uluj"
-#: ../plugins/gtkui/interface.c:1496 ../plugins/gtkui/interface.c:2925
-#: ../plugins/gtkui/interface.c:3037 ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1728 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Wtyczka wyjścia:"
-#: ../plugins/gtkui/interface.c:1741 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Urządzenie wyjścia:"
-#: ../plugins/gtkui/interface.c:1750 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Dźwięk"
-#: ../plugins/gtkui/interface.c:1759 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Zezwolenie na dynamiczną zmianę częstotliwości próbkowania"
-
-#: ../plugins/gtkui/interface.c:1767 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Jakość konwersji częstotliwości próbkowania:"
-
-#: ../plugins/gtkui/interface.c:1786 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Tryb Replaygain:"
-#: ../plugins/gtkui/interface.c:1795
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Wyłącz"
-#: ../plugins/gtkui/interface.c:1799 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Numer utworu"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Szczyt skali Replaygain"
-#: ../plugins/gtkui/interface.c:1807 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Przedwzmacniacz replaygain:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Przedwzmacniacz powszechny"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "Domyślna lista odtwarzania:"
-#: ../plugins/gtkui/interface.c:1816 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Wznowienie odtwarzania po uruchomieniu programu"
-#: ../plugins/gtkui/interface.c:1820 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Odtwarzanie"
-#: ../plugins/gtkui/interface.c:1829 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Konfiguracja"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Zapisz ustawienia... DSP"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Ładuj"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Ukrywanie okna do obszaru powiadamiania zamiast zamykania"
-#: ../plugins/gtkui/interface.c:1833 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Zamykanie list odtwarzania środkowym przyciskiem myszy"
-#: ../plugins/gtkui/interface.c:1837 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Ukrycie ikony obszaru powiadamiania"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Wypisywanie nazwy bieżącego utworu pogrubioną czcionką"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Ukrycie polecenia „Usuń pliki z dysku” w menu podręcznym"
-#: ../plugins/gtkui/interface.c:1853 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Zawartość paska tytułu podczas odtwarzania:"
-#: ../plugins/gtkui/interface.c:1867 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Zawartość paska tytułu po zatrzymaniu odtwarzania:"
-#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Wtyczka interfejsa graficznego (zmiana potrzebuje uruchomienia ponowia)"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Interfejs użytkownika"
# Grzegorz Gibas
# amigib@gmail.com
-#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1936
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Własne"
-#: ../plugins/gtkui/interface.c:1901 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Pierwszoplanowy"
-#: ../plugins/gtkui/interface.c:1908 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Drugoplanowy"
-#: ../plugins/gtkui/interface.c:1927 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Pasek przewijania i głośności"
-#: ../plugins/gtkui/interface.c:1945 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Środkowy"
-#: ../plugins/gtkui/interface.c:1952 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Jasny"
-#: ../plugins/gtkui/interface.c:1959 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Ciemny"
-#: ../plugins/gtkui/interface.c:1990 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Baza"
-#: ../plugins/gtkui/interface.c:1997 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Tekst"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Karty"
-#: ../plugins/gtkui/interface.c:2006 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Podmień (traci motyw GTK treeview, ale przyspiesza renderowanie)"
-#: ../plugins/gtkui/interface.c:2015 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Parzysty wiersz"
-#: ../plugins/gtkui/interface.c:2022 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Nieparzysty wiersz"
-#: ../plugins/gtkui/interface.c:2041 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Tekst"
-
-#: ../plugins/gtkui/interface.c:2048 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Zaznaczony wiersz"
-#: ../plugins/gtkui/interface.c:2067 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Zaznaczony tekst"
-#: ../plugins/gtkui/interface.c:2080 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Kursor"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Listy odtwarzania"
-#: ../plugins/gtkui/interface.c:2097 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Kolory"
-#: ../plugins/gtkui/interface.c:2106 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Serwer pośredniczący"
-#: ../plugins/gtkui/interface.c:2114 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adres:"
-#: ../plugins/gtkui/interface.c:2128 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port:"
-#: ../plugins/gtkui/interface.c:2142 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Typ:"
-#: ../plugins/gtkui/interface.c:2161 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Nazwa użytkownika:"
-#: ../plugins/gtkui/interface.c:2174 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Hasło:"
-#: ../plugins/gtkui/interface.c:2184 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Sieć"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Wersja:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Prawa autorskie"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Wtyczki"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Grupuj"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Format:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Wybieraj wtyczkę DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Wtyczki"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Etykiety"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Zapisywanie ID3v2"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2343
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Zapisywanie ID3v1"
-#: ../plugins/gtkui/interface.c:2220 ../plugins/gtkui/interface.c:2299
-#: ../plugins/gtkui/interface.c:2339 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Zapisywanie APEv2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Usuwanie ID3v2"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2355
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Usuwanie ID3v1"
-#: ../plugins/gtkui/interface.c:2236 ../plugins/gtkui/interface.c:2311
-#: ../plugins/gtkui/interface.c:2351 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Usuwanie APEv2"
-#: ../plugins/gtkui/interface.c:2244 ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Wersja ID3v2"
-#: ../plugins/gtkui/interface.c:2251
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (rekomendowana)"
-#: ../plugins/gtkui/interface.c:2252
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2258 ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Kodowanie znaków ID3v1 (domyślnie iso8859-1)"
-#: ../plugins/gtkui/interface.c:2295 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Zapisywanie ID3v2.4"
-#: ../plugins/gtkui/interface.c:2364 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Etykiety"
-
-#: ../plugins/gtkui/interface.c:2395 ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Opis:"
-
-#: ../plugins/gtkui/interface.c:2410 ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Autor:"
-
-#: ../plugins/gtkui/interface.c:2425 ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Strona internetowa:"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Konfiguracja"
-
-#: ../plugins/gtkui/interface.c:2475 ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Wtyczki"
-
-#: ../plugins/gtkui/interface.c:2857 ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2984 ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3085 ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Grupuj"
-
-#: ../plugins/gtkui/interface.c:3110 ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formaty konwersji (zaczyna się od %):\n"
-" [a]rtysta, [t]ytuł, al[b]um, [B]zespół, [C]kompozytor\n"
-" [n]umer utworu, [N]ogółem wszystkich utworów,\n"
-" [l]długość, [y]rok, [g]atunek, [c]komentarz,\n"
-" p[r]awa autorskie, [f]nazwa pliku, [T]agi\n"
-"Przykład: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306 ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Wykonawca / Album"
-#: ../plugins/gtkui/mainplaylist.c:307 ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Numer ścieżki"
-#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Tytuł / Wykonawca utworu"
-
-#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Długość"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Usuń pliki z dysku"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -872,203 +930,227 @@ msgstr ""
"Plik zostaną usunięte. Kontynuować?\n"
"(To ostrzeżenie może zostać wyłączone w ustawieniach GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Ostrzeżenie"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Dodaj do kolejki"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Usuń z kolejki"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Wczytaj ponownie metadane"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Usuń z dysku"
-#: ../plugins/gtkui/plcommon.c:720 ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Dodaj kolumnę"
-#: ../plugins/gtkui/plcommon.c:750 ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Edytuj kolumnę"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Usuń kolumnę"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Grupowanie"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Brak"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artysta/Data/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Otwórz plik..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Ustawienia wtyczki %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Konfiguracja %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Domyślne urządzenie dźwiękowe"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Dodaj"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Skróty klawiszowe"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Slot"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Kombinacja klawiszy"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481 ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Dodawanie plików..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Inicjalizowanie..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Dane dla tego utworu zostały zmodyfikowane."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Zamknąć okno?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Dodawanie położenia"
-
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Numer pod-utworu"
-
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Typy etykiet"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Wewnętrzny Cuesheet"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Tak"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nie"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Kodek"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+#, fuzzy
+msgid "[Multiple values] "
+msgstr "[różne opcji]"
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Klawisz"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Wartość"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeef teraz odtwarza"
+#: ../plugins/gtkui/trkproperties.c:594
+#, fuzzy
+msgid "Writing tags..."
+msgstr "Pisanie etykiety..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Imię:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+#, fuzzy
+msgid "Field names must not start with : or _"
+msgstr "Nie wolno zacząć z : albo _"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+#, fuzzy
+msgid "Cannot add field"
+msgstr "Nie można dodać teren"
+
+#: ../plugins/gtkui/trkproperties.c:667
+#, fuzzy
+msgid "Field with such name already exists, please try different name."
+msgstr "Teren o takim imieniu już istnieje, prosimy spróbować inną"
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Poważnie chcesz usunąć tego teren?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Dodaj..."
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Usuń"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Użycie: deadbeef [OPCJA...] [PLIK...]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opcje:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr " --help lub -h Wyświetla pomoc (ten tekst) i wychodzi z programu\n"
+msgstr ""
+" --help lub -h Wyświetla pomoc (ten tekst) i wychodzi z programu\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Wychodzi z programu\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Wyświetla wersję programie i wychodzi\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Zaczyna odtwarzanie\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Zatrzymuje odtwarzanie\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Wstrzymuje odtwarzanie\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Następny utwór na liście odtwarzania\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Poprzedni utwór na liście odtwarzania\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Losowy utwór na liście odtwarzania\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
-msgstr " --queue Dodaje plik(i) do istniejącej listy odtwarzania\n"
+msgstr ""
+" --queue Dodaje plik(i) do istniejącej listy odtwarzania\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Wysyła sformatowaną nazwę utworu do stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1079,16 +1161,36 @@ msgstr ""
" [d]ługość, [n]umer utworu, [r]ok, [k]omentarz,\n"
" prawa auto[r]skie, [e]pozostało\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " np.: --nowplaying \"%%a - %%t\" powinno wyświetlić \"artysta - tytuł\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" np.: --nowplaying \"%%a - %%t\" powinno wyświetlić "
+"\"artysta - tytuł\"\n"
-#: ../playlist.c:378 ../playlist.c:2302
+#: ../main.c:110
+#, c-format, fuzzy
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr "aby czytać dalej, otwórz http://sourceforge.net/apps/mediawiki/deadbeef/inde"
+"x.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Domyślne"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Tak"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Nie"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1096,7 +1198,13 @@ msgstr ""
"2.3 (Rekomendowany)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1106,7 +1214,7 @@ msgstr ""
"Utwór\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1115,8 +1223,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1132,7 +1240,7 @@ msgstr ""
"Zespół / Wykonawca albumu\n"
"Własny"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1141,14 +1249,20 @@ msgstr ""
"Prawo"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Nie można znaleźć pliku pixmapy: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: plik konfiguracyjny freepats nie został znaleziony. Zainstaluj pakiet timidity-freepats lub wskaż właściwą ścieżkę do pliku freepats.cfg w ustawieniach wtyczek."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: plik konfiguracyjny freepats nie został znaleziony. Zainstaluj "
+"pakiet timidity-freepats lub wskaż właściwą ścieżkę do pliku freepats.cfg w "
+"ustawieniach wtyczek."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1169,7 +1283,7 @@ msgstr "Przepróbkowywanie ALSA"
msgid "Release device while stopped"
msgstr "Zwolnij urządzenie po zatrzymaniu"
-#: ../translation/extra.c:8 ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Preferowany rozmiar bufora"
@@ -1198,168 +1312,567 @@ msgstr "Hasło:"
msgid "Scrobble URL"
msgstr "Adres URL systemu składania informacji:"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Okres aktualizacji pamięci podręcznej (h)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Pozyskiwanie z etykiet"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Pozyskiwanie z lokalnego katalogu"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Wzór plików okładek:"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Pozyskiwanie z serwisu last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Pozyskiwanie z serwisu albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Używanie baz danych CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Preferowanie danych CD-Text zamiast baz danych CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "Adres URL bazy danych CDDB (np. „freedb.org”)"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Numer portu bazy danych CDDB (np. „888”)"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Preferuj protokół CDDB zamiast HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Obsługa obrazów płyt w formacie NRG"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Jakość przepróbkowywania (0..2, wyższa jest lepsza)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Maksymalna długość utworu (min):"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Wyświetlanie pytania przed fizycznym usunięciem plików"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Czułość kontroli głośności ikony obszaru powiadamiania"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Własna ikona stanu"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Uruchom gtk_init z opcją --sync (tryb odpluskwiania)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
+#: ../translation/extra.c:45
+#, fuzzy
+msgid "Notification title format"
+msgstr "Format powiadomień:"
+
+#: ../translation/extra.c:46
+#, fuzzy
+msgid "Notification content format"
msgstr "Format powiadomień:"
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Okładka albumu"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "Serwer PulseAudio"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Częstotliwość próbkowania"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Względna ścieżka tablicy przeskoków"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Bezwzględna ścieżka tablicy przeskoków"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr ""
"Odwróć kolejność bitów audio (przełącz jeśli słyszysz tylko ciągły dźwięk)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
+#: ../translation/extra.c:58
+#, fuzzy
+msgid "Enable HVSC Songlength DB"
msgstr "Włączenie HVSC"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Położenie HVSC:"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+#, fuzzy
+msgid "Default song length (sec)"
+msgstr "Maksymalna długość utworu (min):"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Plik konfiguracyjny banków Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Tytuł utworu"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Wykonawca"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Data"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Numer utworu"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Ilość utworów"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Gatunek"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Kompozytor"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Numer płyty"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Komentarz"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Program kodujący / Dostawca"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Prawa autorskie"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Dodawanie położenia"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Numer pod-utworu"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Typy etykiet"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Wewnętrzny Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Kodek"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+#, fuzzy
+msgid "Target Samplerate"
+msgstr "Częstotliwość próbkowania"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Zaznacz wszystkie"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Edytuj kolumnę"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Zapisz ustawienia..."
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Zapisz ustawienia..."
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Zapisz ustawienia..."
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Zapisz ustawienia..."
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Urządzenie wyjścia:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Wtyczka wyjścia:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Zapisz ustawienia..."
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+# Grzegorz Gibas
+# amigib@gmail.com
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Własne"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Wczytaj ustawienia..."
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Wtyczka wyjścia:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Zapisywanie APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Zapisywanie ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Zapisywanie ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Etykiety"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Zapisz listę odtwarzania jako..."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Długość"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formaty konwersji (zaczyna się od %):\n"
+#~ " [a]rtysta, [t]ytuł, al[b]um, [B]zespół, [C]kompozytor\n"
+#~ " [n]umer utworu, [N]ogółem wszystkich utworów,\n"
+#~ " [l]długość, [y]rok, [g]atunek, [c]komentarz,\n"
+#~ " p[r]awa autorskie, [f]nazwa pliku, [F]pełna nazwa ścieżki, [T]agi\n"
+#~ " [d]katalog, [D]katalog wraz ze ścieżką\n"
+#~ "Przykład: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Zezwolenie na dynamiczną zmianę częstotliwości próbkowania"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Jakość konwersji częstotliwości próbkowania:"
+
+#~ msgid "Description:"
+#~ msgstr "Opis:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Strona internetowa:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formaty konwersji (zaczyna się od %):\n"
+#~ " [a]rtysta, [t]ytuł, al[b]um, [B]zespół, [C]kompozytor\n"
+#~ " [n]umer utworu, [N]ogółem wszystkich utworów,\n"
+#~ " [l]długość, [y]rok, [g]atunek, [c]komentarz,\n"
+#~ " p[r]awa autorskie, [f]nazwa pliku, [T]agi\n"
+#~ "Przykład: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Tytuł / Wykonawca utworu"
+
+#~ msgid "Setup %s"
+#~ msgstr "Ustawienia wtyczki %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeef teraz odtwarza"
+
+#~ msgid "HVSC path"
+#~ msgstr "Położenie HVSC:"
#~ msgid "_Abort"
#~ msgstr "_Anuluj"
@@ -1389,7 +1902,8 @@ msgstr "Prawa autorskie"
#~ msgstr "Błąd odczytu początkowego pakietu nagłówka"
#~ msgid "Couldn't get enough memory to register new stream serial number."
-#~ msgstr "Zbyt mało pamięci do zarejestrowania numeru seryjnego nowego strumienia."
+#~ msgstr ""
+#~ "Zbyt mało pamięci do zarejestrowania numeru seryjnego nowego strumienia."
#~ msgid "Input truncated or empty."
#~ msgstr "Wejście obcięte lub puste"
@@ -1415,8 +1929,12 @@ msgstr "Prawa autorskie"
#~ msgid "Corrupt or missing data, continuing..."
#~ msgstr "Uszkodzone lub brakujące dane, kontynuacja..."
-#~ msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-#~ msgstr "Błąd zapisu strumienia wyjściowego. Strumień wyjściowy może być uszkodzony lub obcięty."
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Błąd zapisu strumienia wyjściowego. Strumień wyjściowy może być "
+#~ "uszkodzony lub obcięty."
#~ msgid ""
#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
diff --git a/po/pt.po b/po/pt.po
index 70ce6588..77d29e61 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1,1042 +1,1086 @@
# Portuguese translation of deadbeef package
# Copyright (C) 2010 THE deadbeef'S COPYRIGHT HOLDER
# This file is distributed under the same license as the deadbeef package.
-# Sérgio Marques <smarquespt@gmail.com>, 2010.
+# Sérgio Marques <smarquespt@gmail.com>, 2010,2011.
#
msgid ""
msgstr ""
"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-06 04:37+0000\n"
-"PO-Revision-Date: 2011-06-10 19:27-0000\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-11-24 18:47-0000\n"
"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
"Language-Team: \n"
-"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: Portugal\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formatos suportados"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Outros ficheiros (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Todos os ficheiros (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Abrir ficheiro(s)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
-msgstr "Adicionar ficheiro(s) à lista..."
+msgstr "Adicionar ficheiro(s) à lista de reprodução..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
-msgstr "Adicionar pasta(s) à lista..."
+msgstr "Adicionar pasta(s) à lista de reprodução..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Seguir ligações simbólicas"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
-msgstr "Falha ao ler o ficheiro de ajuda"
+msgstr "Falha ao ler a ajuda"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Falha ao carregar a ajuda"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693
-#: ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737
+#: ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Ajuda"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Sobre o DeaDBeef %s"
-#: ../plugins/gtkui/callbacks.c:705
-msgid "about.txt"
-msgstr "about.txt"
-
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Alterações no DeadBeeF %s"
-#: ../plugins/gtkui/callbacks.c:718
-msgid "ChangeLog"
-msgstr "Alterações"
-
-#: ../plugins/gtkui/callbacks.c:729
-msgid "COPYING.GPLv2"
-msgstr "COPYING.GPLv2"
-
-#: ../plugins/gtkui/callbacks.c:740
-msgid "COPYING.LGPLv2.1"
-msgstr "COPYING.LGPLv2.1"
-
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Tradutores do DeaDBeeF"
-#: ../plugins/gtkui/callbacks.c:1082
-msgid "translators.txt"
-msgstr "translators.txt"
-
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755
+#: ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
-msgstr "Editar lista"
+msgstr "Editar lista de reprodução"
+
+#: ../plugins/gtkui/ddbtabstrip.c:758
+#: ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922
+#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Título:"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
-msgstr "Renomear lista"
+msgstr "Mudar nome da lista de reprodução"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
-msgstr "Remover lista"
+msgstr "Remover lista de reprodução"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
-msgstr "Adicionar nova lista"
+msgstr "Adicionar nova lista de reprodução"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Gravar pré-ajustes do EQ DeadBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
-msgstr "Ficheiros de pré-ajustes do EQ DeadBeeF(*.ddbeq)"
+msgstr "Pré-ajustes do EQ DeadBeeF(*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Carregar pré-ajustes do EQ DeadBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Pré-ajustes do EQ DeadBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importar pré-ajustes Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Pré-ajustes Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Gravar pré-ajustes"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Carregar pré-ajustes"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importar pré-ajustes do Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Ativar"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Nulo"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Amplificador nulo"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Bandas nulas"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Gravar pré-ajustes"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Carregar pré-ajustes"
+#: ../plugins/gtkui/eq.c:387
+#: ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Pré-ajustes"
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importar pré-ajustes do Foobar2000"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dia %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dias %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
-msgstr "Parado | %d músicas | %s reproduções"
+msgstr "Parado | %d faixas | %s reproduções"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Estéreo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Em pausa | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d músicas | %s reproduções"
+msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d faixas | %s reproduções"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
-msgstr "Gravar lista como"
+msgstr "Gravar lista de reprodução como"
-#: ../plugins/gtkui/gtkui.c:670
-#: ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
-msgstr "Listas DeaDBeeF (*.dbpl)"
+msgstr "Lista de reprodução DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
-msgstr "Carregar lista"
+msgstr "Carregar lista de reprodução"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Outros ficheiros (*)"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:926
+#: ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
-msgstr "Nova lista"
+msgstr "Nova lista de reprodução"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
-msgstr "Nova lista (%d)"
+msgstr "Nova lista de reprodução (%d)"
-#: ../plugins/gtkui/interface.c:142
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150
+#: ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Ficheiro"
-#: ../plugins/gtkui/interface.c:149
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157
+#: ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
-msgstr "_Abrir ficheiro(s)"
+msgstr "Abrir ficheir_o(s)"
-#: ../plugins/gtkui/interface.c:165
-#: ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173
+#: ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Adicionar ficheiro(s)"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181
+#: ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Adicionar pasta(s)"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189
+#: ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Adicionar local"
-#: ../plugins/gtkui/interface.c:190
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198
+#: ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
-msgstr "Nova lista"
+msgstr "Nova lista de reprodução"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205
+#: ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
-msgstr "Carregar lista"
+msgstr "Carregar lista de reprodução"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209
+#: ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
-msgstr "Gravar lista"
+msgstr "Gravar lista de reprodução"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Gravar lista como"
-
-#: ../plugins/gtkui/interface.c:214
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218
+#: ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Sair"
-#: ../plugins/gtkui/interface.c:225
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229
+#: ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Editar"
-#: ../plugins/gtkui/interface.c:232
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236
+#: ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Apagar"
-#: ../plugins/gtkui/interface.c:240
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244
+#: ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Marcar tudo"
-#: ../plugins/gtkui/interface.c:247
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251
+#: ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Desmarcar tudo"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258
+#: ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverter seleção"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262
+#: ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Seleção"
-#: ../plugins/gtkui/interface.c:265
-#: ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269
+#: ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323
+#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Remover"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277
+#: ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Cortar"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281
+#: ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Procurar"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288
+#: ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Ordenar por"
+
+#: ../plugins/gtkui/interface.c:295
+#: ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318
+#: ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393
+#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790
+#: ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Título"
+
+#: ../plugins/gtkui/interface.c:299
+#: ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Número da faixa"
+
+#: ../plugins/gtkui/interface.c:303
+#: ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875
+#: ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Álbum"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307
+#: ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013
+#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artista"
+
+#: ../plugins/gtkui/interface.c:311
+#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Data"
+
+#: ../plugins/gtkui/interface.c:315
+#: ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017
+#: ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Personalizar"
+
+#: ../plugins/gtkui/interface.c:324
+#: ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferências"
-#: ../plugins/gtkui/interface.c:293
-#: ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328
+#: ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Ver"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335
+#: ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barra de estado"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339
+#: ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
-msgstr "Cabeçalhos das colunas"
+msgstr "Cabeçalhos de colunas"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343
+#: ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Separadores"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347
+#: ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizador"
-#: ../plugins/gtkui/interface.c:316
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351
+#: ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Reprodução"
-#: ../plugins/gtkui/interface.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358
+#: ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Organização"
-#: ../plugins/gtkui/interface.c:330
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365
+#: ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linear"
-#: ../plugins/gtkui/interface.c:336
+#: ../plugins/gtkui/interface.c:370
+#: ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Desordenar faixas"
+
+#: ../plugins/gtkui/interface.c:375
#: ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Misturar"
+msgid "Shuffle albums"
+msgstr "Desordenar álbuns"
-#: ../plugins/gtkui/interface.c:342
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:380
+#: ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Aleatório"
-#: ../plugins/gtkui/interface.c:348
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386
+#: ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Repetição"
-#: ../plugins/gtkui/interface.c:355
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393
+#: ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Repetir todas"
-#: ../plugins/gtkui/interface.c:361
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398
+#: ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
-msgstr "Repetir música"
+msgstr "Repetir uma música"
-#: ../plugins/gtkui/interface.c:367
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403
+#: ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Não repetir"
-#: ../plugins/gtkui/interface.c:373
-#: ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409
+#: ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Deslocamento segue a reprodução"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414
+#: ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Cursor segue a reprodução"
-#: ../plugins/gtkui/interface.c:382
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418
+#: ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
-msgstr "Parar após a atual"
+msgstr "Parar após a faixa atual"
-#: ../plugins/gtkui/interface.c:394
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430
+#: ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Ir para a faixa atual"
-#: ../plugins/gtkui/interface.c:401
-#: ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437
+#: ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "A_juda"
-#: ../plugins/gtkui/interface.c:416
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452
+#: ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Alterações"
-#: ../plugins/gtkui/interface.c:425
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461
+#: ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465
+#: ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474
+#: ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Sobre"
-#: ../plugins/gtkui/interface.c:446
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482
+#: ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Tradutores"
-#: ../plugins/gtkui/interface.c:836
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898
+#: ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Procurar"
-#: ../plugins/gtkui/interface.c:911
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973
+#: ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Parar"
-#: ../plugins/gtkui/interface.c:919
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981
+#: ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Reproduzir"
-#: ../plugins/gtkui/interface.c:927
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989
+#: ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pausar"
-#: ../plugins/gtkui/interface.c:935
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997
+#: ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Anterior"
-#: ../plugins/gtkui/interface.c:943
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005
+#: ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Seguinte"
-#: ../plugins/gtkui/interface.c:951
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013
+#: ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Reprodução aleatória"
-#: ../plugins/gtkui/interface.c:960
-#: ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022
+#: ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Sobre"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035
+#: ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Sair"
-#: ../plugins/gtkui/interface.c:1045
-#: ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Adicionando ficheiros..."
-
-#: ../plugins/gtkui/interface.c:1089
-#: ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "_Abortar"
-
-#: ../plugins/gtkui/interface.c:1189
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225
+#: ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
-msgstr "Propriedades da música"
+msgstr "Propriedades da faixa"
-#: ../plugins/gtkui/interface.c:1235
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270
+#: ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Definições"
+
+#: ../plugins/gtkui/interface.c:1296
+#: ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Aplicar"
-#: ../plugins/gtkui/interface.c:1256
-#: ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317
+#: ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
-msgstr "_Fechar"
+msgstr "Fe_char"
-#: ../plugins/gtkui/interface.c:1260
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321
+#: ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
-msgstr "Meta-dados"
+msgstr "Detalhes"
-#: ../plugins/gtkui/interface.c:1306
-#: ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367
+#: ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Propriedades"
-#: ../plugins/gtkui/interface.c:1391
-#: ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1406
-#: ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Título:"
-
-#: ../plugins/gtkui/interface.c:1414
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494
+#: ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
-msgstr "Indique aqui o novo título da coluna"
+msgstr "Indique o novo título da coluna"
-#: ../plugins/gtkui/interface.c:1422
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502
+#: ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tipo:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
-msgstr "Índice"
+msgstr "Índice de itens"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431
-#: ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511
+#: ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
-msgstr "Em reprodução"
+msgstr "Reprodução"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Capa do álbum"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artista - Álbum"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434
-#: ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Artista"
-
-#: ../plugins/gtkui/interface.c:1435
-#: ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Álbum"
-
-#: ../plugins/gtkui/interface.c:1436
-#: ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Título"
-
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517
+#: ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Duração"
-#: ../plugins/gtkui/interface.c:1438
-#: ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Faixa"
+#: ../plugins/gtkui/interface.c:1518
+#: ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Número da faixa"
-#: ../plugins/gtkui/interface.c:1439
-#: ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519
+#: ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Banda / Artista do álbum"
-#: ../plugins/gtkui/interface.c:1440
-#: ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Personalizar"
-
-#: ../plugins/gtkui/interface.c:1446
-#: ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526
+#: ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formato:"
-#: ../plugins/gtkui/interface.c:1461
-#: ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551
+#: ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Alinhamento:"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Esquerda"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Direita"
-#: ../plugins/gtkui/interface.c:1472
-#: ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Conversão de formatos (iniciam com %):\n"
-"[a]rtista, [t]ítulo, ál[b]um, [B]anda, [C]ompositor\n"
-"[n]úmerodefaixa, [N]totaldefaixas,\n"
-"[l]duração, [y]ano, [g]énero, [c]omentário,\n"
-"di[r]eitosdeautor, nomede[f]icheiro, [F]nomecompletodocaminho,\n"
-"[T]detalhes [d]iretório, [D]iretóriocomcaminho\n"
-"Exemplo: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501
-#: ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040
-#: ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583
+#: ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065
+#: ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Cancelar"
-#: ../plugins/gtkui/interface.c:1522
-#: ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061
-#: ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604
+#: ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086
+#: ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1753
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825
+#: ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
-msgstr "\"Plug-in\" de som:"
+msgstr "Sistema de som:"
-#: ../plugins/gtkui/interface.c:1766
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838
+#: ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Dispositivo de som:"
-#: ../plugins/gtkui/interface.c:1775
-#: ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847
+#: ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Converter, sempre, 8 bits em 16 bits"
+
+#: ../plugins/gtkui/interface.c:1851
+#: ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Som"
-#: ../plugins/gtkui/interface.c:1784
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Permitir troca dinâmica da frequência"
-
-#: ../plugins/gtkui/interface.c:1792
-#: ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Qualidade de conversão:"
-
-#: ../plugins/gtkui/interface.c:1811
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864
+#: ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
-msgstr "Modo de consistência:"
+msgstr "Modo Replay Gain:"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Desativar"
-#: ../plugins/gtkui/interface.c:1824
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Faixa"
+
+#: ../plugins/gtkui/interface.c:1877
+#: ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
-msgstr "Escala de consistência"
+msgstr "Escala Replay Gain"
-#: ../plugins/gtkui/interface.c:1832
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892
+#: ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902
+#: ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906
+#: ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Amplificador Replaygain:"
+
+#: ../plugins/gtkui/interface.c:1913
+#: ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Amplificador:"
+
+#: ../plugins/gtkui/interface.c:1944
+#: ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Adicionar ficheiros via linha de comandos (ou gestor de ficheiros) para esta lista:"
+msgstr "Adicionar ficheiros via linha de comandos (ou gestor de ficheiros) para esta lista de reprodução:"
-#: ../plugins/gtkui/interface.c:1841
+#: ../plugins/gtkui/interface.c:1953
#: ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Ao iniciar, retomar a sessão anterior"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957
+#: ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Não adicionar arquivos, ao adicionar pastas"
+
+#: ../plugins/gtkui/interface.c:1961
+#: ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Reprodução"
-#: ../plugins/gtkui/interface.c:1854
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982
+#: ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configurar"
+
+#: ../plugins/gtkui/interface.c:2017
+#: ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Cadeia de pré-ajustes DSP"
+
+#: ../plugins/gtkui/interface.c:2029
+#: ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "Carr_egar"
+
+#: ../plugins/gtkui/interface.c:2033
+#: ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042
+#: ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
-msgstr "Fechar minimiza para área de notificação"
+msgstr "Fechar minimiza para a área de notificação"
-#: ../plugins/gtkui/interface.c:1858
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046
+#: ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
-msgstr "Botão central do rato fecha a lista"
+msgstr "Botão central do rato fecha a lista de reprodução"
-#: ../plugins/gtkui/interface.c:1862
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050
+#: ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Ocultar ícone da área de notificação"
-#: ../plugins/gtkui/interface.c:1866
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054
+#: ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
-msgstr "Utilizar letra a negrito para a faixa reproduzida"
+msgstr "Utilizar letra a negrito para a faixa atual"
-#: ../plugins/gtkui/interface.c:1870
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058
+#: ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Ocultar item do menu \"Apagar do disco\""
-#: ../plugins/gtkui/interface.c:1878
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062
+#: ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Nome automático das listas de reprodução, ao adicionar uma pasta"
+
+#: ../plugins/gtkui/interface.c:2070
+#: ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Taxa de atualização da interface (vezes por segundo):"
+
+#: ../plugins/gtkui/interface.c:2084
+#: ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
-msgstr "Barra de título se em reprodução:"
+msgstr "Barra de título ao reproduzir:"
-#: ../plugins/gtkui/interface.c:1892
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098
+#: ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Barra de título se parada:"
-#: ../plugins/gtkui/interface.c:1902
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112
+#: ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "\"Plug-in\" de GUI (tem que reiniciar o deadbeef):"
+
+#: ../plugins/gtkui/interface.c:2120
+#: ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1916
-#: ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135
+#: ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Sobrepor"
-#: ../plugins/gtkui/interface.c:1925
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144
+#: ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
-msgstr "Plano principal"
+msgstr "Principal"
-#: ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151
+#: ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
-msgstr "Segundo plano"
+msgstr "Secundária"
-#: ../plugins/gtkui/interface.c:1951
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170
+#: ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
-msgstr "Cores das barras de volume/procura"
+msgstr "Cor das barras de volume/procura"
-#: ../plugins/gtkui/interface.c:1969
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188
+#: ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Central"
-#: ../plugins/gtkui/interface.c:1976
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195
+#: ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Claro"
-#: ../plugins/gtkui/interface.c:1983
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202
+#: ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Escuro"
-#: ../plugins/gtkui/interface.c:2014
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233
+#: ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:2021
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240
+#: ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Texto"
+
+#: ../plugins/gtkui/interface.c:2253
+#: ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Cores do separador"
-#: ../plugins/gtkui/interface.c:2030
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262
+#: ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Sobrepor (perde a vista em árvore, mas acelera o processamento)"
-#: ../plugins/gtkui/interface.c:2039
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271
+#: ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Linha par"
-#: ../plugins/gtkui/interface.c:2046
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278
+#: ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Linha ímpar"
-#: ../plugins/gtkui/interface.c:2065
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Texto"
-
-#: ../plugins/gtkui/interface.c:2072
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304
+#: ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Linha selecionada"
-#: ../plugins/gtkui/interface.c:2091
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323
+#: ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Texto selecionado"
-#: ../plugins/gtkui/interface.c:2104
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336
+#: ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Cursor"
-#: ../plugins/gtkui/interface.c:2117
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349
+#: ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
-msgstr "Cores da lista"
+msgstr "Cores da lista de reprodução"
-#: ../plugins/gtkui/interface.c:2121
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353
+#: ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Cores"
-#: ../plugins/gtkui/interface.c:2130
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362
+#: ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Ativar servidor proxy"
-#: ../plugins/gtkui/interface.c:2138
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370
+#: ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Endereço do servidor proxy:"
-#: ../plugins/gtkui/interface.c:2152
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384
+#: ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Porta do servidor proxy:"
-#: ../plugins/gtkui/interface.c:2166
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398
+#: ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Tipo de proxy:"
-#: ../plugins/gtkui/interface.c:2185
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417
+#: ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
-msgstr "Utilizador da proxy:"
+msgstr "Utilizador de proxy:"
-#: ../plugins/gtkui/interface.c:2198
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430
+#: ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Senha de proxy:"
-#: ../plugins/gtkui/interface.c:2208
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440
+#: ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Rede"
-#: ../plugins/gtkui/interface.c:2236
+#: ../plugins/gtkui/interface.c:2471
+#: ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Versão:"
+
+#: ../plugins/gtkui/interface.c:2535
+#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Direitos de autor"
+
+#: ../plugins/gtkui/interface.c:2545
+#: ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "\"Plug-ins\""
+
+#: ../plugins/gtkui/interface.c:3033
#: ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135
+#: ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Agrupar por"
+
+#: ../plugins/gtkui/interface.c:3259
+#: ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Organizar por..."
+
+#: ../plugins/gtkui/interface.c:3275
+#: ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Formato"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Descendente"
+
+#: ../plugins/gtkui/interface.c:3359
+#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Selecione o \"plug-in\" DSP"
+
+#: ../plugins/gtkui/interface.c:3375
+#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016
+#: ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "\"Plug-in\""
+
+#: ../plugins/gtkui/interface.c:3461
+#: ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Definições do editor de detalhes"
+
+#: ../plugins/gtkui/interface.c:3492
+#: ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
-msgstr "Escrever ID3v2"
+msgstr "Gravar ID3v2"
-#: ../plugins/gtkui/interface.c:2240
-#: ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496
+#: ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
-msgstr "Escrever ID3v1"
+msgstr "Gravar ID3v1"
-#: ../plugins/gtkui/interface.c:2244
-#: ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500
+#: ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619
+#: ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
-msgstr "Escrever APEv2"
+msgstr "Gravar APEv2"
-#: ../plugins/gtkui/interface.c:2252
-#: ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508
+#: ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Remover ID3v2"
-#: ../plugins/gtkui/interface.c:2256
-#: ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512
+#: ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Remover ID3v1"
-#: ../plugins/gtkui/interface.c:2260
-#: ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516
+#: ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631
+#: ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Remover APEv2"
-#: ../plugins/gtkui/interface.c:2268
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524
+#: ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Versão ID3v2"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Recomendado)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538
+#: ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Codificação de caracteres ID3v1 (omissão é iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575
+#: ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
-msgstr "Escrever ID3v2.4"
-
-#: ../plugins/gtkui/interface.c:2388
-#: ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Editor de detalhes"
-
-#: ../plugins/gtkui/interface.c:2419
-#: ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Descrição:"
-
-#: ../plugins/gtkui/interface.c:2434
-#: ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Autor(es):"
+msgstr "Gravar ID3v2.4"
-#: ../plugins/gtkui/interface.c:2449
-#: ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Endereço eletrónico:"
-
-#: ../plugins/gtkui/interface.c:2464
-#: ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Sítio web:"
-
-#: ../plugins/gtkui/interface.c:2495
-#: ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Configurar"
-
-#: ../plugins/gtkui/interface.c:2499
-#: ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "\"Plug-ins\""
-
-#: ../plugins/gtkui/interface.c:2881
-#: ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:3008
-#: ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109
-#: ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Agrupar por"
-
-#: ../plugins/gtkui/interface.c:3134
-#: ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Conversão de formatos (iniciam com %):\n"
-" [a]rtista, [t]ítulo, ál[b]um, [B]anda, [C]ompositor\n"
-" [n]úmerodefaixa, [N]totaldefaixas,\n"
-" [l]duração, [y]ano, [g]énero, [c]omentário,\n"
-" di[r]eitosdeautor, nomede[f]icheiro, [T]detalhes\n"
-"Exemplo: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306
-#: ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316
+#: ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artista / Álbum"
-#: ../plugins/gtkui/mainplaylist.c:307
-#: ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317
+#: ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Faixa n.º"
-#: ../plugins/gtkui/mainplaylist.c:308
-#: ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Título / Artista da faixa"
-
-#: ../plugins/gtkui/mainplaylist.c:309
-#: ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Duração"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Apagar ficheiros no disco"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1044,209 +1088,226 @@ msgstr ""
"Os ficheiros serão eliminados. Continuar?\n"
"(Esta janela pode ser desligada nas definições da GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340
+#: ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693
+#: ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Aviso"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
-msgstr "Colocar na fila de reprodução"
+msgstr "Juntar à fila de reprodução"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Remover da fila de reprodução"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
-msgstr "Atualizar meta-dados"
+msgstr "Recarregar detalhes"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Remover do disco"
-#: ../plugins/gtkui/plcommon.c:720
-#: ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855
+#: ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Adicionar coluna"
-#: ../plugins/gtkui/plcommon.c:750
-#: ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885
+#: ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Editar coluna"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Remover coluna"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Agrupar por"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Nada"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artista/Data/Álbum"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Abrir ficheiro..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr "Configurar %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
-msgstr "Dispositivo áudio por omissão"
+msgstr "Dispositivo áudio pré-definido"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318
+#: ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Adicionar"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Teclas de atalho"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Slot"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
-msgstr "Combinação de teclas"
+msgstr "Combinação"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481
-#: ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "\"Plug-in\" alsa"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "A adicionar ficheiros..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
-msgstr "Inicializando..."
+msgstr "A iniciar..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
-msgstr "Modificou os dados desta faixa."
+msgstr "Você modificou os dados desta faixa."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Fechar esta janela?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Local"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Valores múltiplos]"
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Índice de sub-faixa"
+#: ../plugins/gtkui/trkproperties.c:407
+#: ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Tecla"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tipo(s) de detalhes"
+#: ../plugins/gtkui/trkproperties.c:408
+#: ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Valor"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Cuesheet incorporada"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "A escrever detalhes..."
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Sim"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Nome:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Não"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Os nomes não podem iniciar com : ou _"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codificador"
+#: ../plugins/gtkui/trkproperties.c:634
+#: ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Incapaz de adicionar o campo"
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Tecla"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Já existe um campo com este nome. Tente um nome diferente."
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Valor"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Remover o campo selecionado?"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF está a reproduzir"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Adicionar campo"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Remover campo"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Utilização: deadbeef [opções] [ficheiro(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opções:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr " --help ou -h Imprime a ajuda e sai\n"
+msgstr " --help ou -h Imprime a ajuda (esta mensagem) e sai\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Sai do DeadBeeF\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
-msgstr " --version Imprime info da versão e sai\n"
+msgstr " --version Imprime informações da versão e sai\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Inicia a reprodução\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Para a reprodução\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pausa a reprodução\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Retomar/Pausar\n"
+
+#: ../main.c:100
+#, c-format
+msgid " --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Inicia reprodução se parado, caso contrário coloca em pausa\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Avança uma música\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Recua uma música\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Música aleatória na lista\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Junta ficheiro(s) à lista existente\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Grava o nome da faixa para stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1257,17 +1318,30 @@ msgstr ""
" [l]duração, [n]úmerodafaixa, [y]ano, [c]omentário,\n"
" di[r]eitosdeautor, d[e]corrido\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
msgstr " ex: --nowplaying \"%%a - %%t\" deve gravar \"artista - título\"\n"
-#: ../playlist.c:377
-#: ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid " for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " para mais informações, consulte http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454
+#: ../playlist.c:2398
msgid "Default"
-msgstr "Omissão"
+msgstr "Pré-definição"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Sim"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Não"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1275,17 +1349,25 @@ msgstr ""
"2.3 (Recomendado)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Ascendente\n"
+"Descendente"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
"Desativar\n"
-"faixa do\n"
-"álbum"
+"Faixa\n"
+"Álbum"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1294,12 +1376,12 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"Índice\n"
+"Índice de itens\n"
"Em reprodução\n"
"Capa do álbum\n"
"Artista - álbum\n"
@@ -1308,10 +1390,10 @@ msgstr ""
"Título\n"
"Duração\n"
"Faixa\n"
-"Banda / artista do álbum\n"
+"Banda / Artista do álbum\n"
"Personalizar"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1321,6 +1403,8 @@ msgstr ""
#: ../plugins/gtkui/support.c:90
#: ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90
+#: ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Incapaz de encontrar o ficheiro: %s"
@@ -1343,16 +1427,16 @@ msgstr "Procurar na Last.fm"
#. ALSA output plugin
#: ../translation/extra.c:6
msgid "Use ALSA resampling"
-msgstr "Utilizar nova amostragem ALSA"
+msgstr "Utilizar frequência ALSA"
#: ../translation/extra.c:7
msgid "Release device while stopped"
msgstr "Libertar dispositivo se parado"
#: ../translation/extra.c:8
-#: ../translation/extra.c:43
+#: ../translation/extra.c:51
msgid "Preferred buffer size"
-msgstr "Tamanho do buffer"
+msgstr "Tamanho da memória"
#: ../translation/extra.c:9
msgid "Preferred period size"
@@ -1369,7 +1453,7 @@ msgstr "Desativar em reprodução"
#: ../translation/extra.c:13
msgid "Username"
-msgstr "Nome de utilizador"
+msgstr "Utilizador"
#: ../translation/extra.c:14
msgid "Password"
@@ -1377,167 +1461,611 @@ msgstr "Senha"
#: ../translation/extra.c:15
msgid "Scrobble URL"
-msgstr "Scrobble URL"
+msgstr "\"Scrobble\" URL"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
-msgid "Cache update period (hr)"
-msgstr "Período de atualização (hr)"
+msgid "Device file"
+msgstr "Ficheiro"
#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Resolução para o erro OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "Atualização de cache (hr)"
+
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Obter a partir dos detalhes"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Obter numa pasta local"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Máscara de capa local"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Obter na last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Obter no albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Ajustar capa de álbum"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Utilizar CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Preferir CD-Text a CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "URL CDDB (ex: freedb.org)"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Porta CDDB (ex: 888)"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Preferir CDDB a HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
-msgstr "Ativar o suporte a imagens NRG"
+msgstr "Ativar suporte a imagens NRG"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
-msgstr "Qualidade de amostragem (0..2, mais alto = melhor)"
+msgstr "Qualidade de frquência (0..2, quanto mais alto, melhor)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Duração máxima de músicas (minutos)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
-msgstr "Solicitar confirmação antes de apagar"
+msgstr "Solicitar confirmação antes de eliminar"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Sensibilidade do ícone de volume na barra de estado"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Ícone de estado personalizado"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Execute gtk_init com --sync (modo de depuração)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Adicionar separadores entre os itens do menu de contexto"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Formato da notificação"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Formato do título da notificação"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Formato do texto da notificação"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Mostrar capa do álbum"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Tamanho da capa de álbum (px)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "Servidor PulseAudio"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Frequência"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Caminho da tabela de pesquisa relativa"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Caminho da tabela de pesquisa absoluta"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Trocar bytes áudio (apenas se ouvir defeitos)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "Ativar HVSC"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Ativar base de dados de duração HVSC"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Caminho HVSC"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (de HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bits por frequência (8 ou 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Duração pré-definida das músicas (seg)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Ficheiro de configuração do Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
-msgstr "Título da música"
+msgstr "Título da faixa"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Artista"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Data"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Número da música"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
-msgstr "Total de músicas"
+msgstr "Total de faixas"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Género"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Compositor"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Número do disco"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Comentário"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
-msgstr "Codificador / Fornecedor"
+msgstr "Codificador/Fornecedor"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Direitos de autor"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Local"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Índice de subfaixa"
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tipo(s) de detalhes"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Cuesheet incorporada"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codificador"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Extensões (separadas por \";\")"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Converter"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Frequência final"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Qualidade/Algoritmo"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Frequência automática (substitui frequência final)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "O ficheiro já existe. Substituir?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Aviso de conversão"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Por favor, escolha o codificador"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Erro de conversão"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "A converter..."
+
+#: ../plugins/converter/convgui.c:394
+#: ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Selecione a pasta..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Falha ao gravar as definições do codificador"
+
+#: ../plugins/converter/convgui.c:637
+#: ../plugins/converter/convgui.c:1035
+msgid "Check preset folder permissions, try to pick different title, or free up some disk space"
+msgstr "Verifique as permissões, escolha um nome diferente ou liberte espaço em disco"
+
+#: ../plugins/converter/convgui.c:637
+#: ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Já existe um pré-ajuste com este nome. Escolha outro nome."
+
+#: ../plugins/converter/convgui.c:638
+#: ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Erro"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Adicionar novo codificador"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Editar codificador"
+
+#: ../plugins/converter/convgui.c:756
+#: ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Remover pré-ajuste"
+
+#: ../plugins/converter/convgui.c:758
+#: ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Esta ação eliminará o pré-ajuste selecionado. Tem a certeza?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Codificadores"
+
+#: ../plugins/converter/convgui.c:838
+#: ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Adicionar \"plug-in\" à cadeia DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Falha ao gravar as definições DSP"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Novo pré-ajuste DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Editar pré-ajuste DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Pré-ajustes DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Pasta de destino:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Nome do ficheiro:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"A extensão (ex: mp3) será adicionada automaticamente.\n"
+"Deixe o campo vazio para utilizar (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Codificador:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Pré-ajuste DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Número de processos:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Formato de destino:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Manter formato original"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 bit signed int"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 bits signed int"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 bits signed int"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 bits signed int"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 bits float"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Se o ficheiro existir:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Perguntar"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Substituir"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Manter estrutura da pasta, iniciando em:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Editar definições do codificador"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Codificador sem nome"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Extensão do ficheiro de destino:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Ex. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Linha de comandos:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Exemplo: lame - %o\n"
+"%i para o ficheiro de origem, %o para o ficheiro de destino, - para stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - nome do ficheiro de destino\n"
+"%i - nome do ficheiro temporário</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Método:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Canal"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Ficheiro temporário"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Editor de detalhes</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Editor de DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Pré-ajuste DSP sem nome"
+
+#~ msgid "about.txt"
+#~ msgstr "about.txt"
+
+#, fuzzy
+#~ msgid "ChangeLog"
+#~ msgstr "_Alterações"
+
+#~ msgid "COPYING.GPLv2"
+#~ msgstr "COPYING.GPLv2"
+
+#, fuzzy
+#~ msgid "COPYING.LGPLv2.1"
+#~ msgstr "_LGPLv2.1"
+
+#, fuzzy
+#~ msgid "translators.txt"
+#~ msgstr "_Tradutores"
+
+#, fuzzy
+#~ msgid "Save playlist as"
+#~ msgstr "Gravar lista de reprodução"
+
+#, fuzzy
+#~ msgid "_Abort"
+#~ msgstr "_Sobre"
+
+#, fuzzy
+#~ msgid "editcolumndlg"
+#~ msgstr "Editar coluna"
+
+#, fuzzy
+#~ msgid "Length"
+#~ msgstr "Esquerda"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Conversão de formatos (iniciam com %):\n"
+#~ "[a]rtista, [t]ítulo, ál[b]um, [B]anda, [C]ompositor\n"
+#~ "[n]úmerodefaixa, [N]totaldefaixas,\n"
+#~ "[l]duração, [y]ano, [g]énero, [c]omentário,\n"
+#~ "di[r]eitosdeautor, nomede[f]icheiro, [F]nomecompletodocaminho,\n"
+#~ "[T]detalhes [d]iretório, [D]iretóriocomcaminho\n"
+#~ "Exemplo: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Permitir troca dinâmica da frequência"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Qualidade de conversão:"
+
+#, fuzzy
+#~ msgid "Description:"
+#~ msgstr "Duração"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor(es):"
+
+#~ msgid "Email:"
+#~ msgstr "Endereço eletrónico:"
+
+#~ msgid "Website:"
+#~ msgstr "Sítio web:"
+
+#, fuzzy
+#~ msgid "editplaylistdlg"
+#~ msgstr "Editar lista de reprodução"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Conversão de formatos (iniciam com %):\n"
+#~ " [a]rtista, [t]ítulo, ál[b]um, [B]anda, [C]ompositor\n"
+#~ " [n]úmerodefaixa, [N]totaldefaixas,\n"
+#~ " [l]duração, [y]ano, [g]énero, [c]omentário,\n"
+#~ " di[r]eitosdeautor, nomede[f]icheiro, [T]detalhes\n"
+#~ "Exemplo: %a - %t [%l]"
+
+#, fuzzy
+#~ msgid "Title / Track Artist"
+#~ msgstr "Total de faixas"
+
+#~ msgid "Setup %s"
+#~ msgstr "Configurar %s"
+
+#, fuzzy
+#~ msgid "ALSA output plugin"
+#~ msgstr "Sistema de som:"
+
+#, fuzzy
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "Desativar em reprodução"
+
+#~ msgid "HVSC path"
+#~ msgstr "Caminho HVSC"
+
+#~ msgid ""
+#~ "Keep source format\n"
+#~ "8 bit signed int\n"
+#~ "16 bit signed int\n"
+#~ "24 bit signed int\n"
+#~ "32 bit signed int\n"
+#~ "32 bit float"
+#~ msgstr ""
+#~ "Manter formato original\n"
+#~ "8 bit signed int\n"
+#~ "16 bit signed int\n"
+#~ "24 bit signed int\n"
+#~ "32 bit signed int\n"
+#~ "32 bit float"
+
+#~ msgid ""
+#~ "Pipe\n"
+#~ "Temporary file"
+#~ msgstr ""
+#~ "Canal\n"
+#~ "Ficheiro temporário"
+
+#~ msgid ""
+#~ "Prompt\n"
+#~ "Overwrite"
+#~ msgstr ""
+#~ "Perguntar\n"
+#~ "Substituição"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c727cd5f..20ac63c4 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,99 +8,95 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-23 12:53-0300\n"
-"PO-Revision-Date: 2011-05-23 19:55-0300\n"
-"Last-Translator: Sérgio Cipolla <secipolla@gmail.com>\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-06 01:53+0200\n"
+"Last-Translator: Henrique P. <zehrique@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldp-br@bazar2.conectiva.com.br>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.0.5\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
-#: ../plugins/gtkui/callbacks.c:121
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Formatos de áudio suportados"
-#: ../plugins/gtkui/callbacks.c:132
-#: ../plugins/gtkui/gtkui.c:776
-msgid "Other files (*)"
-msgstr "Outros arquivos (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Todos os arquivos (*)"
-#: ../plugins/gtkui/callbacks.c:142
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Abrir arquivos(s)..."
-#: ../plugins/gtkui/callbacks.c:177
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Adicionar arquivos(s) à lista de reprodução..."
-#: ../plugins/gtkui/callbacks.c:218
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Adicionar pasta(s) à lista de reprodução..."
-#: ../plugins/gtkui/callbacks.c:223
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Seguir ligações simbólicas"
-#: ../plugins/gtkui/callbacks.c:697
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Falha ao ler o arquivo de ajuda"
-#: ../plugins/gtkui/callbacks.c:707
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Falha ao carregar o arquivo de ajuda"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.pt_BR.txt"
-#: ../plugins/gtkui/callbacks.c:723
-#: ../plugins/gtkui/interface.c:1155
-#: ../plugins/gtkui/deadbeef.glade.h:48
-#: ../plugins/converter/convgui.c:1240
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Ajuda"
-#: ../plugins/gtkui/callbacks.c:733
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Sobre o DeaDBeef %s"
-#: ../plugins/gtkui/callbacks.c:746
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Registro de alterações - DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:1091
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Tradutores do DeaDBeeF"
-#: ../plugins/gtkui/ddbtabstrip.c:689
-#: ../plugins/gtkui/trkproperties.c:618
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Editar lista de reprodução"
-#: ../plugins/gtkui/ddbtabstrip.c:692
-#: ../plugins/gtkui/interface.c:1486
-#: ../plugins/gtkui/interface.c:2870
-#: ../plugins/gtkui/deadbeef.glade.h:135
-#: ../plugins/converter/interface.c:402
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
msgid "Title:"
msgstr "Título:"
-#: ../plugins/gtkui/ddbtabstrip.c:748
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Renomear lista de reprodução"
-#: ../plugins/gtkui/ddbtabstrip.c:752
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Remover lista de reprodução"
-#: ../plugins/gtkui/ddbtabstrip.c:756
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Adicionar nova lista de reprodução"
@@ -156,8 +152,7 @@ msgstr "Pré-amplificação zero"
msgid "Zero Bands"
msgstr "Bandas a zero"
-#: ../plugins/gtkui/eq.c:387
-#: ../plugins/converter/interface.c:826
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
msgid "Presets"
msgstr "Predefinições"
@@ -195,394 +190,325 @@ msgstr "Pausado | "
#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d faixas | %s tempo total de reprodução"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d faixas | %s tempo total de "
+"reprodução"
-#: ../plugins/gtkui/gtkui.c:632
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Salvar lista como"
-#: ../plugins/gtkui/gtkui.c:643
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Arquivos de listas do DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:761
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Carregar lista"
-#: ../plugins/gtkui/gtkui.c:914
-#: ../plugins/gtkui/fileman.c:40
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Outros arquivos (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nova lista"
-#: ../plugins/gtkui/gtkui.c:917
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nova lista (%d)"
-#: ../plugins/gtkui/interface.c:150
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Arquivo"
-#: ../plugins/gtkui/interface.c:157
-#: ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Abrir arquivos(s)"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Adicionar arquivo(s)"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Adicionar pasta(s)"
-#: ../plugins/gtkui/interface.c:189
-#: ../plugins/gtkui/interface.c:2970
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Adicionar local"
-#: ../plugins/gtkui/interface.c:198
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nova lista de reprodução"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Carregar lista de reprodução"
-#: ../plugins/gtkui/interface.c:209
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Salvar lista de reprodução"
-#: ../plugins/gtkui/interface.c:218
-#: ../plugins/gtkui/deadbeef.glade.h:164
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Sair"
-#: ../plugins/gtkui/interface.c:229
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Editar"
-#: ../plugins/gtkui/interface.c:236
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Limpar"
-#: ../plugins/gtkui/interface.c:244
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Selecionar tudo"
-#: ../plugins/gtkui/interface.c:251
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Desmarcar tudo"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Inverter seleção"
-#: ../plugins/gtkui/interface.c:262
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Seleção"
-#: ../plugins/gtkui/interface.c:269
-#: ../plugins/gtkui/plcommon.c:453
-#: ../plugins/gtkui/prefwin.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:104
-#: ../plugins/converter/interface.c:653
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Remover"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Cortar"
-#: ../plugins/gtkui/interface.c:281
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Procurar"
-#: ../plugins/gtkui/interface.c:288
-#: ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
msgid "Sort By"
msgstr "Ordenar por"
-#: ../plugins/gtkui/interface.c:295
-#: ../plugins/gtkui/interface.c:1516
-#: ../plugins/gtkui/mainplaylist.c:315
-#: ../plugins/gtkui/prefwin.c:623
-#: ../plugins/gtkui/search.c:393
-#: ../plugins/gtkui/deadbeef.glade.h:134
-#: ../plugins/converter/convgui.c:790
-#: ../plugins/converter/convgui.c:1211
-#: ../plugins/converter/interface.c:630
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
msgid "Title"
msgstr "Título"
-#: ../plugins/gtkui/interface.c:299
-#: ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
msgid "Track number"
msgstr "Número da faixa"
-#: ../plugins/gtkui/interface.c:303
-#: ../plugins/gtkui/interface.c:1515
-#: ../plugins/gtkui/interface.c:1869
-#: ../plugins/gtkui/deadbeef.glade.h:10
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
#: ../translation/extra.c:69
msgid "Album"
msgstr "Álbum"
#. Track properties dialog
-#: ../plugins/gtkui/interface.c:307
-#: ../plugins/gtkui/interface.c:1514
-#: ../plugins/gtkui/plcommon.c:998
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
#: ../translation/extra.c:65
msgid "Artist"
msgstr "Artista"
-#: ../plugins/gtkui/interface.c:311
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
#: ../translation/extra.c:70
msgid "Date"
msgstr "Data"
-#: ../plugins/gtkui/interface.c:315
-#: ../plugins/gtkui/interface.c:1520
-#: ../plugins/gtkui/plcommon.c:1002
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
msgid "Custom"
msgstr "Personalizar"
-#: ../plugins/gtkui/interface.c:324
-#: ../plugins/gtkui/interface.c:1798
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Preferências"
-#: ../plugins/gtkui/interface.c:328
-#: ../plugins/gtkui/deadbeef.glade.h:166
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Ver"
-#: ../plugins/gtkui/interface.c:335
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Barra de status"
-#: ../plugins/gtkui/interface.c:339
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Cabeçalhos das colunas"
-#: ../plugins/gtkui/interface.c:343
-#: ../plugins/gtkui/deadbeef.glade.h:131
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Abas"
-#: ../plugins/gtkui/interface.c:347
-#: ../plugins/gtkui/deadbeef.glade.h:40
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizador"
-#: ../plugins/gtkui/interface.c:351
-#: ../plugins/gtkui/deadbeef.glade.h:163
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Reprodução"
-#: ../plugins/gtkui/interface.c:358
-#: ../plugins/gtkui/interface.c:3246
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Ordem"
-#: ../plugins/gtkui/interface.c:365
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linear"
-#: ../plugins/gtkui/interface.c:370
-#: ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
msgid "Shuffle tracks"
msgstr "Embaralhar faixas"
-#: ../plugins/gtkui/interface.c:375
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
msgid "Shuffle albums"
msgstr "Embaralhar álbuns"
-#: ../plugins/gtkui/interface.c:380
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Aleatória"
-#: ../plugins/gtkui/interface.c:386
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Repetição"
-#: ../plugins/gtkui/interface.c:393
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Repetir tudo"
-#: ../plugins/gtkui/interface.c:398
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Repetir a música"
-#: ../plugins/gtkui/interface.c:403
-#: ../plugins/gtkui/deadbeef.glade.h:36
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Não repetir"
-#: ../plugins/gtkui/interface.c:409
-#: ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Rolagem segue a reprodução"
-#: ../plugins/gtkui/interface.c:414
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Cursor segue a reprodução"
-#: ../plugins/gtkui/interface.c:418
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Parar após a atual"
-#: ../plugins/gtkui/interface.c:430
-#: ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Ir para a faixa atual"
-#: ../plugins/gtkui/interface.c:437
-#: ../plugins/gtkui/interface.c:444
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "Aj_uda"
-#: ../plugins/gtkui/interface.c:452
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "Registro de _alterações"
-#: ../plugins/gtkui/interface.c:461
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:465
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:474
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Sobre"
-#: ../plugins/gtkui/interface.c:482
-#: ../plugins/gtkui/deadbeef.glade.h:165
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Tradutores"
-#: ../plugins/gtkui/interface.c:898
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Pesquisar"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Parar"
-#: ../plugins/gtkui/interface.c:981
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Reproduzir"
-#: ../plugins/gtkui/interface.c:989
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pausar"
-#: ../plugins/gtkui/interface.c:997
-#: ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Anterior "
-#: ../plugins/gtkui/interface.c:1005
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Próxima"
-#: ../plugins/gtkui/interface.c:1013
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Reprodução aleatória"
-#: ../plugins/gtkui/interface.c:1022
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Sobre"
-#: ../plugins/gtkui/interface.c:1035
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Sair"
-#: ../plugins/gtkui/interface.c:1225
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Propriedades da faixa"
-#: ../plugins/gtkui/interface.c:1270
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
msgid "Settings"
msgstr "Configuração"
-#: ../plugins/gtkui/interface.c:1296
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Aplicar"
-#: ../plugins/gtkui/interface.c:1317
-#: ../plugins/gtkui/interface.c:1363
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Fechar"
-#: ../plugins/gtkui/interface.c:1321
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadados"
-#: ../plugins/gtkui/interface.c:1367
-#: ../plugins/gtkui/plcommon.c:603
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Propriedades"
-#: ../plugins/gtkui/interface.c:1494
-#: ../plugins/gtkui/deadbeef.glade.h:39
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Digite o novo título da coluna aqui"
-#: ../plugins/gtkui/interface.c:1502
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Tipo:"
@@ -591,8 +517,7 @@ msgid "Item Index"
msgstr "Índice de itens"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1511
-#: ../plugins/gtkui/mainplaylist.c:312
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Em reprodução"
@@ -604,30 +529,25 @@ msgstr "Capa do álbum"
msgid "Artist - Album"
msgstr "Artista - Álbum"
-#: ../plugins/gtkui/interface.c:1517
-#: ../plugins/gtkui/mainplaylist.c:316
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
#: ../plugins/gtkui/search.c:394
msgid "Duration"
msgstr "Duração"
-#: ../plugins/gtkui/interface.c:1518
-#: ../translation/extra.c:71
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
msgid "Track Number"
msgstr "Número da faixa"
-#: ../plugins/gtkui/interface.c:1519
-#: ../translation/extra.c:68
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Banda / Artista do álbum"
-#: ../plugins/gtkui/interface.c:1526
-#: ../plugins/gtkui/interface.c:3098
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formato:"
-#: ../plugins/gtkui/interface.c:1551
-#: ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Alinhamento:"
@@ -639,437 +559,364 @@ msgstr "Esquerda"
msgid "Right"
msgstr "Direita"
-#: ../plugins/gtkui/interface.c:1583
-#: ../plugins/gtkui/interface.c:2901
-#: ../plugins/gtkui/interface.c:3013
-#: ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Cancelar"
-#: ../plugins/gtkui/interface.c:1604
-#: ../plugins/gtkui/interface.c:2922
-#: ../plugins/gtkui/interface.c:3034
-#: ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1819
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Plugin de saída:"
-#: ../plugins/gtkui/interface.c:1832
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Dispositivo de saída:"
-#: ../plugins/gtkui/interface.c:1841
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
msgid "Always convert 8 bit audio to 16 bit"
msgstr "Sempre converter áudio de 8 bits para 16 bits"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Som"
-#: ../plugins/gtkui/interface.c:1858
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Modo de normalização:"
-#: ../plugins/gtkui/interface.c:1867
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Desabilitado"
-#: ../plugins/gtkui/interface.c:1868
+#: ../plugins/gtkui/interface.c:1874
msgid "Track"
msgstr "Faixa"
-#: ../plugins/gtkui/interface.c:1871
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Ajustar a normalização com o nível de pico"
-#: ../plugins/gtkui/interface.c:1879
-#: ../plugins/gtkui/deadbeef.glade.h:107
-msgid "Replaygain preamp:"
-msgstr "Pré-amplificação da normalização:"
-
-#: ../plugins/gtkui/interface.c:1883
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
#: ../plugins/gtkui/deadbeef.glade.h:2
msgid "-12 dB"
msgstr "-12 dB"
-#: ../plugins/gtkui/interface.c:1893
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
#: ../plugins/gtkui/deadbeef.glade.h:1
msgid "+12 dB"
msgstr "+12 dB"
-#: ../plugins/gtkui/interface.c:1901
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Pré-amplificação da normalização:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Pré-amplificação global:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Adicionar arquivos pela linha de comando (ou gerenciador de arquivos) a esta lista de reprodução:"
+msgstr ""
+"Adicionar arquivos pela linha de comando (ou gerenciador de arquivos) a esta "
+"lista de reprodução:"
-#: ../plugins/gtkui/interface.c:1910
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Continuar a sessão anterior ao iniciar"
-#: ../plugins/gtkui/interface.c:1914
-#: ../plugins/gtkui/deadbeef.glade.h:37
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
msgid "Don't add from archives when adding folders"
msgstr "Não adicionar de arquivos ao adicionar pastas"
-#: ../plugins/gtkui/interface.c:1918
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Reprodução"
-#: ../plugins/gtkui/interface.c:1939
-#: ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:22
-#: ../plugins/converter/interface.c:657
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
msgid "Configure"
msgstr "Configurar"
-#: ../plugins/gtkui/interface.c:1974
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
msgid "DSP Chain Preset"
msgstr "Predefinição de corrente do DSP"
-#: ../plugins/gtkui/interface.c:1986
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
msgid "_Load"
msgstr "_Carregar"
-#: ../plugins/gtkui/interface.c:1990
-#: ../plugins/gtkui/deadbeef.glade.h:28
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
msgid "DSP"
msgstr "DSP"
-#: ../plugins/gtkui/interface.c:1999
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Fechar minimiza para a área de notificação"
-#: ../plugins/gtkui/interface.c:2003
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Botão do meio do mouse fecha a lista"
-#: ../plugins/gtkui/interface.c:2007
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Ocultar o ícone na área de notificação"
-#: ../plugins/gtkui/interface.c:2011
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Usar fonte em negrito para a faixa em reprodução"
-#: ../plugins/gtkui/interface.c:2015
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Ocultar item \"Excluir do disco\" do menu de contexto"
-#: ../plugins/gtkui/interface.c:2019
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
msgid "Auto-name playlists when adding a single folder"
msgstr "Autonomear listas de reprodução ao adicionar uma única pasta"
-#: ../plugins/gtkui/interface.c:2027
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
msgid "Interface refresh rate (times per second):"
msgstr "Taxa de atualização da interface (vezes por segundo):"
-#: ../plugins/gtkui/interface.c:2041
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Texto na barra de título durante a reprodução:"
-#: ../plugins/gtkui/interface.c:2055
-#: ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Texto na barra de título quando parado:"
-#: ../plugins/gtkui/interface.c:2069
-#: ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
msgid "GUI Plugin (changing requires restart):"
msgstr "Plugin da interface gráfica (mudança requer reinício):"
-#: ../plugins/gtkui/interface.c:2077
-#: ../plugins/gtkui/deadbeef.glade.h:45
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Interface do usuário"
-#: ../plugins/gtkui/interface.c:2092
-#: ../plugins/gtkui/interface.c:2136
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Sobrepujar"
-#: ../plugins/gtkui/interface.c:2101
-#: ../plugins/gtkui/deadbeef.glade.h:42
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Primeiro plano"
-#: ../plugins/gtkui/interface.c:2108
-#: ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Segundo plano"
-#: ../plugins/gtkui/interface.c:2127
-#: ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Cores das barras volume/pesquisa"
-#: ../plugins/gtkui/interface.c:2145
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Meio"
-#: ../plugins/gtkui/interface.c:2152
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Claro"
-#: ../plugins/gtkui/interface.c:2159
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Escuro"
-#: ../plugins/gtkui/interface.c:2190
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:2197
-#: ../plugins/gtkui/interface.c:2254
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
msgid "Text"
msgstr "Texto"
-#: ../plugins/gtkui/interface.c:2210
-#: ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Cores do separador"
-#: ../plugins/gtkui/interface.c:2219
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Sobrepujar (perde o tema GTK na visão em árvore, mas acelera a renderização)"
+msgstr ""
+"Sobrepujar (perde o tema GTK na visão em árvore, mas acelera a renderização)"
-#: ../plugins/gtkui/interface.c:2228
-#: ../plugins/gtkui/deadbeef.glade.h:41
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Linha par"
-#: ../plugins/gtkui/interface.c:2235
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Linha ímpar"
-#: ../plugins/gtkui/interface.c:2261
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Linha selecionada"
-#: ../plugins/gtkui/interface.c:2280
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Texto selecionado"
-#: ../plugins/gtkui/interface.c:2293
-#: ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Cursor"
-#: ../plugins/gtkui/interface.c:2306
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Cores da lista de reprodução"
-#: ../plugins/gtkui/interface.c:2310
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Cores"
-#: ../plugins/gtkui/interface.c:2319
-#: ../plugins/gtkui/deadbeef.glade.h:38
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Habilitar servidor proxy"
-#: ../plugins/gtkui/interface.c:2327
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Endereço do servidor proxy:"
-#: ../plugins/gtkui/interface.c:2341
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Porta do servidor proxy:"
-#: ../plugins/gtkui/interface.c:2355
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Tipo de proxy:"
-#: ../plugins/gtkui/interface.c:2374
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Nome de usuário do proxy:"
-#: ../plugins/gtkui/interface.c:2387
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Senha do proxy:"
-#: ../plugins/gtkui/interface.c:2397
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Rede"
-#: ../plugins/gtkui/interface.c:2428
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
msgid "Version: "
msgstr "Versão: "
-#: ../plugins/gtkui/interface.c:2492
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
#: ../translation/extra.c:78
msgid "Copyright"
msgstr "Direitos autorais"
-#: ../plugins/gtkui/interface.c:2502
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
msgid "Plugins"
msgstr "Plugins"
-#: ../plugins/gtkui/interface.c:2981
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
msgid "URL:"
msgstr "URL:"
-#: ../plugins/gtkui/interface.c:3083
-#: ../plugins/gtkui/deadbeef.glade.h:47
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
msgid "Group By"
msgstr "Agrupar por"
-#: ../plugins/gtkui/interface.c:3207
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
msgid "Sort by..."
msgstr "Ordenar por..."
-#: ../plugins/gtkui/interface.c:3223
-#: ../plugins/gtkui/deadbeef.glade.h:43
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
msgid "Format"
msgstr "Formato"
-#: ../plugins/gtkui/interface.c:3253
+#: ../plugins/gtkui/interface.c:3305
msgid "Ascending"
msgstr "Ascendente"
-#: ../plugins/gtkui/interface.c:3254
+#: ../plugins/gtkui/interface.c:3306
msgid "Descending"
msgstr "Descendente"
-#: ../plugins/gtkui/interface.c:3307
-#: ../plugins/gtkui/deadbeef.glade.h:113
-#: ../plugins/converter/interface.c:758
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
msgid "Select DSP Plugin"
msgstr "Selecionar plugin do DSP"
-#: ../plugins/gtkui/interface.c:3323
-#: ../plugins/gtkui/deadbeef.glade.h:92
-#: ../plugins/converter/convgui.c:1016
-#: ../plugins/converter/interface.c:774
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
#: ../plugins/gtkui/dspconfig.c:139
msgid "Plugin"
msgstr "Plugin"
-#: ../plugins/gtkui/interface.c:3409
-#: ../plugins/gtkui/deadbeef.glade.h:132
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
msgid "Tag Writer Settings"
msgstr "Configuração do editor de etiquetas"
-#: ../plugins/gtkui/interface.c:3440
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Escrever ID3v2"
-#: ../plugins/gtkui/interface.c:3444
-#: ../plugins/gtkui/interface.c:3571
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Escrever ID3v1"
-#: ../plugins/gtkui/interface.c:3448
-#: ../plugins/gtkui/interface.c:3527
-#: ../plugins/gtkui/interface.c:3567
-#: ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Escrever APEv2"
-#: ../plugins/gtkui/interface.c:3456
-#: ../plugins/gtkui/interface.c:3535
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Remover ID3v2"
-#: ../plugins/gtkui/interface.c:3460
-#: ../plugins/gtkui/interface.c:3583
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Remover ID3v1"
-#: ../plugins/gtkui/interface.c:3464
-#: ../plugins/gtkui/interface.c:3539
-#: ../plugins/gtkui/interface.c:3579
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Remover APEv2"
-#: ../plugins/gtkui/interface.c:3472
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Versão ID3v2"
-#: ../plugins/gtkui/interface.c:3479
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Recomendado)"
-#: ../plugins/gtkui/interface.c:3480
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:3486
-#: ../plugins/gtkui/deadbeef.glade.h:51
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Codificação de caracteres ID3v1 (padrão é iso8859-1)"
-#: ../plugins/gtkui/interface.c:3523
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Escrever ID3v2.4"
-#: ../plugins/gtkui/mainplaylist.c:313
-#: ../plugins/gtkui/search.c:391
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artista / Álbum"
-#: ../plugins/gtkui/mainplaylist.c:314
-#: ../plugins/gtkui/search.c:392
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Nº da faixa"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Excluir arquivos do disco"
-#: ../plugins/gtkui/plcommon.c:326
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1077,53 +924,49 @@ msgstr ""
"Os arquivos serão perdidos. Continuar?\n"
"(Este diálogo pode ser desligado nas configurações do plugin GTKUI)"
-#: ../plugins/gtkui/plcommon.c:327
-#: ../plugins/gtkui/trkproperties.c:162
-#: ../plugins/gtkui/trkproperties.c:693
-#: ../plugins/converter/convgui.c:759
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Alerta"
-#: ../plugins/gtkui/plcommon.c:429
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Colocar na fila da lista de reprodução"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Remover da fila da lista de reprodução"
-#: ../plugins/gtkui/plcommon.c:442
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Recarregar metadados"
-#: ../plugins/gtkui/plcommon.c:461
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Remover do disco"
-#: ../plugins/gtkui/plcommon.c:840
-#: ../plugins/gtkui/plcommon.c:965
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Adicionar coluna"
-#: ../plugins/gtkui/plcommon.c:870
-#: ../plugins/gtkui/plcommon.c:969
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Editar coluna"
-#: ../plugins/gtkui/plcommon.c:973
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Remover coluna"
-#: ../plugins/gtkui/plcommon.c:983
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Agrupar por"
-#: ../plugins/gtkui/plcommon.c:990
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Nenhum"
-#: ../plugins/gtkui/plcommon.c:994
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artista/Data/Álbum"
@@ -1140,8 +983,7 @@ msgstr "Configurar %s"
msgid "Default Audio Device"
msgstr "Dispositivo de áudio padrão"
-#: ../plugins/gtkui/prefwin.c:318
-#: ../plugins/converter/interface.c:649
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Adicionar"
@@ -1178,13 +1020,11 @@ msgstr "Deseja realmente fechar esta janela?"
msgid "[Multiple values] "
msgstr "[Valores múltiplos]"
-#: ../plugins/gtkui/trkproperties.c:407
-#: ../plugins/gtkui/trkproperties.c:419
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Chave"
-#: ../plugins/gtkui/trkproperties.c:408
-#: ../plugins/gtkui/trkproperties.c:420
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Valor"
@@ -1200,8 +1040,7 @@ msgstr "Nome:"
msgid "Field names must not start with : or _"
msgstr "Os nomes dos campos não devem começar com : ou _"
-#: ../plugins/gtkui/trkproperties.c:634
-#: ../plugins/gtkui/trkproperties.c:668
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
msgid "Cannot add field"
msgstr "Incapaz de adicionar campo"
@@ -1221,82 +1060,86 @@ msgstr "Adicionar campo"
msgid "Remove field"
msgstr "Remover campo"
-#: ../main.c:90
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Uso: deadbeef [opções] [arquivo(s)]\n"
-#: ../main.c:91
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opções:\n"
-#: ../main.c:92
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help ou -h Imprime a ajuda (esta mensagem) e sai\n"
-#: ../main.c:93
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Fecha o DeaDBeeF\n"
-#: ../main.c:94
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Imprime informações da versão e sai\n"
-#: ../main.c:95
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Inicia a reprodução\n"
-#: ../main.c:96
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Para a reprodução\n"
-#: ../main.c:97
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pausa a reprodução\n"
-#: ../main.c:98
+#: ../main.c:99
#, c-format
msgid " --toggle-pause Toggle pause\n"
msgstr " --toggle-pause Pausa/reinicia\n"
-#: ../main.c:99
+#: ../main.c:100
#, c-format
-msgid " --play-pause Start playback if stopped, toggle pause otherwise\n"
-msgstr " --play-pause Inicia a reprodução se parado, senão pausa/reinicia\n"
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+" --play-pause Inicia a reprodução se parado, senão pausa/reinicia\n"
-#: ../main.c:100
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Próxima música na lista de reprodução\n"
-#: ../main.c:101
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Música anterior na lista de reprodução\n"
-#: ../main.c:102
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Música aleatória na lista de reprodução\n"
-#: ../main.c:103
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
-msgstr " --queue Acrescenta arquivos(s) à lista de reprodução existente\n"
+msgstr ""
+" --queue Acrescenta arquivos(s) à lista de reprodução "
+"existente\n"
-#: ../main.c:104
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Imprime o nome da faixa para a saída padrão\n"
-#: ../main.c:105
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1307,30 +1150,34 @@ msgstr ""
" [l]duração, [n]úmero da faixa, [y]ano, [c]omentário,\n"
" di[r]eitos autorais, tempo d[e]corrido\n"
-#: ../main.c:108
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
msgstr ""
" ex.: --nowplaying \"%%a - %%t\" deve imprimir\n"
" \"artista - título\"\n"
-#: ../main.c:109
+#: ../main.c:110
#, c-format
-msgid " for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
msgstr ""
" para mais informações, veja:\n"
-"http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+"http://sourceforge.net/apps/mediawiki/deadbeef/index.php?"
+"title=Title_Formatting\n"
-#: ../playlist.c:439
-#: ../playlist.c:2605
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Padrão"
-#: ../playlist.c:3854
+#: ../playlist.c:3664
msgid "Yes"
msgstr "Sim"
-#: ../playlist.c:3854
+#: ../playlist.c:3664
msgid "No"
msgstr "Não"
@@ -1360,7 +1207,7 @@ msgstr ""
"Faixa\n"
"Álbum"
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1386,7 +1233,7 @@ msgstr ""
"Banda / Artista do álbum\n"
"Personalizar"
-#: ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1394,18 +1241,21 @@ msgstr ""
"Esquerda\n"
"Direita"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
-#: ../plugins/converter/support.c:90
-#: ../plugins/converter/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Não foi possível encontrar o arquivo pixmap: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: arquivo de configuração freepats não encontrado. Instale o pacote timidity-freepats ou especifique o caminho a freepats.cfg nas configurações do plugin, por favor."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: arquivo de configuração freepats não encontrado. Instale o pacote "
+"timidity-freepats ou especifique o caminho a freepats.cfg nas configurações "
+"do plugin, por favor."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1426,8 +1276,7 @@ msgstr "Usar reamostragem ALSA"
msgid "Release device while stopped"
msgstr "Liberar dispositivo quando parado"
-#: ../translation/extra.c:8
-#: ../translation/extra.c:51
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Tamanho preferido do buffer"
@@ -1706,8 +1555,7 @@ msgstr "Erro do conversor"
msgid "Converting..."
msgstr "Convertendo..."
-#: ../plugins/converter/convgui.c:394
-#: ../plugins/converter/convgui.c:496
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
msgid "Select folder..."
msgstr "Selecionar pasta..."
@@ -1715,18 +1563,20 @@ msgstr "Selecionar pasta..."
msgid "Failed to save encoder preset"
msgstr "Falha ao salvar predefinição do codificador"
-#: ../plugins/converter/convgui.c:637
-#: ../plugins/converter/convgui.c:1035
-msgid "Check preset folder permissions, try to pick different title, or free up some disk space"
-msgstr "Verifique as permissões da pasta de predefinições, tente com um título diferente ou libere algum espaço no disco"
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Verifique as permissões da pasta de predefinições, tente com um título "
+"diferente ou libere algum espaço no disco"
-#: ../plugins/converter/convgui.c:637
-#: ../plugins/converter/convgui.c:1035
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid "Preset with the same name already exists. Try to pick another title."
-msgstr "Uma predefinição com o mesmo nome já existe. Tente um título diferente."
+msgstr ""
+"Uma predefinição com o mesmo nome já existe. Tente um título diferente."
-#: ../plugins/converter/convgui.c:638
-#: ../plugins/converter/convgui.c:1036
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
msgid "Error"
msgstr "Erro"
@@ -1738,13 +1588,11 @@ msgstr "Adicionar novo codificador"
msgid "Edit encoder"
msgstr "Editar codificador"
-#: ../plugins/converter/convgui.c:756
-#: ../plugins/converter/convgui.c:1133
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
msgid "Remove preset"
msgstr "Remover predefinição"
-#: ../plugins/converter/convgui.c:758
-#: ../plugins/converter/convgui.c:1135
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
msgid "This action will delete the selected preset. Are you sure?"
msgstr "Esta ação irá excluir a predefinição selecionada. Tem certeza?"
@@ -1752,8 +1600,7 @@ msgstr "Esta ação irá excluir a predefinição selecionada. Tem certeza?"
msgid "Encoders"
msgstr "Codificadores"
-#: ../plugins/converter/convgui.c:838
-#: ../plugins/gtkui/dspconfig.c:183
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
msgid "Add plugin to DSP chain"
msgstr "Adicionar plugin à corrente do DSP"
@@ -1773,15 +1620,15 @@ msgstr "Editar predefinição do DSP"
msgid "DSP Presets"
msgstr "Predefinições do DSP"
-#: ../plugins/converter/interface.c:97
+#: ../plugins/converter/interface.c:94
msgid "Output folder:"
msgstr "Pasta de saída:"
-#: ../plugins/converter/interface.c:118
+#: ../plugins/converter/interface.c:115
msgid "Output file name:"
msgstr "Nome do arquivo de saída:"
-#: ../plugins/converter/interface.c:129
+#: ../plugins/converter/interface.c:126
msgid ""
"Extension (e.g. .mp3) will be appended automatically.\n"
"Leave the field empty for default (%a - %t)."
@@ -1789,92 +1636,93 @@ msgstr ""
"A extensão (ex. .mp3) será adicionada automaticamente.\n"
"Deixe o campo vazio para o padrão (%a - %t)."
-#: ../plugins/converter/interface.c:142
+#: ../plugins/converter/interface.c:139
msgid "Encoder:"
msgstr "Codificador:"
-#: ../plugins/converter/interface.c:166
+#: ../plugins/converter/interface.c:163
msgid "DSP preset:"
msgstr "Predefinição do DSP:"
-#: ../plugins/converter/interface.c:189
+#: ../plugins/converter/interface.c:186
msgid "Number of threads:"
msgstr "Número de linhas de execução"
-#: ../plugins/converter/interface.c:202
+#: ../plugins/converter/interface.c:199
msgid "Output sample format:"
msgstr "Formato da amostra de saída:"
-#: ../plugins/converter/interface.c:209
+#: ../plugins/converter/interface.c:206
msgid "Keep source format"
msgstr "Manter o formato original"
-#: ../plugins/converter/interface.c:210
+#: ../plugins/converter/interface.c:207
msgid "8 bit signed int"
msgstr "Inteiro de 8 bits com sinal"
-#: ../plugins/converter/interface.c:211
+#: ../plugins/converter/interface.c:208
msgid "16 bit signed int"
msgstr "Inteiro de 16 bits com sinal"
-#: ../plugins/converter/interface.c:212
+#: ../plugins/converter/interface.c:209
msgid "24 bit signed int"
msgstr "Inteiro de 24 bits com sinal"
-#: ../plugins/converter/interface.c:213
+#: ../plugins/converter/interface.c:210
msgid "32 bit signed int"
msgstr "Inteiro de 32 bits com sinal"
-#: ../plugins/converter/interface.c:214
+#: ../plugins/converter/interface.c:211
msgid "32 bit float"
msgstr "32 bits flutuante"
-#: ../plugins/converter/interface.c:220
+#: ../plugins/converter/interface.c:217
msgid "When file exists:"
msgstr "Quando o arquivo existir:"
-#: ../plugins/converter/interface.c:227
+#: ../plugins/converter/interface.c:224
msgid "Prompt"
msgstr "Perguntar"
-#: ../plugins/converter/interface.c:228
+#: ../plugins/converter/interface.c:225
msgid "Overwrite"
msgstr "Sobrescrever"
-#: ../plugins/converter/interface.c:230
+#: ../plugins/converter/interface.c:227
msgid "Preserve folder structure, starting from:"
msgstr "Preservar a estrutura da pasta, começando por:"
-#: ../plugins/converter/interface.c:386
+#: ../plugins/converter/interface.c:379
msgid "Edit Encoder Preset"
msgstr "Editar predefinição do codificador"
-#: ../plugins/converter/interface.c:409
+#: ../plugins/converter/interface.c:402
msgid "Untitled Encoder"
msgstr "Codificador sem título"
-#: ../plugins/converter/interface.c:417
+#: ../plugins/converter/interface.c:410
msgid "Output file extension:"
msgstr "Extensão do arquivo de saída:"
-#: ../plugins/converter/interface.c:424
+#: ../plugins/converter/interface.c:417
msgid "E.g. mp3"
msgstr "Ex. mp3"
-#: ../plugins/converter/interface.c:432
+#: ../plugins/converter/interface.c:425
msgid "Command line:"
msgstr "Linha de comando:"
-#: ../plugins/converter/interface.c:443
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
"Example: lame - %o\n"
"%i for input file, %o for output file, - for stdin"
msgstr ""
"Exemplo: lame - %o\n"
-"%i para arquivo de entrada, %o para arquivo de saída, - para entrada padrão (stdin)"
+"%i para arquivo de entrada, %o para arquivo de saída, - para entrada padrão "
+"(stdin)"
-#: ../plugins/converter/interface.c:453
+#: ../plugins/converter/interface.c:446
#, c-format
msgid ""
"<small>%o - output file name\n"
@@ -1883,47 +1731,47 @@ msgstr ""
"<small>%o - nome do arquivo de saída\n"
"%i - nome do arquivo de entrada temporário</small>"
-#: ../plugins/converter/interface.c:462
+#: ../plugins/converter/interface.c:455
msgid "Method:"
msgstr "Método:"
-#: ../plugins/converter/interface.c:469
+#: ../plugins/converter/interface.c:462
msgid "Pipe"
msgstr "Pipe"
-#: ../plugins/converter/interface.c:470
+#: ../plugins/converter/interface.c:463
msgid "Temporary file"
msgstr "Arquivo temporário"
-#: ../plugins/converter/interface.c:487
+#: ../plugins/converter/interface.c:480
msgid "APEv2"
msgstr "APEv2"
-#: ../plugins/converter/interface.c:493
+#: ../plugins/converter/interface.c:486
msgid "ID3v1"
msgstr "ID3v1"
-#: ../plugins/converter/interface.c:499
+#: ../plugins/converter/interface.c:492
msgid "OggVorbis"
msgstr "OggVorbis"
-#: ../plugins/converter/interface.c:505
+#: ../plugins/converter/interface.c:498
msgid "FLAC"
msgstr "FLAC"
-#: ../plugins/converter/interface.c:517
+#: ../plugins/converter/interface.c:510
msgid "ID3v2"
msgstr "ID3v2"
-#: ../plugins/converter/interface.c:527
+#: ../plugins/converter/interface.c:520
msgid "<b>Tag writer</b>"
msgstr "<b>Editor de etiquetas</b>"
-#: ../plugins/converter/interface.c:614
+#: ../plugins/converter/interface.c:606
msgid "DSP Preset Editor"
msgstr "Editor de predefinições do DSP"
-#: ../plugins/converter/interface.c:637
+#: ../plugins/converter/interface.c:629
msgid "Untitled DSP Preset"
msgstr "Predefinição do DSP sem título"
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 00000000..1a7d4f40
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,1771 @@
+# Romanian translation for the DeaDBeeF package.
+# Copyright (C) 2012 THE DeaDBeeF'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the DeaDBeeF package.
+# Mișu Moldovan <dumol@xfce.org>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DeaDBeeF 0.5.2-beta1\n"
+"Report-Msgid-Bugs-To: diacritice@googlegroups.com\n"
+"POT-Creation-Date: 2012-03-06 10:30+0200\n"
+"PO-Revision-Date: 2012-03-06 17:48+0200\n"
+"Last-Translator: Mișu Moldovan <dumol@xfce.org>\n"
+"Language-Team: Romanian <diacritice@googlegroups.com>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2);;\n"
+"X-Generator: Virtaal 0.7.0\n"
+
+#: ../plugins/gtkui/callbacks.c:123
+msgid "Supported sound formats"
+msgstr "Formate audio suportate"
+
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Toate fișierele (*)"
+
+#: ../plugins/gtkui/callbacks.c:144
+msgid "Open file(s)..."
+msgstr "Deschideți unul sau mai multe fișiere..."
+
+#: ../plugins/gtkui/callbacks.c:179
+msgid "Add file(s) to playlist..."
+msgstr "Adăugați fișiere în lista de redare..."
+
+#: ../plugins/gtkui/callbacks.c:220
+msgid "Add folder(s) to playlist..."
+msgstr "Adăugați directoare în lista de redare..."
+
+#: ../plugins/gtkui/callbacks.c:225
+msgid "Follow symlinks"
+msgstr "Urmează linkurile simbolice"
+
+#: ../plugins/gtkui/callbacks.c:711
+msgid "Failed while reading help file"
+msgstr "Nu s-a putut citi fișierul ce conține ajutorul"
+
+#: ../plugins/gtkui/callbacks.c:721
+msgid "Failed to load help file"
+msgstr "Nu s-a putut încărca fișierul ce conține ajutorul"
+
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:61 ../plugins/converter/convgui.c:1238
+#: ../plugins/converter/convgui.c:1246
+msgid "Help"
+msgstr "Ajutor"
+
+#: ../plugins/gtkui/callbacks.c:747
+#, c-format
+msgid "About DeaDBeeF %s"
+msgstr "Despre DeaDBeeF %s"
+
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
+msgid "DeaDBeeF %s ChangeLog"
+msgstr "Istoricul modificărilor DeaDBeeF %s"
+
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Traducători DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:756 ../plugins/gtkui/trkproperties.c:621
+msgid "Edit playlist"
+msgstr "Editare listă de redare"
+
+#: ../plugins/gtkui/ddbtabstrip.c:759 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Titlu:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:948
+msgid "Rename Playlist"
+msgstr "Redenumire listă de redare"
+
+#: ../plugins/gtkui/ddbtabstrip.c:955
+msgid "Remove Playlist"
+msgstr "Ștergere listă de redare"
+
+#: ../plugins/gtkui/ddbtabstrip.c:962
+msgid "Add New Playlist"
+msgstr "Adăugare listă de redare"
+
+#: ../plugins/gtkui/eq.c:136
+msgid "Save DeaDBeeF EQ Preset"
+msgstr "Salvare presetări DeaDBeeF EQ"
+
+#: ../plugins/gtkui/eq.c:143
+msgid "DeaDBeeF EQ preset files (*.ddbeq)"
+msgstr "Fișiere cu presetări DeaDBeeF EQ (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:182
+msgid "Load DeaDBeeF EQ Preset..."
+msgstr "Încărcare presetări DeaDBeeF EQ..."
+
+#: ../plugins/gtkui/eq.c:186
+msgid "DeaDBeeF EQ presets (*.ddbeq)"
+msgstr "Presetări DeaDBeeF EQ (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:247
+msgid "Import Foobar2000 EQ Preset..."
+msgstr "Import de presetări EQ Foobar2000..."
+
+#: ../plugins/gtkui/eq.c:251
+msgid "Foobar2000 EQ presets (*.feq)"
+msgstr "Presetări Foobar2000 EQ (*.feq)"
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Salvare presetări"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Încărcare presetări"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Import de presetări Foobar2000..."
+
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
+msgstr "Activare"
+
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
+msgstr "Zero tot"
+
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
+msgstr "Zero preamp"
+
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
+msgstr "Zero benzi"
+
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Presetări"
+
+#: ../plugins/gtkui/gtkui.c:137
+#, c-format
+msgid "1 day %d:%02d:%02d"
+msgstr "o zi %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:140
+#, c-format
+msgid "%d days %d:%02d:%02d"
+msgstr "%d zile %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:149
+#, c-format
+msgid "Stopped | %d tracks | %s total playtime"
+msgstr "Oprit | %d piese | %s durată totală"
+
+#: ../plugins/gtkui/gtkui.c:162 ../playlist.c:3012
+msgid "Mono"
+msgstr "Mono"
+
+#: ../plugins/gtkui/gtkui.c:162 ../playlist.c:3012
+msgid "Stereo"
+msgstr "Stereo"
+
+#: ../plugins/gtkui/gtkui.c:187
+#, c-format
+msgid "| %4d kbps "
+msgstr "| %4d kbps "
+
+#: ../plugins/gtkui/gtkui.c:193
+msgid "Paused | "
+msgstr "Pauză | "
+
+#: ../plugins/gtkui/gtkui.c:198
+#, c-format
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d piese | %s durată totală"
+
+#: ../plugins/gtkui/gtkui.c:644
+msgid "Save Playlist As"
+msgstr "Salvare listă de redare ca"
+
+#: ../plugins/gtkui/gtkui.c:655
+msgid "DeaDBeeF playlist files (*.dbpl)"
+msgstr "Fișiere cu liste de redare DeaDBeeF (*.dbpl)"
+
+#: ../plugins/gtkui/gtkui.c:773
+msgid "Load Playlist"
+msgstr "Încărcare listă de redare"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Alte fișiere (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
+msgid "New Playlist"
+msgstr "Listă de redare nouă"
+
+#: ../plugins/gtkui/gtkui.c:929
+#, c-format
+msgid "New Playlist (%d)"
+msgstr "Listă de redare nouă (%d)"
+
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:1
+msgid "_File"
+msgstr "_Fișier"
+
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:2
+msgid "_Open file(s)"
+msgstr "_Deschidere fișiere"
+
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:3
+msgid "Add file(s)"
+msgstr "Adăugare fișiere"
+
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:4
+msgid "Add folder(s)"
+msgstr "Adăugare directoare"
+
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:5
+msgid "Add location"
+msgstr "Adăugare link"
+
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:6
+msgid "New playlist"
+msgstr "Listă de redare nouă"
+
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:7
+msgid "Load playlist"
+msgstr "Încărcare listă de redare"
+
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:8
+msgid "Save playlist"
+msgstr "Salvare listă de redare"
+
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:9
+msgid "_Quit"
+msgstr "_Ieșire"
+
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:10
+msgid "_Edit"
+msgstr "_Editare"
+
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:11
+msgid "_Clear"
+msgstr "_Golire"
+
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Select all"
+msgstr "Selectare completă"
+
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:13
+msgid "Deselect all"
+msgstr "Deselectare completă"
+
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:14
+msgid "Invert selection"
+msgstr "Inversare a selecției"
+
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:15
+msgid "Selection"
+msgstr "Selecție"
+
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/converter/interface.c:645
+msgid "Remove"
+msgstr "Ștergere"
+
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:17
+msgid "Crop"
+msgstr "Decupare"
+
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:18
+msgid "_Find"
+msgstr "_Căutare"
+
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:19
+msgid "Sort By"
+msgstr "Sortare după"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/converter/convgui.c:788 ../plugins/converter/convgui.c:1209
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Titlu"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:21
+msgid "Track number"
+msgstr "Numărul piesei"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artist"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:24
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Dată"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:25
+msgid "Custom"
+msgstr "Personalizare..."
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:26
+msgid "Preferences"
+msgstr "Preferințe"
+
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "_View"
+msgstr "_Vizualizare"
+
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "Status bar"
+msgstr "Bară de stare"
+
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "Column headers"
+msgstr "Titluri pentru coloane"
+
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:30
+msgid "Tabs"
+msgstr "Taburi"
+
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:31
+msgid "Equalizer"
+msgstr "Egalizator"
+
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:32
+msgid "_Playback"
+msgstr "_Redare"
+
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:33
+msgid "Order"
+msgstr "Ordine"
+
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:34
+msgid "Linear"
+msgstr "Liniară"
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:35
+msgid "Shuffle tracks"
+msgstr "Piese amestecate"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:36
+msgid "Shuffle albums"
+msgstr "Albume amestecate"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Random"
+msgstr "Aleatoare"
+
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:38
+msgid "Looping"
+msgstr "Repetare"
+
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:39
+msgid "Loop All"
+msgstr "Repetare pentru listă"
+
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:40
+msgid "Loop Single Song"
+msgstr "Repetare pentru piesa curentă"
+
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:41
+msgid "Don't Loop"
+msgstr "Fără repetare"
+
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:42
+msgid "Scroll follows playback"
+msgstr "Lista se derulează la redare"
+
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Cursor follows playback"
+msgstr "Selecția urmează redarea"
+
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:44
+msgid "Stop after current"
+msgstr "Oprire după piesa curentă"
+
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "Jump to current track"
+msgstr "Salt la piesa curentă"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:46
+msgid "_Help"
+msgstr "_Ajutor"
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "_ChangeLog"
+msgstr "_Istoric"
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:49
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:50
+msgid "_About"
+msgstr "_Despre"
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:51
+msgid "_Translators"
+msgstr "_Traducători"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "Search"
+msgstr "Căutare"
+
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "Stop"
+msgstr "Stop"
+
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Play"
+msgstr "Redare"
+
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:55
+msgid "Pause"
+msgstr "Pauză"
+
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:56
+msgid "Previous"
+msgstr "Înapoi"
+
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:57
+msgid "Next"
+msgstr "Înainte"
+
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:58
+msgid "Play Random"
+msgstr "Aleator"
+
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:59
+msgid "About"
+msgstr "Despre"
+
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:60
+msgid "Quit"
+msgstr "Ieșire"
+
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:62
+msgid "Track Properties"
+msgstr "Proprietățile piesei"
+
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:63
+msgid "Settings"
+msgstr "Opțiuni"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:64
+msgid "_Apply"
+msgstr "_Aplică"
+
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:65
+msgid "_Close"
+msgstr "În_chide"
+
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:66
+msgid "Metadata"
+msgstr "Metadate"
+
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Properties"
+msgstr "Proprietăți"
+
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:71
+msgid "Enter new column title here"
+msgstr "Introduceți aici un nou titlu pentru coloană"
+
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:72
+msgid "Type:"
+msgstr "Tip:"
+
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Index de elemente"
+
+#. create default set of columns
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
+msgid "Playing"
+msgstr "În redare"
+
+#: ../plugins/gtkui/interface.c:1512
+msgid "Album Art"
+msgstr "Copertă album"
+
+#: ../plugins/gtkui/interface.c:1513
+msgid "Artist - Album"
+msgstr "Artist - Album"
+
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Durată"
+
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Numărul piesei"
+
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
+msgid "Band / Album Artist"
+msgstr "Formație / Album Artist"
+
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:84
+msgid "Format:"
+msgstr "Format:"
+
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:85
+msgid "Alignment:"
+msgstr "Aliniere:"
+
+#: ../plugins/gtkui/interface.c:1559
+msgid "Left"
+msgstr "Stânga"
+
+#: ../plugins/gtkui/interface.c:1560
+msgid "Right"
+msgstr "Dreapta"
+
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:68
+msgid "_Cancel"
+msgstr "_Renunță"
+
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:69
+msgid "_OK"
+msgstr "_OK"
+
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:88
+msgid "Output plugin:"
+msgstr "Modul de ieșire audio:"
+
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:89
+msgid "Output device:"
+msgstr "Dispozitiv de ieșire audio:"
+
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:90
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Convertire la 16-biți pentru piesele audio de 8-biți"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:91
+msgid "Sound"
+msgstr "Sunet"
+
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:92
+msgid "Replaygain mode:"
+msgstr "Mod ReplayGain:"
+
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
+msgstr "Dezactivat"
+
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Piesă"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:96
+msgid "Replaygain peak scale"
+msgstr "Scalare pentru vârfurile ReplayGain"
+
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:97
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:98
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:99
+msgid "Replaygain preamp:"
+msgstr "Preamplificare ReplayGain"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:100
+msgid "Global preamp:"
+msgstr "Preamplificare globală:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:101
+msgid "Add files from command line (or file manager) to this playlist:"
+msgstr "Fișierele adăugate extern intră în lista de redare:"
+
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:102
+msgid "Resume previous session on startup"
+msgstr "La pornire se reîncarcă sesiunea precedentă"
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:103
+msgid "Don't add from archives when adding folders"
+msgstr "La adăugarea de directoare nu se adaugă fișiere din arhive"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:104
+msgid "Playback"
+msgstr "Redare"
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:105 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Configurare"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "DSP Chain Preset"
+msgstr "Presetări lanț DSP:"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "_Load"
+msgstr "Înca_rcă"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "DSP"
+msgstr "Procesare"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:109
+msgid "Close minimizes to tray"
+msgstr "Minimizare în zona de notificare la închiderea ferestrei"
+
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:110
+msgid "Middle mouse button closes playlist"
+msgstr "Butonul din mijloc al mausului închide lista de redare"
+
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:111
+msgid "Hide system tray icon"
+msgstr "Fără iconiță în zona de notificare"
+
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:112
+msgid "Use bold font for currently playing track"
+msgstr "Caractere îngroșate pentru piesa curentă"
+
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:113
+msgid "Hide \"Delete from disk\" context menu item"
+msgstr "Fără „Ștergere de pe disc” în meniul contextual"
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:114
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Denumire automată pentru liste la adăugarea unui singur director"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:115
+msgid "Interface refresh rate (times per second):"
+msgstr "Frecvență de reîmprospătare a interfeței (per secundă):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:116
+msgid "Titlebar text while playing:"
+msgstr "Text în bara de titlu la redare:"
+
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:117
+msgid "Titlebar text while stopped:"
+msgstr "Text în bara de titlu în pauză:"
+
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Modul GUI (modificările necesită repornire):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "GUI"
+msgstr "Interfață"
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Override"
+msgstr "Suprascriere"
+
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Foreground"
+msgstr "Prim-plan"
+
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Background"
+msgstr "Fundal"
+
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Seekbar/Volumebar colors"
+msgstr "Culorile barelor de redare și volum"
+
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Middle"
+msgstr "Între"
+
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:125
+msgid "Light"
+msgstr "Deschis"
+
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:126
+msgid "Dark"
+msgstr "Închis"
+
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:127
+msgid "Base"
+msgstr "Bază"
+
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Text"
+msgstr "Text"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Tab strip colors"
+msgstr "Culorile taburilor"
+
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Override (looses GTK treeview theming, but speeds up rendering)"
+msgstr ""
+"Suprascriere (se pierde tema „treeview” GTK, dar se accelerează randarea)"
+
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:131
+msgid "Even row"
+msgstr "Rând par"
+
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Odd row"
+msgstr "Rând impar"
+
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Selected row"
+msgstr "Rând selectat"
+
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Selected text"
+msgstr "Text selectat"
+
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:135
+msgid "Cursor"
+msgstr "Selecție"
+
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:136
+msgid "Playlist colors"
+msgstr "Culorile listei de redare"
+
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:137
+msgid "Colors"
+msgstr "Culori"
+
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:138
+msgid "Enable Proxy Server"
+msgstr "Activare server proxy"
+
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Proxy Server Address:"
+msgstr "Adresă server proxy:"
+
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Proxy Server Port:"
+msgstr "Port server proxy:"
+
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "Proxy Type:"
+msgstr "Tip proxy:"
+
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "Proxy Username:"
+msgstr "Utilizator proxy:"
+
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Proxy Password:"
+msgstr "Parolă proxy:"
+
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Network"
+msgstr "Rețea"
+
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Version: "
+msgstr "Versiune:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Drepturi de autor"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Plugins"
+msgstr "Module"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:149
+msgid "Group By"
+msgstr "Grupare după"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:150
+msgid "Sort by..."
+msgstr "Sortare după..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:151
+msgid "Format"
+msgstr "Format"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Crescătoare"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Descrescătoare"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Selectare modul DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/converter/convgui.c:1014 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Modul"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:156
+msgid "Tag Writer Settings"
+msgstr "Opțiuni pentru scrierea etichetelor"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:157
+msgid "Write ID3v2"
+msgstr "Scrie ID3v2"
+
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:158
+msgid "Write ID3v1"
+msgstr "Scrie ID3v1"
+
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:159
+msgid "Write APEv2"
+msgstr "Scrie APEv2"
+
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:160
+msgid "Strip ID3v2"
+msgstr "Șterge ID3v2"
+
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:161
+msgid "Strip ID3v1"
+msgstr "Șterge ID3v1"
+
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:162
+msgid "Strip APEv2"
+msgstr "Șterge APEv2"
+
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:163
+msgid "ID3v2 version"
+msgstr "Versiune ID3v2"
+
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr "2.3 (recomandată)"
+
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr "2.4"
+
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr "Codare ID3v1 (implicit iso8859-1)"
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:167
+msgid "Write ID3v2.4"
+msgstr "Scrie ID3v2.4"
+
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
+msgstr "Artist / Album"
+
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
+msgstr "Nr. piesă"
+
+#: ../plugins/gtkui/plcommon.c:338
+msgid "Delete files from disk"
+msgstr "Ștergere fișiere de pe disc"
+
+#: ../plugins/gtkui/plcommon.c:339
+msgid ""
+"Files will be lost. Proceed?\n"
+"(This dialog can be turned off in GTKUI plugin settings)"
+msgstr ""
+"Fișierele vor fi șterse definitiv. Continuați?\n"
+"(Această interogare poate fi dezactivată în opțiunile modulului GTKUI)"
+
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:696 ../plugins/converter/convgui.c:757
+#: ../plugins/converter/convgui.c:1134
+msgid "Warning"
+msgstr "Avertizare"
+
+#: ../plugins/gtkui/plcommon.c:444
+msgid "Add to playback queue"
+msgstr "Adăugare în coada de redare"
+
+#: ../plugins/gtkui/plcommon.c:449
+msgid "Remove from playback queue"
+msgstr "Ștergere din coada de redare"
+
+#: ../plugins/gtkui/plcommon.c:457
+msgid "Reload metadata"
+msgstr "Reîncarcare metadate"
+
+#: ../plugins/gtkui/plcommon.c:476
+msgid "Remove from disk"
+msgstr "Ștergere de pe disc"
+
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
+msgid "Add column"
+msgstr "Adăugare coloană"
+
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
+msgid "Edit column"
+msgstr "Editare coloană"
+
+#: ../plugins/gtkui/plcommon.c:988
+msgid "Remove column"
+msgstr "Ștergere coloană"
+
+#: ../plugins/gtkui/plcommon.c:998
+msgid "Group by"
+msgstr "Grupează după"
+
+#: ../plugins/gtkui/plcommon.c:1005
+msgid "None"
+msgstr "Fără"
+
+#: ../plugins/gtkui/plcommon.c:1009
+msgid "Artist/Date/Album"
+msgstr "Artist/Dată/Album"
+
+#: ../plugins/gtkui/pluginconf.c:42
+msgid "Open file..."
+msgstr "Deschide fișier..."
+
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format
+msgid "Configure %s"
+msgstr "Configurare %s"
+
+#: ../plugins/gtkui/prefwin.c:82
+msgid "Default Audio Device"
+msgstr "Dispozitiv audio implicit"
+
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
+msgid "Add"
+msgstr "Adăugare"
+
+#: ../plugins/gtkui/prefwin.c:328
+msgid "Global Hotkeys"
+msgstr "Combinații de taste globale"
+
+#: ../plugins/gtkui/prefwin.c:390
+msgid "Slot"
+msgstr "Slot"
+
+#: ../plugins/gtkui/prefwin.c:391
+msgid "Key combination"
+msgstr "Combinație de taste"
+
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Adăugare fișiere..."
+
+#: ../plugins/gtkui/progress.c:90
+msgid "Initializing..."
+msgstr "Inițializare..."
+
+#: ../plugins/gtkui/trkproperties.c:159
+msgid "You've modified data for this track."
+msgstr "Ați modificat datele acestei piese."
+
+#: ../plugins/gtkui/trkproperties.c:161
+msgid "Really close the window?"
+msgstr "Sigur doriți să închideți fereastra?"
+
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Valori multiple]"
+
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Cheie"
+
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Valoare"
+
+#: ../plugins/gtkui/trkproperties.c:597
+msgid "Writing tags..."
+msgstr "Se scriu etichetele..."
+
+#: ../plugins/gtkui/trkproperties.c:624
+msgid "Name:"
+msgstr "Nume:"
+
+#: ../plugins/gtkui/trkproperties.c:636
+msgid "Field names must not start with : or _"
+msgstr "Numele câmpurilor nu pot începe cu : sau _"
+
+#: ../plugins/gtkui/trkproperties.c:637 ../plugins/gtkui/trkproperties.c:671
+msgid "Cannot add field"
+msgstr "Nu s-a putut adăuga câmpul"
+
+#: ../plugins/gtkui/trkproperties.c:670
+msgid "Field with such name already exists, please try different name."
+msgstr "Un câmp cu acest nume există deja, încercați să-l redenumiți."
+
+#: ../plugins/gtkui/trkproperties.c:695
+msgid "Really remove selected field?"
+msgstr "Sigur doriți să ștergeți câmpul selectat?"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Add field"
+msgstr "Adăugare câmp"
+
+#: ../plugins/gtkui/trkproperties.c:740
+msgid "Remove field"
+msgstr "Ștergere câmp"
+
+#: ../main.c:83
+#, c-format
+msgid "Usage: deadbeef [options] [--] [file(s)]\n"
+msgstr "Utilizare: deadbeef [opțiuni] [--] [fișier(e)]\n"
+
+#: ../main.c:84
+#, c-format
+msgid "Options:\n"
+msgstr "Opțiuni:\n"
+
+#: ../main.c:85
+#, c-format
+msgid " --help or -h Print help (this message) and exit\n"
+msgstr " --help sau -h Arată acest mesaj de ajutor și ieși\n"
+
+#: ../main.c:86
+#, c-format
+msgid " --quit Quit player\n"
+msgstr " --quit Ieșire din player\n"
+
+#: ../main.c:87
+#, c-format
+msgid " --version Print version info and exit\n"
+msgstr " --version Arată detaliile versiunii și ieși\n"
+
+#: ../main.c:88
+#, c-format
+msgid " --play Start playback\n"
+msgstr " --play Pornește redarea\n"
+
+#: ../main.c:89
+#, c-format
+msgid " --stop Stop playback\n"
+msgstr " --stop Oprește redarea\n"
+
+#: ../main.c:90
+#, c-format
+msgid " --pause Pause playback\n"
+msgstr " --pause Pune pauză redării\n"
+
+#: ../main.c:91
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Comută starea de pauză\n"
+
+#: ../main.c:92
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Pornește redarea dacă e cazul sau comută starea de "
+"pauză\n"
+
+#: ../main.c:93
+#, c-format
+msgid " --next Next song in playlist\n"
+msgstr " --next Piesa următoare în lista de redare\n"
+
+#: ../main.c:94
+#, c-format
+msgid " --prev Previous song in playlist\n"
+msgstr " --prev Piesa precedentă în lista de redare\n"
+
+#: ../main.c:95
+#, c-format
+msgid " --random Random song in playlist\n"
+msgstr " --random Piesă aleatoare din lista de redare\n"
+
+#: ../main.c:96
+#, c-format
+msgid " --queue Append file(s) to existing playlist\n"
+msgstr " --queue Adaugă fișiere la lista de redare curentă\n"
+
+#: ../main.c:97
+#, c-format
+msgid ""
+" --gui PLUGIN Tells which GUI plugin to use, default is \"GTK2\"\n"
+msgstr " --gui MODUL Precizează ce modul GUI să fie utilizat, implicit "
+"\"GTK2\"\n"
+
+#: ../main.c:98
+#, c-format
+msgid " --nowplaying FMT Print formatted track name to stdout\n"
+msgstr " --nowplaying FMT Arată în ieșirea standard numele formatat al piesei\n"
+
+#: ../main.c:99
+#, c-format
+msgid ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+msgstr ""
+" Sintaxă FMT prefixată cu %%: [a]rtist, [t]itlu, "
+"al[b]um,\n"
+" [l]ungime, [n]umăr piesă, [y] pentru an, [c]omentariu,\n"
+" d[r]epturi de autor, durată r[e]dată\n"
+
+#: ../main.c:102
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr " de ex.: --nowplaying \"%%a - %%t\" va rezulta în \"artist "
+"- titlu\"\n"
+
+#: ../main.c:103
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " pentru mai multe detalii vedeți http://sourceforge.net"
+"/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2403
+msgid "Default"
+msgstr "Implicit"
+
+#: ../playlist.c:3699
+msgid "Yes"
+msgstr "Da"
+
+#: ../playlist.c:3699
+msgid "No"
+msgstr "Nu"
+
+#: ../plugins/gtkui/deadbeef.glade.h:73
+msgid ""
+"Item Index\n"
+"Playing\n"
+"Album Art\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Title\n"
+"Duration\n"
+"Track Number\n"
+"Band / Album Artist\n"
+"Custom"
+msgstr ""
+"Index element\n"
+"În redare\n"
+"Copertă album\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Titlu\n"
+"Durată\n"
+"Număr piesă\n"
+"Formație / Artist Album\n"
+"Personalizat"
+
+#: ../plugins/gtkui/deadbeef.glade.h:86
+msgid ""
+"Left\n"
+"Right"
+msgstr ""
+"Stânga\n"
+"Dreapta"
+
+#: ../plugins/gtkui/deadbeef.glade.h:93
+msgid ""
+"Disable\n"
+"Track\n"
+"Album"
+msgstr ""
+"Dezactivare\n"
+"Piesă\n"
+"Album"
+
+#: ../plugins/gtkui/deadbeef.glade.h:152
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Ascendent\n"
+"Descendent"
+
+#: ../plugins/gtkui/deadbeef.glade.h:164
+msgid ""
+"2.3 (Recommended)\n"
+"2.4"
+msgstr ""
+"2.3 (Recomandat)\n"
+"2.4"
+
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
+#, c-format
+msgid "Couldn't find pixmap file: %s"
+msgstr "Nu s-a putut găsi fișierul pixmap: %s"
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: nu s-a găsit fișierul de configurare freepats. Instalați pachetul "
+"timidity-freepats sau specificați calea către freepats.cfg în opțiunile "
+"modulului."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Adăugare CD audio"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Căutare pe Last.fm"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "Utilizează reeșantionare ALSA"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Eliberează dispozitivul la oprirea redării"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "Mărime preferată pentru memoria tampon"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "Mărime preferată pentru perioadă"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "Activare Scrobbler"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Dezactivare „nowplaying”"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Utilizator"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Parolă"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "URL Scrobble"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Fișierul dispozitivului"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Soluție alternativă pentru problema ratei de eșantionare OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "Perioadă de actualizare pentru cache (ore)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "Extrage din etichetele încorporate"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "Extrage din directorul local"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "Mască pentru fișierele local cu coperte"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "Extrage de la Last.fm"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "Extrage de la albumart.org"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Scalează copertele după lungime"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "Utilizează CDDB/FreeDB"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "Preferă CD-Text înaintea CDDB"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "Server CDDB (de ex. „freedb.org”)"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "Port CDDB (de ex. „888”)"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "Preferă protocolul CDDB înaintea HTTP"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "Activează suportul pentru imagini NRG"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "Calitatea reeșantionării (0-2, 2 e calitate maximă)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "Durată maximă pentru o piesă (în minute)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Cere confirmare pentru ștergerea fișierelor de pe disc"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "Prag de control al volumului prin iconița din zona de notificare"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "Iconiță personalizată pentru zona de notificare"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "Execută gtk_init cu --sync (mod de depanare)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Adaugă separatori între elementele modulelor din meniul contextual"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Format pentru titlul notificării"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Format pentru conținutul notificării"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Arată copertele albumelor"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Mărime pentru copertele albumelor (px)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "Server PulseAudio"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "Rată de eșantionare"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "Cale relativă pentru tabelul de căutare"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "Cale absolută pentru tabelul de căutare"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "Inversează biții audio (comutați dacă auziți doar zgomot alb)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Activare HVSC Songlength DB"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (din HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Biți per eșantion (8 sau 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Lungime implicită pentru piese (sec)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Fișier de configurare a bancurilor Timidity++"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Titlu piesă"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Interpret"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Număr de piese"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Gen"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Compozitor"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Număr de disc"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Comentariu"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "Codor / Comerciant"
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Locație"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Index sub-piesă"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tip(uri) de etichete"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Cuesheet încorporat"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Extensii de fișiere (separate prin ;)"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Convertire"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Rată de eșantionare țintă"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Calitate / Algoritm"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Rată de eșantionare automată (suprascrie rata țintă)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Fișierul există deja. Doriți să îl suprascrieți?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Avertizare de la convertor"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Selectați un codor"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Eroare de convertire"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "În convertire..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Selectați un director..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Nu s-au putut salva presetările codorului"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1033
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Verificați drepturile pentru directorul cu presetări, alegeți un alt "
+"titlu sau eliberați mai mult spațiu pe disc"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1033
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Există deja o presetare cu acest nume. Alegeți un alt titlu."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1034
+msgid "Error"
+msgstr "Eroare"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Adăugare codor nou"
+
+#: ../plugins/converter/convgui.c:722
+msgid "Edit encoder"
+msgstr "Editare codor"
+
+#: ../plugins/converter/convgui.c:754 ../plugins/converter/convgui.c:1131
+msgid "Remove preset"
+msgstr "Ștergere codor"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Această acțiune va șterge predefiniția selectată. Sigur doriți asta?"
+
+#: ../plugins/converter/convgui.c:780
+msgid "Encoders"
+msgstr "Codoare"
+
+#: ../plugins/converter/convgui.c:836 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Adaugare modul în lanțul DSP"
+
+#: ../plugins/converter/convgui.c:1032
+msgid "Failed to save DSP preset"
+msgstr "Nu s-a putut salva predefiniția DSP"
+
+#: ../plugins/converter/convgui.c:1096
+msgid "New DSP Preset"
+msgstr "Nouă presetare DSP"
+
+#: ../plugins/converter/convgui.c:1181
+msgid "Edit DSP Preset"
+msgstr "Editare presetare DSP"
+
+#: ../plugins/converter/convgui.c:1201
+msgid "DSP Presets"
+msgstr "Presetări DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Director cu rezultate:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Nume fișier rezultat:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Extensia (de ex. .mp3) va fi adăugată automat.\n"
+"Lăsați câmpul gol pentru valoarea implicită (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Codor:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Presetare DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Număr de fire de execuție:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Eșantionarea finală:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Păstrează formatul sursei"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 bit signed int"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 bit signed int"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 bit signed int"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 bit signed int"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 bit float"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Dacă fișierul există:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Întreabă"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Suprascrie"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Păstrează structura de directoare, începând de la:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Editare presetare codor"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Codor fără nume"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Extensie fișier rezultat:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "De ex. mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Linie de comandă:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Exemplu: lame - %o\n"
+"%i pentru fișierul input, %o pentru fișierul rezultat, - pentru stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - nume fișier rezultat\n"
+"%i - nume fișier temporar de input</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Metodă:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Conector „pipe”"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Fișier temporar"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Scriere de etichete</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Editor de presetări DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Presetare DSP fără nume"
diff --git a/po/ru.po b/po/ru.po
index 7151a2b2..531736c5 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,94 +7,94 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.4.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-22 12:50+0200\n"
-"PO-Revision-Date: 2011-05-14 19:53+0300\n"
-"Last-Translator: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-12-15 15:34+0200\n"
+"Last-Translator: Max <mpui@tut.by>\n"
"Language-Team: ru <slpiv@mail.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:121
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Поддерживаемые форматы"
-#: ../plugins/gtkui/callbacks.c:132 ../plugins/gtkui/gtkui.c:776
-msgid "Other files (*)"
-msgstr "Другие файлы (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Все файлы (*)"
-#: ../plugins/gtkui/callbacks.c:142
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Открыть файл(ы)..."
-#: ../plugins/gtkui/callbacks.c:177
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Добавить файл(ы) в плейлист..."
-#: ../plugins/gtkui/callbacks.c:218
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Добавить каталог(и) в плейлист..."
-#: ../plugins/gtkui/callbacks.c:223
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Следовать символическим ссылкам"
-#: ../plugins/gtkui/callbacks.c:697
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Не удалось прочитать файл справки"
-#: ../plugins/gtkui/callbacks.c:707
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Не удалось загрузить файл справки"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.ru.txt"
-#: ../plugins/gtkui/callbacks.c:723 ../plugins/gtkui/interface.c:1155
-#: ../plugins/gtkui/deadbeef.glade.h:48 ../plugins/converter/convgui.c:1240
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Справка"
-#: ../plugins/gtkui/callbacks.c:733
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "О программе DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:746
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Изменения в DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:1091
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Переводчики DeaDBeeF "
-#: ../plugins/gtkui/ddbtabstrip.c:689 ../plugins/gtkui/trkproperties.c:618
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Редактировать плейлист"
-#: ../plugins/gtkui/ddbtabstrip.c:692 ../plugins/gtkui/interface.c:1486
-#: ../plugins/gtkui/interface.c:2870 ../plugins/gtkui/deadbeef.glade.h:135
-#: ../plugins/converter/interface.c:402
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
msgid "Title:"
msgstr "Название:"
-#: ../plugins/gtkui/ddbtabstrip.c:748
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Переименовать плейлист"
-#: ../plugins/gtkui/ddbtabstrip.c:752
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Удалить плейлист"
-#: ../plugins/gtkui/ddbtabstrip.c:756
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Добавить новый плейлист"
@@ -150,7 +150,7 @@ msgstr "Обнулить предусиление"
msgid "Zero Bands"
msgstr "Обнулить частоты"
-#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:826
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
msgid "Presets"
msgstr "Предустановки"
@@ -193,32 +193,36 @@ msgid ""
msgstr ""
"%s%s %s| %dГц | %d бит | %s | %d:%02d / %s | %d дорожек | %s общее время"
-#: ../plugins/gtkui/gtkui.c:632
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Сохранить плейлист как"
-#: ../plugins/gtkui/gtkui.c:643
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Файлы плейлистов DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:761
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Загрузить плейлист"
-#: ../plugins/gtkui/gtkui.c:914 ../plugins/gtkui/fileman.c:40
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Другие файлы (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Новый плейлист"
-#: ../plugins/gtkui/gtkui.c:917
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Новый плейлист (%d)"
-#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Файл"
-#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Открыть файл(ы)"
@@ -230,36 +234,36 @@ msgstr "Добавить файл(ы)"
msgid "Add folder(s)"
msgstr "Добавить каталог(и)"
-#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:2970
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Добавить расположение"
-#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Новый плейлист"
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Загрузить плейлист"
-#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Сохранить плейлист"
-#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:164
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Выход"
-#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Правка"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Очистить"
-#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Выделить всё"
@@ -267,17 +271,17 @@ msgstr "Выделить всё"
msgid "Deselect all"
msgstr "Снять выделение"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Обратить выделение"
-#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Выделенное"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:453
-#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:104
-#: ../plugins/converter/interface.c:653
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Удалить"
@@ -285,35 +289,35 @@ msgstr "Удалить"
msgid "Crop"
msgstr "Оставить выделенное"
-#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Найти"
-#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
msgid "Sort By"
msgstr "Сортировать по"
#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
-#: ../plugins/gtkui/mainplaylist.c:315 ../plugins/gtkui/prefwin.c:623
-#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
-#: ../plugins/converter/interface.c:630
+#: ../plugins/converter/interface.c:622
msgid "Title"
msgstr "Название"
-#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
msgid "Track number"
msgstr "Номер дорожки"
#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
-#: ../plugins/gtkui/interface.c:1869 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
#: ../translation/extra.c:69
msgid "Album"
msgstr "Альбом"
#. Track properties dialog
#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
-#: ../plugins/gtkui/plcommon.c:998 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
#: ../translation/extra.c:65
msgid "Artist"
msgstr "Исполнитель"
@@ -324,20 +328,20 @@ msgid "Date"
msgstr "Дата"
#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
-#: ../plugins/gtkui/plcommon.c:1002 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
msgid "Custom"
msgstr "Пользовательский"
-#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1798
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Настройки"
-#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:166
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Вид"
-#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Строка состояния"
@@ -345,7 +349,7 @@ msgstr "Строка состояния"
msgid "Column headers"
msgstr "Заголовки столбцов"
-#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:131
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Вкладки"
@@ -353,40 +357,40 @@ msgstr "Вкладки"
msgid "Equalizer"
msgstr "Эквалайзер"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:163
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "Воспр_оизведение"
-#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3246
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Порядок"
-#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "По очереди"
-#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
msgid "Shuffle tracks"
msgstr "Перемешивать дорожки"
-#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
msgid "Shuffle albums"
msgstr "Перемешивать альбомы"
-#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Случайно"
-#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Повторять"
-#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Все"
-#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Дорожку"
@@ -394,7 +398,7 @@ msgstr "Дорожку"
msgid "Don't Loop"
msgstr "Не повторять"
-#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Прокручивать плейлист автоматически"
@@ -402,64 +406,64 @@ msgstr "Прокручивать плейлист автоматически"
msgid "Cursor follows playback"
msgstr "Выделять текущую дорожку"
-#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Останавливать после текущей"
-#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Перейти на текущую дорожку"
#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Справка"
-#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Изменения"
-#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_О программе"
-#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:165
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Переводчики"
-#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Поиск"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Стоп"
-#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Воспроизвести"
-#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Пауза"
-#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Предыдущая"
-#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Следующая"
-#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Играть вразброс"
@@ -467,33 +471,33 @@ msgstr "Играть вразброс"
msgid "About"
msgstr "О программе"
-#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Выход"
-#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Свойства дорожки"
-#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
msgid "Settings"
msgstr "Настройки"
-#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Применить"
#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Закрыть"
-#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Метаданные"
-#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:603
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Свойства"
@@ -501,7 +505,7 @@ msgstr "Свойства"
msgid "Enter new column title here"
msgstr "Введите название нового столбца"
-#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Тип:"
@@ -510,7 +514,7 @@ msgid "Item Index"
msgstr "Порядковый номер"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:312
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Воспроизводится"
@@ -522,7 +526,7 @@ msgstr "Обложка альбома"
msgid "Artist - Album"
msgstr "Исполнитель - Альбом"
-#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:316
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
#: ../plugins/gtkui/search.c:394
msgid "Duration"
msgstr "Продолжительность"
@@ -535,7 +539,7 @@ msgstr "Номер дорожки"
msgid "Band / Album Artist"
msgstr "Группа / Исполнитель альбома"
-#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3098
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Формат:"
@@ -552,367 +556,373 @@ msgstr "По левому краю"
msgid "Right"
msgstr "По правому краю"
-#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2901
-#: ../plugins/gtkui/interface.c:3013 ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Отмена"
-#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2922
-#: ../plugins/gtkui/interface.c:3034 ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_ОК"
-#: ../plugins/gtkui/interface.c:1819 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Модуль вывода:"
-#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Устройство вывода:"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
msgid "Always convert 8 bit audio to 16 bit"
msgstr "Всегда преобразовывать 8-битный звук в 16-битный"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Звук"
-#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Режим автовыравнивания громкости:"
-#: ../plugins/gtkui/interface.c:1867
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Отключён"
-#: ../plugins/gtkui/interface.c:1868
+#: ../plugins/gtkui/interface.c:1874
msgid "Track"
msgstr "Дорожка"
-#: ../plugins/gtkui/interface.c:1871 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Использовать пиковое значение"
-#: ../plugins/gtkui/interface.c:1879 ../plugins/gtkui/deadbeef.glade.h:107
-msgid "Replaygain preamp:"
-msgstr "Предусиление автовыравнивания громкости:"
-
-#: ../plugins/gtkui/interface.c:1883 ../plugins/gtkui/deadbeef.glade.h:2
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
msgid "-12 dB"
msgstr "-12 дБ"
-#: ../plugins/gtkui/interface.c:1893 ../plugins/gtkui/deadbeef.glade.h:1
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
msgid "+12 dB"
msgstr "+12 дБ"
-#: ../plugins/gtkui/interface.c:1901 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Предусиление автовыравнивания громкости:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Общее предусиление громкости:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Добавлять файлы из командной строки\n"
"(или файлового менеджера) в этот плейлист:"
-#: ../plugins/gtkui/interface.c:1910 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Восстанавливать предыдущую сессию при запуске"
-#: ../plugins/gtkui/interface.c:1914 ../plugins/gtkui/deadbeef.glade.h:37
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
msgid "Don't add from archives when adding folders"
msgstr "Не добавлять из архивов при добавлении каталогов"
-#: ../plugins/gtkui/interface.c:1918 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Воспроизведение"
-#: ../plugins/gtkui/interface.c:1939 ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:657
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
msgid "Configure"
msgstr "Настроить"
-#: ../plugins/gtkui/interface.c:1974 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
msgid "DSP Chain Preset"
msgstr "Предустановка для цепочки DSP"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
msgid "_Load"
msgstr "_Загрузить"
-#: ../plugins/gtkui/interface.c:1990 ../plugins/gtkui/deadbeef.glade.h:28
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
msgid "DSP"
msgstr "DSP"
-#: ../plugins/gtkui/interface.c:1999 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Сворачивать в трей при закрытии"
-#: ../plugins/gtkui/interface.c:2003 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Средняя кнопка мыши закрывает плейлист"
-#: ../plugins/gtkui/interface.c:2007 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Не показывать значок в трее"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Использовать жирный шрифт для текущей дорожки"
-#: ../plugins/gtkui/interface.c:2015 ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Убрать пункт \"Удалить с диска\" из контекстного меню"
-#: ../plugins/gtkui/interface.c:2019 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
msgid "Auto-name playlists when adding a single folder"
msgstr "Автоматически именовать плейлисты при добавлении одного каталога"
-#: ../plugins/gtkui/interface.c:2027 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
msgid "Interface refresh rate (times per second):"
msgstr "Частота обновления интерфейса (раз за секунду):"
-#: ../plugins/gtkui/interface.c:2041 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Текст заголовка при проигрывании:"
-#: ../plugins/gtkui/interface.c:2055 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Текст заголовка при остановке:"
-#: ../plugins/gtkui/interface.c:2069 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
msgid "GUI Plugin (changing requires restart):"
msgstr "Графический интерфейс (для изменения необходим перезапуск):"
-#: ../plugins/gtkui/interface.c:2077 ../plugins/gtkui/deadbeef.glade.h:45
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Интерфейс"
-#: ../plugins/gtkui/interface.c:2092 ../plugins/gtkui/interface.c:2136
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Заменить"
-#: ../plugins/gtkui/interface.c:2101 ../plugins/gtkui/deadbeef.glade.h:42
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Передний план"
-#: ../plugins/gtkui/interface.c:2108 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Фон"
-#: ../plugins/gtkui/interface.c:2127 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Основные цвета"
-#: ../plugins/gtkui/interface.c:2145 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Средний"
-#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Светлый"
-#: ../plugins/gtkui/interface.c:2159 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Тёмный"
-#: ../plugins/gtkui/interface.c:2190 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Базовый"
-#: ../plugins/gtkui/interface.c:2197 ../plugins/gtkui/interface.c:2254
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
msgid "Text"
msgstr "Текст"
-#: ../plugins/gtkui/interface.c:2210 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Цвета вкладок"
-#: ../plugins/gtkui/interface.c:2219 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
"Заменить (теряются настройки темы GTK , но увеличивается скорость "
"визуализации)"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/deadbeef.glade.h:41
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
" Чётная \n"
" строка"
-#: ../plugins/gtkui/interface.c:2235 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
" Нечётная \n"
" строка"
-#: ../plugins/gtkui/interface.c:2261 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr ""
" Выделенная \n"
" строка"
-#: ../plugins/gtkui/interface.c:2280 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr ""
" Выделенный \n"
" текст"
-#: ../plugins/gtkui/interface.c:2293 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Курсор"
-#: ../plugins/gtkui/interface.c:2306 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Цвета плейлиста"
-#: ../plugins/gtkui/interface.c:2310 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Цвета"
-#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:38
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Включить прокси-сервер"
-#: ../plugins/gtkui/interface.c:2327 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Адрес:"
-#: ../plugins/gtkui/interface.c:2341 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Порт:"
-#: ../plugins/gtkui/interface.c:2355 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Тип прокси:"
-#: ../plugins/gtkui/interface.c:2374 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Имя пользователя:"
-#: ../plugins/gtkui/interface.c:2387 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Пароль:"
-#: ../plugins/gtkui/interface.c:2397 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Сеть"
-#: ../plugins/gtkui/interface.c:2428 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
msgid "Version: "
msgstr "Версия:"
-#: ../plugins/gtkui/interface.c:2492 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
#: ../translation/extra.c:78
msgid "Copyright"
msgstr "Авторские права"
-#: ../plugins/gtkui/interface.c:2502 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
msgid "Plugins"
msgstr "Расширения"
-#: ../plugins/gtkui/interface.c:2981 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
msgid "URL:"
msgstr "Адрес:"
-#: ../plugins/gtkui/interface.c:3083 ../plugins/gtkui/deadbeef.glade.h:47
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
msgid "Group By"
msgstr "Группировать по"
-#: ../plugins/gtkui/interface.c:3207 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
msgid "Sort by..."
msgstr "Сортировать по..."
-#: ../plugins/gtkui/interface.c:3223 ../plugins/gtkui/deadbeef.glade.h:43
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
msgid "Format"
msgstr "Формат"
-#: ../plugins/gtkui/interface.c:3253
+#: ../plugins/gtkui/interface.c:3305
msgid "Ascending"
msgstr "По возрастанию"
-#: ../plugins/gtkui/interface.c:3254
+#: ../plugins/gtkui/interface.c:3306
msgid "Descending"
msgstr "По убыванию"
-#: ../plugins/gtkui/interface.c:3307 ../plugins/gtkui/deadbeef.glade.h:113
-#: ../plugins/converter/interface.c:758
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
msgid "Select DSP Plugin"
msgstr "Выберите расширение DSP"
-#: ../plugins/gtkui/interface.c:3323 ../plugins/gtkui/deadbeef.glade.h:92
-#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:774
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
#: ../plugins/gtkui/dspconfig.c:139
msgid "Plugin"
msgstr "Расширение"
-#: ../plugins/gtkui/interface.c:3409 ../plugins/gtkui/deadbeef.glade.h:132
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
msgid "Tag Writer Settings"
msgstr "Настройки редактора тегов"
-#: ../plugins/gtkui/interface.c:3440 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Писать ID3v2"
-#: ../plugins/gtkui/interface.c:3444 ../plugins/gtkui/interface.c:3571
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Писать ID3v1"
-#: ../plugins/gtkui/interface.c:3448 ../plugins/gtkui/interface.c:3527
-#: ../plugins/gtkui/interface.c:3567 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Писать APEv2"
-#: ../plugins/gtkui/interface.c:3456 ../plugins/gtkui/interface.c:3535
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Вырезать ID3v2"
-#: ../plugins/gtkui/interface.c:3460 ../plugins/gtkui/interface.c:3583
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Вырезать ID3v1"
-#: ../plugins/gtkui/interface.c:3464 ../plugins/gtkui/interface.c:3539
-#: ../plugins/gtkui/interface.c:3579 ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Вырезать APEv2"
-#: ../plugins/gtkui/interface.c:3472 ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Версия ID3v2"
-#: ../plugins/gtkui/interface.c:3479
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Рекомендуемая)"
-#: ../plugins/gtkui/interface.c:3480
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:3486 ../plugins/gtkui/deadbeef.glade.h:51
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Кодировка ID3v1 (по умолчанию iso8859-1)"
-#: ../plugins/gtkui/interface.c:3523 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Писать ID3v2.4"
-#: ../plugins/gtkui/mainplaylist.c:313 ../plugins/gtkui/search.c:391
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Исполнитель / Альбом"
-#: ../plugins/gtkui/mainplaylist.c:314 ../plugins/gtkui/search.c:392
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "№"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Удалить файлы с жёсткого диска"
-#: ../plugins/gtkui/plcommon.c:326
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -920,49 +930,49 @@ msgstr ""
"Файлы будут удалены. Продолжить?\n"
"(Этот диалог может быть отключён в настройках расширения GTKUI)"
-#: ../plugins/gtkui/plcommon.c:327 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Предупреждение"
-#: ../plugins/gtkui/plcommon.c:429
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Добавить в очередь"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Удалить из очереди"
-#: ../plugins/gtkui/plcommon.c:442
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Обновить метаданные"
-#: ../plugins/gtkui/plcommon.c:461
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Удалить с жёсткого диска"
-#: ../plugins/gtkui/plcommon.c:840 ../plugins/gtkui/plcommon.c:965
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Добавить столбец"
-#: ../plugins/gtkui/plcommon.c:870 ../plugins/gtkui/plcommon.c:969
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Редактировать столбец"
-#: ../plugins/gtkui/plcommon.c:973
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Удалить столбец"
-#: ../plugins/gtkui/plcommon.c:983
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Группировать по"
-#: ../plugins/gtkui/plcommon.c:990
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Отсутствует"
-#: ../plugins/gtkui/plcommon.c:994
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Исполнитель/Дата/Альбом"
@@ -979,7 +989,7 @@ msgstr "Настроить %s"
msgid "Default Audio Device"
msgstr "Аудио устройство по умолчанию"
-#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:649
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Добавить"
@@ -1056,55 +1066,55 @@ msgstr "Добавить поле"
msgid "Remove field"
msgstr "Удалить поле"
-#: ../main.c:90
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Использование: deadbeef [опции] [файл(ы)]\n"
-#: ../main.c:91
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Опции:\n"
-#: ../main.c:92
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr ""
" --help или -h Вывести на экран справку (это сообщение) и выйти\n"
-#: ../main.c:93
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Выйти из плеера\n"
-#: ../main.c:94
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
" --version Вывести на экран информацию о версии программы и "
"выйти\n"
-#: ../main.c:95
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Начать воспроизведение\n"
-#: ../main.c:96
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Остановить воспроизведение\n"
-#: ../main.c:97
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Приостановить воспроизведение\n"
-#: ../main.c:98
+#: ../main.c:99
#, c-format
msgid " --toggle-pause Toggle pause\n"
msgstr " --toggle-pause Приостановить воспроизведение\n"
-#: ../main.c:99
+#: ../main.c:100
#, c-format
msgid ""
" --play-pause Start playback if stopped, toggle pause otherwise\n"
@@ -1112,33 +1122,33 @@ msgstr ""
" --play-pause Начать воспроизведение если остановлено, в противном "
"случае - приостановить\n"
-#: ../main.c:100
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Следующая дорожка в плейлисте\n"
-#: ../main.c:101
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Предыдущая дорожка в плейлисте\n"
-#: ../main.c:102
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Воспроизведение случайной дорожки в плейлисте\n"
-#: ../main.c:103
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Добавить файл(ы) в существующий плейлист\n"
-#: ../main.c:104
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
" --nowplaying FMT Вывести на экран форматированное название дорожки\n"
-#: ../main.c:105
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1151,7 +1161,7 @@ msgstr ""
"комментарий,\n"
" %%r-авторские права, %%e-время, которое прошло \n"
-#: ../main.c:108
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1160,7 +1170,7 @@ msgstr ""
" Например: --nowplaying \"%%a - %%t\" должна вывести "
"на экран \"artist - title\"\n"
-#: ../main.c:109
+#: ../main.c:110
#, c-format
msgid ""
" for more info, see http://sourceforge.net/apps/"
@@ -1169,15 +1179,15 @@ msgstr ""
" для дополнительной информации, смотрите http://"
"sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
-#: ../playlist.c:439 ../playlist.c:2605
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Плейлист"
-#: ../playlist.c:3854
+#: ../playlist.c:3664
msgid "Yes"
msgstr "Да"
-#: ../playlist.c:3854
+#: ../playlist.c:3664
msgid "No"
msgstr "Нет"
@@ -1207,7 +1217,7 @@ msgstr ""
"Дорожка\n"
"Альбом"
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1233,7 +1243,7 @@ msgstr ""
"Группа / Исполнитель альбома\n"
"Разное"
-#: ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1533,7 +1543,8 @@ msgstr "Качество / Алгоритм"
#: ../translation/extra.c:91
msgid "Automatic Samplerate (overrides Target Samplerate)"
-msgstr "Автоматическая частота дискретизации (переопределяет частоту дискретизации)"
+msgstr ""
+"Автоматическая частота дискретизации (переопределяет частоту дискретизации)"
#: ../plugins/converter/convgui.c:108
msgid "The file already exists. Overwrite?"
@@ -1619,15 +1630,15 @@ msgstr "Редактировать предустановку DSP "
msgid "DSP Presets"
msgstr "Предустановки DSP"
-#: ../plugins/converter/interface.c:97
+#: ../plugins/converter/interface.c:94
msgid "Output folder:"
msgstr "Выходной каталог:"
-#: ../plugins/converter/interface.c:118
+#: ../plugins/converter/interface.c:115
msgid "Output file name:"
msgstr "Имя выходного файла:"
-#: ../plugins/converter/interface.c:129
+#: ../plugins/converter/interface.c:126
msgid ""
"Extension (e.g. .mp3) will be appended automatically.\n"
"Leave the field empty for default (%a - %t)."
@@ -1635,83 +1646,83 @@ msgstr ""
"Расширение (например, .mp3) будет добавлено автоматически.\n"
"Оставьте это поле пустым для использования настроек по умолчанию (%a - %t)."
-#: ../plugins/converter/interface.c:142
+#: ../plugins/converter/interface.c:139
msgid "Encoder:"
msgstr "Кодировщик:"
-#: ../plugins/converter/interface.c:166
+#: ../plugins/converter/interface.c:163
msgid "DSP preset:"
msgstr "Предустановка DSP:"
-#: ../plugins/converter/interface.c:189
+#: ../plugins/converter/interface.c:186
msgid "Number of threads:"
msgstr "Количество потоков:"
-#: ../plugins/converter/interface.c:202
+#: ../plugins/converter/interface.c:199
msgid "Output sample format:"
msgstr "Выходной формат сэмплов:"
-#: ../plugins/converter/interface.c:209
+#: ../plugins/converter/interface.c:206
msgid "Keep source format"
msgstr "Оставить исходный формат"
-#: ../plugins/converter/interface.c:210
+#: ../plugins/converter/interface.c:207
msgid "8 bit signed int"
msgstr "8 бит целочисленный"
-#: ../plugins/converter/interface.c:211
+#: ../plugins/converter/interface.c:208
msgid "16 bit signed int"
msgstr "16 бит целочисленный"
-#: ../plugins/converter/interface.c:212
+#: ../plugins/converter/interface.c:209
msgid "24 bit signed int"
msgstr "24 бит целочисленный"
-#: ../plugins/converter/interface.c:213
+#: ../plugins/converter/interface.c:210
msgid "32 bit signed int"
msgstr "32 бит целочисленный"
-#: ../plugins/converter/interface.c:214
+#: ../plugins/converter/interface.c:211
msgid "32 bit float"
msgstr "32 бит вещественный"
-#: ../plugins/converter/interface.c:220
+#: ../plugins/converter/interface.c:217
msgid "When file exists:"
msgstr "Если файл существует:"
-#: ../plugins/converter/interface.c:227
+#: ../plugins/converter/interface.c:224
msgid "Prompt"
msgstr "Спросить"
-#: ../plugins/converter/interface.c:228
+#: ../plugins/converter/interface.c:225
msgid "Overwrite"
msgstr "Заменить"
-#: ../plugins/converter/interface.c:230
+#: ../plugins/converter/interface.c:227
msgid "Preserve folder structure, starting from:"
msgstr "Сохранить структуру папок, начиная с:"
-#: ../plugins/converter/interface.c:386
+#: ../plugins/converter/interface.c:379
msgid "Edit Encoder Preset"
msgstr "Редактировать предустановки"
-#: ../plugins/converter/interface.c:409
+#: ../plugins/converter/interface.c:402
msgid "Untitled Encoder"
msgstr "Безымянный кодировщик"
-#: ../plugins/converter/interface.c:417
+#: ../plugins/converter/interface.c:410
msgid "Output file extension:"
msgstr "Расширение выходного файла:"
-#: ../plugins/converter/interface.c:424
+#: ../plugins/converter/interface.c:417
msgid "E.g. mp3"
msgstr "Например mp3"
-#: ../plugins/converter/interface.c:432
+#: ../plugins/converter/interface.c:425
msgid "Command line:"
msgstr "Командная строка"
-#: ../plugins/converter/interface.c:443
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
"Example: lame - %o\n"
@@ -1720,7 +1731,7 @@ msgstr ""
"Пример: lame - %o\n"
"\"%i\" для входного файла, \"%o\" для выходного файла, \"-\" для stdin"
-#: ../plugins/converter/interface.c:453
+#: ../plugins/converter/interface.c:446
#, c-format
msgid ""
"<small>%o - output file name\n"
@@ -1729,47 +1740,47 @@ msgstr ""
"<small>\"%o\" - имя выходного файла\n"
"\"%i\" - имя временного входного файла</small>"
-#: ../plugins/converter/interface.c:462
+#: ../plugins/converter/interface.c:455
msgid "Method:"
msgstr "Метод:"
-#: ../plugins/converter/interface.c:469
+#: ../plugins/converter/interface.c:462
msgid "Pipe"
msgstr "Конвейер"
-#: ../plugins/converter/interface.c:470
+#: ../plugins/converter/interface.c:463
msgid "Temporary file"
msgstr "Временный файл"
-#: ../plugins/converter/interface.c:487
+#: ../plugins/converter/interface.c:480
msgid "APEv2"
msgstr "APEv2"
-#: ../plugins/converter/interface.c:493
+#: ../plugins/converter/interface.c:486
msgid "ID3v1"
msgstr "ID3v1"
-#: ../plugins/converter/interface.c:499
+#: ../plugins/converter/interface.c:492
msgid "OggVorbis"
msgstr "OggVorbis"
-#: ../plugins/converter/interface.c:505
+#: ../plugins/converter/interface.c:498
msgid "FLAC"
msgstr "FLAC"
-#: ../plugins/converter/interface.c:517
+#: ../plugins/converter/interface.c:510
msgid "ID3v2"
msgstr "ID3v2"
-#: ../plugins/converter/interface.c:527
+#: ../plugins/converter/interface.c:520
msgid "<b>Tag writer</b>"
msgstr "<b>Запись тегов</b>"
-#: ../plugins/converter/interface.c:614
+#: ../plugins/converter/interface.c:606
msgid "DSP Preset Editor"
msgstr "Редактор предустановок DSP"
-#: ../plugins/converter/interface.c:637
+#: ../plugins/converter/interface.c:629
msgid "Untitled DSP Preset"
msgstr "Безымянная предустановка DSP"
diff --git a/po/si.po b/po/si.po
index 435f6fb9..f1e025e8 100644
--- a/po/si.po
+++ b/po/si.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-11-29 17:35+0200\n"
"Last-Translator: danishka <danishka@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,1012 +18,1115 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr ""
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr ""
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr ""
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "උදව්"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr ""
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr ""
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr ""
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr ""
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr ""
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr ""
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr ""
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr ""
-#: ../plugins/gtkui/eq.c:292
-msgid "Enable"
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:300
-msgid "Zero All"
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:307
-msgid "Zero Preamp"
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
msgstr ""
-#: ../plugins/gtkui/eq.c:314
-msgid "Zero Bands"
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
msgstr ""
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
msgstr ""
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
msgstr ""
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr ""
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr ""
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr ""
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr ""
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr ""
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr ""
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr ""
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr ""
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr ""
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr ""
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr ""
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr ""
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr ""
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr ""
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr ""
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr ""
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr ""
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr ""
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr ""
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr ""
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr ""
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr ""
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr ""
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr ""
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr ""
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr ""
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
msgstr ""
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr ""
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr ""
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr ""
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr ""
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr ""
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr ""
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr ""
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr ""
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr ""
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr ""
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr ""
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr ""
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr ""
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr ""
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr ""
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr ""
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr ""
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr ""
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr ""
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr ""
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr ""
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr ""
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr ""
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr ""
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr ""
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr ""
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr ""
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
msgstr ""
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr ""
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr ""
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr ""
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr ""
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
-msgid "Sound"
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
msgstr ""
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr ""
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr ""
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr ""
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr ""
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr ""
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr ""
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr ""
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr ""
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr ""
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr ""
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
-msgid "Write ID3v2"
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
msgstr ""
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
-msgid "Write ID3v1"
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
msgstr ""
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
-msgid "Write APEv2"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
-msgid "Strip ID3v2"
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
-msgid "Strip ID3v1"
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
-msgid "Strip APEv2"
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
-msgid "ID3v2 version"
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
msgstr ""
-#: ../plugins/gtkui/interface.c:2247
-msgid "2.3 (Recommended)"
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
msgstr ""
-#: ../plugins/gtkui/interface.c:2248
-msgid "2.4"
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
-msgid "ID3v1 character encoding (default is iso8859-1)"
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "Write ID3v2.4"
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
msgstr ""
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
msgstr ""
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
-msgid "Artist / Album"
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
-msgid "Track No"
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
msgstr ""
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr ""
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr ""
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr ""
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr ""
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr ""
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr ""
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr ""
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr ""
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr ""
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr ""
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr ""
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1031,112 +1134,589 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
msgstr ""
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr ""
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr ""
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr ""
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:83
+msgid "Codec"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr ""
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr ""
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
msgstr ""
diff --git a/po/sk.po b/po/sk.po
index c5b93e7b..94f464c5 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-07-08 10:21+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -17,835 +17,912 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Podporované formáty zvuku"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Ostatné súbory (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Otvoriť súbor(y)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Pridať súbor(y) do zoznamu stôp..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Pridať priečinok/priečinky do zoznamu stôp..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Zlyhalo čítanie súboru Pomocníka"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Zlyhalo načítanie súboru Pomocníka"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Pomocník"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "O aplikácii DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Záznam zmien DeaDBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF teraz prehráva"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Upraviť zoznam stôp"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Názov:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Premenovať zoznam stôp"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Odstrániť zoznam stôp"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Pridať nový zoznam stôp"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Uložiť predvoľby ekvalizéru DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Predvoľby ekvalizéru DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Načítať Predvoľby ekvalizéru DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Predvoľby ekvalizéru DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importovať predvoľby ekvalizéru Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Predvoľby ekvalizéru Foobar2000 (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Načítať predvoľby"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importovať predvoľby Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Zapnúť"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Znulovať všetky"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Znulovať predzos"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Znulovať pásma"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Uložiť predvoľby"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Načítať predvoľby"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importovať predvoľby Foobar2000"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 deň %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dní %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Zastavené | %d stôp | %s celkový čas"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pozastavené | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d stôp | %s celkový čas"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Uložiť zoznam stôp ako"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Zoznamy stôp DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Načítať zoznam stôp"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Ostatné súbory (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nový zoznam stôp"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nový zoznam stôp (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Súbor"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Otvoriť súbor(y)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Pridať súbor(y)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Pridať priečinok/priečinky"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Pridať umiestnenie"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nový zoznam stôp"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Načítať zoznam stôp"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Uložiť zoznam stôp"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Uložiť zoznam stôp ako"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Ukončiť"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Upraviť"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Vyčistiť"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Vybrať všetky"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Zrušiť výber"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Invertovať výber"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Výber"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Odstrániť"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Orezať"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Nájsť"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Názov"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Číslo súboru"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Interpret"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Vlastné"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Nastavenia"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Zobraziť"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Stavový panel"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Hlavičky stĺpcov"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Karty"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ekvalizér"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Prehrávanie"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Poradie"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Lineárne"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "Zamiešať"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "Zamiešať"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Náhodné"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Opakovať"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Opakovať všetky"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Opakovať jedinú stopu"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Neopakovať"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Posúvať podľa prehrávanej stopy"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Kurzor podľa prehrávanej stopy"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Zastaviť po tejto stope"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Pomocník"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Záznam zmien"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "O _aplikácii"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Hľadať"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Zastaviť"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Prehrať"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pozastaviť"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Predošlá"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Ďalšia"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Prehrať náhodnú"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "O aplikácii"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Ukončiť"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Pridávajú sa súbory..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Zrušiť"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Vlastnosti stopy"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>UPOZORNENIE</b>: zapisovanie značiek je zatiaľ vlastnosť vo vývoji.\n"
-"<b>Urobte si zálohy</b> predtým, než ju budete používať."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Použiť"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Zatvoriť"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadáta"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Vlastnosti"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Názov:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Sem zadajte názov stĺpca"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Typ:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Číslo súboru"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Hrá"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Obal albumu"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Interpret - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Interpret"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Názov"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Dĺžka"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Trvanie"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Stopa"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "Č. stopy"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Skupina/interpret"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Vlastné"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Formát:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Zarovnanie:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Vľavo"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Vpravo"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, fuzzy, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Konverzia formátu (začína %):\n"
-" [a] interpret, [t] názov, [b] album, [B] skupina, [C] skladateľ\n"
-" [n] číslo stopy, [N] počet stôp,\n"
-" [l] dĺžka, [y] rok, [g] žáner, [c] komentár,\n"
-" [r] autorské práva, [f] názov súboru, [T] značky\n"
-"Príklad: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Zrušiť"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Výstupný zásuvný modul:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Výstupné zariadenie:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Zvuk"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Povoliť dynamické prepínanie vzorkovania"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Kvalita konverzie vzorkovania:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Režim replaygain:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Vypnúť"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Stopa"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Najvyšší replaygain:"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Režim replaygain:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "_Prehrávanie"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Nastaviť"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Zatvorenie minimalizuje do oznamovacej oblasti"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Stredné tlačidlo myši zatvára zoznam stôp"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Rozhranie"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Prekonať"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Popredie"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Pozadie"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Farby lišty pozície a hlasitosti"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Stredné"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Svetlé"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Tmavé"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Základ"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Text"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Farby pruhu kariet"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
"Prekonať (nepoužije témy vzhľadu stromového zobrazenia GTK, ale urýchli "
"vykresľovanie)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Párny riadok"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Nepárny riadok"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Text"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Vybraný riadok"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Vybraný text"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Kurzor"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Farby zoznamu stôp"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Zapnúť proxy server"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adresa proxy servera:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port proxy servera:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Typ proxy:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Používateľ proxy:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Heslo pre proxy:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Sieť"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Zásuvné moduly"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Zoskupiť podľa"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Formát:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Výber"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Zásuvné moduly"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Zapisovať značiek"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Zapísať ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Zapísať ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Zapísať APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Odstrániť ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Odstrániť ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Odstrániť APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Verzia ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (odporúča sa)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Kódovanie znakov ID3v1 (predvolené je iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Zapísať ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Zapisovať značiek"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Popis:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Autor(i):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Webstránka:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Nastaviť"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Zásuvné moduly"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Zoskupiť podľa"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Konverzia formátu (začína %):\n"
-" [a] interpret, [t] názov, [b] album, [B] skupina, [C] skladateľ\n"
-" [n] číslo stopy, [N] počet stôp,\n"
-" [l] dĺžka, [y] rok, [g] žáner, [c] komentár,\n"
-" [r] autorské práva, [f] názov súboru, [T] značky\n"
-"Príklad: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Interpret/album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Č. stopy"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Názov/interpret stopy"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Trvanie"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Zmazať súbory z disku"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -853,196 +930,223 @@ msgstr ""
"Súbory sa stratia. Pokračovať?\n"
"(Tento dialóg môžete vypnúť v nastaveniach zásuvných modulov GTKUI)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Upozornenie"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Pridať do frontu prehrávaných"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Odstrániť z frontu prehrávaných"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Znovu načítať metadáta"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Odstrániť z disku"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Pridať stĺpec"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Upraviť stĺpec"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Odstrániť stĺpec"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Zoskupiť podľa"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Žiadne"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Interpret/dátum/album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Otvoriť súbor..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Nastaviť %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Nastaviť"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Predvolené zvukové zariadenie"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Pridať"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Globálne klávesové skratky"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Miesto"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Kombinácia klávesov"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Výstupný modul ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Pridávajú sa súbory..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Inicializuje sa..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Zmenili ste dáta tejto stopy."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Naozaj zatvoriť toto okno?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Typ(y) značiek"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Vložený cue"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Áno"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nie"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Kľúč"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Hodnota"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF teraz prehráva"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Naozaj zatvoriť toto okno?"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Pridať súbor(y)"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Odstrániť"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Použitie: deadbeef [možnosti] [súbor(y)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Možnosti:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help alebo -h Vypíše túto správu Pomocníka a skončí\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Ukončí prehrávač\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Vypíše informácie o verzii a skončí\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Začne prehrávanie\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Zastaví prehrávanie\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pozastaví prehrávanie\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Ďalšia stopa v zozname\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Predošlá stopa v zozname\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Náhodná stopa v zozname\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Pridá súbory do existujúceho zoznamu stôp\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
" --nowplaying FMT Vypíše formátovaný názov stopy na štand. výstup\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1053,7 +1157,7 @@ msgstr ""
" [l] dĺžka, [n] č. stopy, [y] rok, [c] komentár,\n"
" [r] autorské práva, [e] uplynulo\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1062,11 +1166,26 @@ msgstr ""
" napr.: --nowplaying „%%a - %%t“ by malo vypísať "
"„interpret - názov“\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Predvolené"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Áno"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Nie"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1074,7 +1193,13 @@ msgstr ""
"2.3 (odporúča sa)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1084,17 +1209,18 @@ msgstr ""
"Stopa\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1110,7 +1236,7 @@ msgstr ""
"Skupina/Interpret albumu\n"
"Vlastné"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1119,74 +1245,673 @@ msgstr ""
"Vpravo"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Nepodarilo sa nájsť súbor pixmap: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Nepodarilo sa získať dosť pamäte na bufrovanie vstupu."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Pridať zvukové CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Zapnúť proxy server"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF teraz prehráva"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "Používateľ proxy:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "Heslo pre proxy:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "Zmazať súbory z disku"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Chyba pri čítaní prvej stránky bitového toku Ogg."
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Chyba pri čítaní prvého paketu hlavičky."
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Nepodarilo sa získať dosť pamäte na registráciu sériového čísla toku."
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Vstup je orezaný alebo prázdny."
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Vstup nie je bitový tok Ogg."
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Bitový tok Ogg neobsahuje dáta Vorbis."
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Obal albumu"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Koniec súboru pred rozpoznaním toku."
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Bitový tok Ogg neobsahuje podporovaný typ dát."
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Poškodená sekundárna hlavička-"
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Koniec súboru pred koncom hlavičiek Vorbis."
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Poškodené alebo chýbajúce dáta, pokračuje sa..."
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "Č. stopy"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Názov/interpret stopy"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "Číslo súboru"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "Pridať umiestnenie"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Typ(y) značiek"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Vložený cue"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Vybrať všetky"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Chyba pri zapisovaní toku na výstup. Výstupný tok môže byť poškodený alebo "
-"orezaný."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Upraviť stĺpec"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Výstupné zariadenie:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Výstupný zásuvný modul:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Uložiť predvoľby"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Prekonať"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Načítať predvoľby"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Výstupný zásuvný modul:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Zapísať APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Zapísať ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Zapísať ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Zapisovať značiek"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "Pridať zvukové CD"
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Uložiť zoznam stôp ako"
+
+#~ msgid "_Abort"
+#~ msgstr "_Zrušiť"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>UPOZORNENIE</b>: zapisovanie značiek je zatiaľ vlastnosť vo vývoji.\n"
+#~ "<b>Urobte si zálohy</b> predtým, než ju budete používať."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Dĺžka"
+
+#, fuzzy
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Konverzia formátu (začína %):\n"
+#~ " [a] interpret, [t] názov, [b] album, [B] skupina, [C] skladateľ\n"
+#~ " [n] číslo stopy, [N] počet stôp,\n"
+#~ " [l] dĺžka, [y] rok, [g] žáner, [c] komentár,\n"
+#~ " [r] autorské práva, [f] názov súboru, [T] značky\n"
+#~ "Príklad: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Povoliť dynamické prepínanie vzorkovania"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Kvalita konverzie vzorkovania:"
+
+#~ msgid "Description:"
+#~ msgstr "Popis:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor(i):"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Webstránka:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Konverzia formátu (začína %):\n"
+#~ " [a] interpret, [t] názov, [b] album, [B] skupina, [C] skladateľ\n"
+#~ " [n] číslo stopy, [N] počet stôp,\n"
+#~ " [l] dĺžka, [y] rok, [g] žáner, [c] komentár,\n"
+#~ " [r] autorské práva, [f] názov súboru, [T] značky\n"
+#~ "Príklad: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Nastaviť %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Výstupný modul ALSA"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "Nepodarilo sa získať dosť pamäte na bufrovanie vstupu."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Chyba pri čítaní prvej stránky bitového toku Ogg."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Chyba pri čítaní prvého paketu hlavičky."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Nepodarilo sa získať dosť pamäte na registráciu sériového čísla toku."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Vstup je orezaný alebo prázdny."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Vstup nie je bitový tok Ogg."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Bitový tok Ogg neobsahuje dáta Vorbis."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "Koniec súboru pred rozpoznaním toku."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Bitový tok Ogg neobsahuje podporovaný typ dát."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Poškodená sekundárna hlavička-"
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Koniec súboru pred koncom hlavičiek Vorbis."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Poškodené alebo chýbajúce dáta, pokračuje sa..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Chyba pri zapisovaní toku na výstup. Výstupný tok môže byť poškodený "
+#~ "alebo orezaný."
#~ msgid "Sound (adv.)"
#~ msgstr "Zvuk (pokr.)"
diff --git a/po/sl.po b/po/sl.po
index 6a3e0da5..ebb551a7 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -1,1076 +1,1344 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Slovenian translation of deadbeef.
+# Copyright (C) 2011 - 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the deadbeef package.
+# Klemen Košir <klemen.kosir@gmx.com>, 2011 - 2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2011-02-14 14:57+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-01-22 22:12+0200\n"
"Last-Translator: Klemen <klemen.kosir@gmx.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
-"n%100==4 ? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
+"n%100==4 ? 3 : 0);;\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Podprte vrste zvoka"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Druge datoteke (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Vse datoteke (*.*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Odpri datoteko ..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Dodaj datoteko na seznam predvajanja ..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Dodaj mapo na seznam predvajanja ..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Sledi simbolnim povezavam"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Med branjem datoteke pomoči je prišlo do napake"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
-msgstr "Nalaganje datoteke pomoči ni uspelo"
+msgstr "Datoteke pomoči ni mogoče naložiti"
+
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:737
+#: ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Pomoč"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "O programu DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "Dnevnik sprememb programa DeaDBeeF %s"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "Prevajalci programa DeaDBeeF"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755
+#: ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Uredi seznam predvajanja"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758
+#: ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922
+#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Naslov:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Preimenuj seznam predvajanja"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Odstrani seznam predvajanja"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Dodaj nov seznam predvajanja"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
-msgstr "Shrani prednastavljen izenačevalnik DeaDBeef"
+msgstr "Shrani predlogo nastavitev uravnalnika DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
-msgstr "Prednastavljene datoteke izenačevalnika DeaDBeeF (*.ddbeq)"
+msgstr "Predloge nastavitev uravnalnika DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
-msgstr "Naloži prednastavljen izenačevalnik DeaDBeeF ..."
+msgstr "Naloži predlogo nastavitev uravnalnika DeaDBeeF ..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
-msgstr "Prednastavljeni izenačevalniki DeaDBeeF (*.ddbeq)"
+msgstr "Predloge nastavitev uravnalnika DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
-msgstr "Uvozi prednastavljeni izenačevalnik Foobar2000 ..."
+msgstr "Uvozi predlogo nastavitev uravnalnika Foobar2000 ..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
-msgstr "Prednastavljeni izenačevalniki Foobar2000 (*.feq)"
+msgstr "Predloge nastavitev uravnalnika Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Shrani predlogo nastavitev"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Naloži predlogo nastavitev"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Uvozi predlogo nastavitev za Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
-msgstr "Omogoči"
+msgstr "Omogočeno"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
-msgstr "Vse vrednosti nič"
+msgstr "Ponastavi"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
-msgstr "Vrednosti predojačevalnika nič"
+msgstr "Ponastavi predojačevalnik"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
-msgstr "Vse frekvence nič"
+msgstr "Ponastavi pasove"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Shrani prednastavljene"
+#: ../plugins/gtkui/eq.c:387
+#: ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Predloge nastavitev"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Naloži prednastavljene"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Uvozi prednastavljene Foobar2000"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dan %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dni %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
-msgstr "Zaustavljeno | %d skladb | skupni čas predvajanja: %s"
+msgstr "Zaustavljeno | %d skladb | Skupni čas predvajanja: %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Premor | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid ""
-"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr ""
-"%s%s %s| %dHz | %d bitov | %s | %d:%02d / %s | %d skladb | skupni čas "
-"predvajanja: %s"
+msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr "%s%s %s| %d Hz | %d bitov | %s | %d:%02d / %s | %d skladb | Skupni čas predvajanja: %s"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Shrani seznam predvajanja kot"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
-msgstr "Datoteke seznama predvajanja DeaDBeeF (*dbpl)"
+msgstr "Seznami predvajanja DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Naloži seznam predvajanja"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Druge datoteke (*.*)"
+
+#: ../plugins/gtkui/gtkui.c:926
+#: ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nov seznam predvajanja"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nov seznam predvajanja (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150
+#: ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Datoteka"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157
+#: ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Odpri datoteko"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173
+#: ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Dodaj datoteko"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181
+#: ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Dodaj mapo"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189
+#: ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Dodaj mesto"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198
+#: ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nov seznam predvajanja"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205
+#: ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Naloži seznam predvajanja"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209
+#: ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Shrani seznam predvajanja"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Shrani seznam predvajanja kot"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218
+#: ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Končaj"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229
+#: ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
-msgstr "Ur_edi"
+msgstr "_Uredi"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236
+#: ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
-msgstr "Po_čisti"
+msgstr "_Počisti"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244
+#: ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Izberi vse"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251
+#: ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
-msgstr "Odstrani izbiro"
+msgstr "Prekliči izbor"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258
+#: ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
-msgstr "Obrni izbiro"
+msgstr "Obrni izbor"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262
+#: ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
-msgstr "Izbira"
+msgstr "Izbor"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269
+#: ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323
+#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Odstrani"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277
+#: ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Obreži"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281
+#: ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Najdi"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288
+#: ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Razvrsti po"
+
+#: ../plugins/gtkui/interface.c:295
+#: ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318
+#: ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393
+#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790
+#: ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Naslov"
+
+#: ../plugins/gtkui/interface.c:299
+#: ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Številka skladbe"
+
+#: ../plugins/gtkui/interface.c:303
+#: ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875
+#: ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307
+#: ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013
+#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Izvajalec"
+
+#: ../plugins/gtkui/interface.c:311
+#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Datum"
+
+#: ../plugins/gtkui/interface.c:315
+#: ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017
+#: ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Po meri"
+
+#: ../plugins/gtkui/interface.c:324
+#: ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Možnosti"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328
+#: ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Pogled"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335
+#: ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Vrstica stanja"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339
+#: ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Glave stolpcev"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343
+#: ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Zavihki"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347
+#: ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
-msgstr "Izenačevalnik"
+msgstr "Uravnalnik"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351
+#: ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
-msgstr "_Predvajanje"
+msgstr "Pre_dvajanje"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358
+#: ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Vrstni red"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365
+#: ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Zaporedno"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "Premešaj"
+#: ../plugins/gtkui/interface.c:370
+#: ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Premešaj skladbe"
+
+#: ../plugins/gtkui/interface.c:375
+#: ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Premešaj albume"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380
+#: ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Naključno"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386
+#: ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Ponavljanje"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393
+#: ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
-msgstr "Ponovi vse"
+msgstr "Ponavljaj vse skladbe"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398
+#: ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
-msgstr "Ponovi eno skladbo"
+msgstr "Ponavljaj eno skladbo"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403
+#: ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
-msgstr "Ne ponavljaj"
+msgstr "Brez ponavljanja"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409
+#: ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Drsnik sledi predvajanju"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414
+#: ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
-msgstr "Kazalec sledi predvajanju"
+msgstr "Kazalnik sledi predvajanju"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418
+#: ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Zaustavi po trenutni skladbi"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430
+#: ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "Skoči na trenutno skladbo"
+
+#: ../plugins/gtkui/interface.c:437
+#: ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "Pomo_č"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452
+#: ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "Dnevnik _sprememb"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461
+#: ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465
+#: ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474
+#: ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_O programu"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482
+#: ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "_Prevajalci"
+
+#: ../plugins/gtkui/interface.c:898
+#: ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Iskanje"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973
+#: ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Zaustavi"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981
+#: ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Predvajaj"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989
+#: ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Premor"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997
+#: ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
-msgstr "Prejšnja"
+msgstr "Predhodna"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005
+#: ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Naslednja"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013
+#: ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Predvajaj naključno"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022
+#: ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "O programu"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035
+#: ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Končaj"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Dodajanje datotek ..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Prekini"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225
+#: ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Lastnosti skladbe"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>OPOZORILO:</b> zapisovanje oznak je še vedno v razvoju.\n"
-"Pred uporabo <b>ustvarite varnostne kopije</b>."
+#: ../plugins/gtkui/interface.c:1270
+#: ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Nastavitve"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296
+#: ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
-msgstr "Uvelj_avi"
+msgstr "_Uveljavi"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317
+#: ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Zapri"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321
+#: ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metapodatki"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367
+#: ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Lastnosti"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Naslov:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494
+#: ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
-msgstr "Vnesite novo ime stolpca"
+msgstr "Vnesite ime novega stolpca"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502
+#: ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Vrsta:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Številka datoteke"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "Številka skladbe"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511
+#: ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Predvajanje"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Naslovnica albuma"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Izvajalec - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Izvajalec"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Naslov"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517
+#: ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Trajanje"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Skladba"
+#: ../plugins/gtkui/interface.c:1518
+#: ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Št. skladbe"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519
+#: ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Skupina / Izvajalec albuma"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Po meri"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526
+#: ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Oblika:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551
+#: ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Poravnava:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Levo"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Desno"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Oblika (začnite z %):\n"
-" izv[a]jalec, [t] - naslov, al[b]um, [B] - skupina, [C] - skladatelj,\n"
-" [n] - št. skladbe, skup[N]o število skladb,\n"
-" [l] - trajanje, [y] - leto, [g] - zvrst, [c] - opomba,\n"
-" avto[r]ske pravice, [f] - ime datoteke, [F] - polna pot do datoteke,\n"
-" [T] - oznake, [d] - mapa, polna pot [D]o mape\n"
-"Primer: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583
+#: ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065
+#: ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Prekliči"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604
+#: ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086
+#: ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_V redu"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825
+#: ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Izhodni vstavek:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838
+#: ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Izhodna naprava:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847
+#: ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Vedno pretvori 8-bitni zvok v 16-bitnega"
+
+#: ../plugins/gtkui/interface.c:1851
+#: ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Zvok"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Dovoli dinamično preklapljanje hitrosti vzorčenja"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Kvaliteta pretvarjanja hitrosti vzorčenja:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864
+#: ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
-msgstr "Način ojačanja predvajanja:"
+msgstr "ReplayGain:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Onemogočeno"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Skladba"
+
+#: ../plugins/gtkui/interface.c:1877
+#: ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
-msgstr "Vrh ojačanja predvajanja"
+msgstr "Prilagajanje vrha ReplayGain"
+
+#: ../plugins/gtkui/interface.c:1892
+#: ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902
+#: ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906
+#: ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Predojačanje ReplayGain:"
+
+#: ../plugins/gtkui/interface.c:1913
+#: ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Splošno predojačanje:"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1944
+#: ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr ""
-"Dodaj datoteke iz ukazne vrstice (ali upravljalnika datotek) v ta "
-"predvajalnik:"
+msgstr "Datoteke privzeto dodaj na ta seznam predvajanja:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953
+#: ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Ob zagonu nadaljuj prejšnjo sejo"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957
+#: ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Med dodajanjem map ne dodaj datotek iz arhivov"
+
+#: ../plugins/gtkui/interface.c:1961
+#: ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Predvajanje"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982
+#: ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Nastavitve"
+
+#: ../plugins/gtkui/interface.c:2017
+#: ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Predloga nastavitev verige DSP"
+
+#: ../plugins/gtkui/interface.c:2029
+#: ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Naloži"
+
+#: ../plugins/gtkui/interface.c:2033
+#: ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042
+#: ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Ob zaprtju skrči v sistemsko vrstico"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046
+#: ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
-msgstr "Srednji gumb zapre seznam predvajanja"
+msgstr "Srednji miškin gumb zapre seznam predvajanja"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050
+#: ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Skrij ikono sistemske vrstice"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054
+#: ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Uporabi krepko pisavo za trenutno predvajano skladbo"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058
+#: ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
-msgstr "Skrij možnost \"Izbriši z diska\" iz vsebinskega menija"
+msgstr "Skrij možnost »Izbriši z diska«"
+
+#: ../plugins/gtkui/interface.c:2062
+#: ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Samodejno poimenuj seznam prevajanja, ko je dodana le ena mapa"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2070
+#: ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Hitrost osveževanja vmesnika:"
+
+#: ../plugins/gtkui/interface.c:2084
+#: ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Besedilo nazivne vrstice med predvajanjem:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098
+#: ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Besedilo nazivne vrstice, ko je predvajanje zaustavljeno:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112
+#: ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Vstavek vmesnika (zahteva ponovni zagon):"
+
+#: ../plugins/gtkui/interface.c:2120
+#: ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Vmesnik"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135
+#: ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
-msgstr "Prepiši"
+msgstr "Omogoči"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144
+#: ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
-msgstr "Ospredje"
+msgstr "Barva"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151
+#: ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Ozadje"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170
+#: ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
-msgstr "Barva vrstice iskanja/nadzora glasnosti"
+msgstr "Barva vrstice iskanja/glasnosti"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188
+#: ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
-msgstr "Sredina"
+msgstr "Ozadje"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195
+#: ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
-msgstr "Svetlo"
+msgstr "1. obroba"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202
+#: ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
-msgstr "Temno"
+msgstr "2. obroba"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233
+#: ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
-msgstr "Osnovno"
+msgstr "Osnova"
+
+#: ../plugins/gtkui/interface.c:2240
+#: ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Besedilo"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2253
+#: ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Barva zavihkov"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262
+#: ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Prepiši (izgubi temo GTK, vendar pospeši izrisovanje)"
+msgstr "Omogoči (prepiše temo GTK+, vendar pospeši izrisovanje)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271
+#: ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Soda vrstica"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278
+#: ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Liha vrstica"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Besedilo"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304
+#: ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Izbrana vrstica"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323
+#: ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Izbrano besedilo"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336
+#: ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
-msgstr "Kazalec"
+msgstr "Kazalnik"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349
+#: ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Barva seznama predvajanja"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353
+#: ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Barve"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362
+#: ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Omogoči posredniški strežnik"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370
+#: ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
-msgstr "Naslov posredniškega strežnika:"
+msgstr "Naslov:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384
+#: ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
-msgstr "Vrata posredniškega strežnika:"
+msgstr "Vrata:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398
+#: ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
-msgstr "Vrsta posredniškega strežnika:"
+msgstr "Vrsta:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417
+#: ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Uporabniško ime:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430
+#: ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Geslo:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440
+#: ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Omrežje"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471
+#: ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Različica: "
+
+#: ../plugins/gtkui/interface.c:2535
+#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Avtorske pravice"
+
+#: ../plugins/gtkui/interface.c:2545
+#: ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Vstavki"
+
+#: ../plugins/gtkui/interface.c:3033
+#: ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135
+#: ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Združi po"
+
+#: ../plugins/gtkui/interface.c:3259
+#: ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Razvrsti po ..."
+
+#: ../plugins/gtkui/interface.c:3275
+#: ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Oblika"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "Naraščajoče"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "Padajoče"
+
+#: ../plugins/gtkui/interface.c:3359
+#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Izberite vstavek DSP"
+
+#: ../plugins/gtkui/interface.c:3375
+#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016
+#: ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Vstavek"
+
+#: ../plugins/gtkui/interface.c:3461
+#: ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Nastavitve zapisovalnika oznak"
+
+#: ../plugins/gtkui/interface.c:3492
+#: ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Zapiši ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496
+#: ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Zapiši ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500
+#: ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619
+#: ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Zapiši APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508
+#: ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Odstrani ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512
+#: ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Odstrani ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516
+#: ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631
+#: ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Odstrani APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524
+#: ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Različica ID3v2"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (priporočeno)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538
+#: ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Kodiranje znakov ID3v1 (privzeto je iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575
+#: ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Zapiši ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Označevanje"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Opis:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Avtor(ji):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Splet. stran:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Nastavi"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Vstavki"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Združi po"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Oblika (začnite z %):\n"
-" izv[a]jalec, [t] - naslov, al[b]um, [B] - skupina, [C] - skladatelj,\n"
-" [n] - št. skladbe, skup[N]o število skladb,\n"
-" [l] - trajanje, [y] - leto, [g] - zvrst, [c] - opomba,\n"
-" avto[r]ske pravice, [f] - ime datoteke, [T] - oznake\n"
-"Primer: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316
+#: ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Izvajalec / Album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317
+#: ../plugins/gtkui/search.c:392
msgid "Track No"
-msgstr "Skladba št."
-
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Naslov / Izvajalec skladbe"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Trajanje"
+msgstr "Št. skladbe"
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Izbriši datoteke z diska"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
-msgstr ""
-"Datoteke bodo izgubljene. Ali nadaljujem?\n"
-"(To pogovorno okno lahko izključite v nastavitvah vstavka GTKUI)"
+msgstr "Ali ste prepričani, da želite izbrisati datoteke iz diska?"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340
+#: ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693
+#: ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Opozorilo"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Dodaj na seznam predvajanja"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Odstrani s seznama predvajanja"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Ponovno naloži metapodatke"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Odstrani z diska"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855
+#: ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Dodaj stolpec"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885
+#: ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Uredi stolpec"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Odstrani stolpec"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Združi po"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
-msgstr "Brez"
+msgstr "Ne združi"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
-msgstr "Izvajalec/datum/album"
+msgstr "Izvajalec/Datum/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Odpri datoteko ..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Nastavi %s"
+msgid "Configure %s"
+msgstr "%s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
-msgstr "Privzeta avdio naprava"
+msgstr "Privzeta zvočna naprava"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318
+#: ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Dodaj"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
-msgstr "Splošne bližnjice"
+msgstr "Bližnjice"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Dejanje"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Bližnjica"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "Izhodni vstavek ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Dodajanje datotek ..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Začenjanje ..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Spremenili ste podatke te skladbe."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Ali res želite zapreti to okno?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Vrsta oznake"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Vstavljen Cuesheet"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Da"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Več vrednosti] "
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Ne"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Kodek"
-
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407
+#: ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Ključ"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408
+#: ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Vrednost"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF predvaja skladbo"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Zapisovanje oznak ..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Ime:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Imena polj se ne smejo začeti z »:« ali »_«"
+
+#: ../plugins/gtkui/trkproperties.c:634
+#: ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Polja ni mogoče dodati"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Polje s tem imenom že obstaja."
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Ali res želite odstraniti izbrano polje?"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Dodaj polje"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Odstrani polje"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Uporaba: deadbeef [možnosti] [datoteka]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Možnosti:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr " --help ali -h Prikaže pomoč (to sporočilo)\n"
+msgstr " --help ali -h Izpiše pomoč (to sporočilo).\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
-msgstr " --quit Konča predvajalnik\n"
+msgstr " --quit Konča predvajalnik.\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
-msgstr " --version Prikaže podatke o različici\n"
+msgstr " --version Izpiše podatke o različici.\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
-msgstr " --play Začne predvajanje\n"
+msgstr " --play Začne predvajanje.\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
-msgstr " --stop Zaustavi predvajanje\n"
+msgstr " --stop Zaustavi predvajanje.\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
-msgstr " --pause Prekini predvajanje\n"
+msgstr " --pause Prekine predvajanje.\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause Začne/prekine predvajanje\n"
+
+#: ../main.c:100
+#, c-format
+msgid " --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Začne predvajanje, če je zaustavljeno, v nasprotnem primeru ga prekine.\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
-msgstr " --next Naslednja skladba s seznama predvajanja\n"
+msgstr " --next Naslednja skladba s seznama predvajanja.\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
-msgstr " --prev Prejšnja skladba s seznama predvajanja\n"
+msgstr " --prev Predhodna skladba s seznama predvajanja.\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
-msgstr " --random Naključna skladba s seznama predvajanja\n"
+msgstr " --random Naključna skladba s seznama predvajanja.\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
-msgstr " --queue Pripne datoteko na seznam predvajanja\n"
+msgstr " --queue Pripne datoteko na seznam predvajanja.\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
-msgstr " --nowplaying OBLIKA Prikaže oblikovano ime skladbe\n"
+msgstr " --nowplaying OBLIKA Izpiše oblikovano ime trenutno predvajane skladbe.\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
msgstr ""
-" OBLIKA (začnite z %%): izv[a]jalec, [t] - naslov, "
-"al[b]um,\n"
-" [l] - trajanje, [n] - št. skladbe, [y] - leto, [c] - "
-"opomba,\n"
-" avto[r]ske pravice, pr[e]tečen čas\n"
+" OBLIKA (začnite z %%): izv[a]jalec, [t] - naslov, al[b]um,\n"
+" [l] - trajanje, [n] - številka skladbe, [y] - leto,\n"
+" [c] - opomba, avto[r]ske pravice, pr[e]tečen čas\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid ""
-" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
-"- title\"\n"
-msgstr " npr.: --nowplaying \"%%a - %%t\" izpiše \"izvajalec - "
-"naslov\"\n"
+msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
+msgstr " npr.: --nowplaying »%%a - %%t« izpiše »izvajalec - naslov«\n"
+
+#: ../main.c:110
+#, c-format
+msgid " for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " Za več podatkov si oglejte http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../playlist.c:454
+#: ../playlist.c:2398
msgid "Default"
msgstr "Privzeto"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Da"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ne"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1078,31 +1346,39 @@ msgstr ""
"2.3 (priporočeno)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"Naraščajoče\n"
+"Padajoče"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-"Onemogoči\n"
+"Onemogočeno\n"
"Skladba\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"Številka datoteke\n"
+"Številka skladbe\n"
"Predvajanje\n"
"Naslovnica albuma\n"
"Izvajalec - Album\n"
@@ -1110,11 +1386,11 @@ msgstr ""
"Album\n"
"Naslov\n"
"Trajanje\n"
-"Skladba\n"
+"Številka skladbe\n"
"Skupina / Izvajalec albuma\n"
"Po meri"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1122,72 +1398,537 @@ msgstr ""
"Levo\n"
"Desno"
-#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90
+#: ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90
+#: ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Večbitne sličice ni mogoče najti: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Ni dovolj pomnilnika za medpomnenje vhoda."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
+msgstr "wildmidi: Nastavitvene datoteke freepats ni mogoče najti. Prosimo, namestite paket timidity-freepats ali navedite pot to datoteke »freepats.cfg« v nastavitvah vstavkov."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Dodaj zvočni CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "Najdi na Last.fm"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "Uporabi prevzorčenje ALSA"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Sprosti napravo, če je predvajanje zaustavljeno"
+
+#: ../translation/extra.c:8
+#: ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "Prednostna velikost medpomnilnika"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "Prednostna velikost obdobja"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "Omogoči pošiljanje zgodovine predvajanja"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "Onemogoči pošiljanje podatkov o trenutni skladbi"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Uporabniško ime"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Geslo"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Naslov URL"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Datoteka naprave"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Začasna rešitev napake v hitrosti vzorčenja za OSS4"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "Hitrost osveževanja predpomnilnika (v urah)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "Pridobi iz oznak"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "Pridobi iz krajevne mape"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "Maska datotek z naslovnicami"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "Pridobi z Last.fm"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "Pridobi z Albumart.org"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Prilagodi velikost naslovnice daljši stranici"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "Uporabi CDDB/FreeDB"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "Uporabi CD-Text namesto CDDB"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "Naslov CDDB (npr. »freedb.org«)"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "Številka vrat CDDB (npr. »888«)"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "Uporabi protokol CDDB namesto HTTP"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "Omogoči podporo za odtise NRG"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "Kakovost prevzorčenja (0 ... 2, večje je boljše)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "Največja dolžina skladbe (v minutah)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Vprašaj pred brisanjem datotek z diska"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "Občutljivost ikone za nadzor glasnosti"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "Ikona stanja po meri"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "Zaženi gtk_init z možnostjo --sync (način razhroščevanja)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Dodaj ločilnike med predmete vstavkov v vsebinskem meniju"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Oblika naziva obvestila"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Oblika vsebine obvestila"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Pokaži naslovnico albuma"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Velikost naslovnice albuma (v slik. točkah)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "Strežnik PulseAudio"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "Hitrost vzorčenja"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "Relativna pot do razpredelnice iskalnih vrednosti"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "Absolutna pot do razpredelnice iskalnih vrednosti"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "Zamenjaj zvočne bajte (izberite, če slišite statiko)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Omogoči podatkovno zbirko dolžin pesmi HVSC"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Bitov na vzorec (8 ali 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Privzeta dolžina skladbe (v sekundah)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Nastavitvena datoteka za Timidity++"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Naslov skladbe"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Izvajalec"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Napaka med branjem prve strani bitnega pretoka Ogg."
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "Število skladb"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Napaka med branjem začetnega paketa glave."
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Zvrst"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Ni dovolj pomnilnika za vpis serijske številke novega pretoka."
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Skladatelj"
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Vhod prirezan ali prazen."
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Številka diska"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Vhod ni bitni pretok Ogg."
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Opomba"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Bitni pretok Ogg ne vsebuje podatkov Vorbis."
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "Kodirnik"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Konec datoteke pred prepoznanim pretokom."
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Mesto"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Bitni pretok Ogg ne vsebuje podprte vrste podatkov."
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Številka podskladbe"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Drugotna glava je pokvarjena."
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Vrsta oznake"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Konec datoteke pred glavami Vorbis."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Vgrajena predloga podatkov"
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Pokvarjeni ali manjkajoči podatki, nadaljevanje ..."
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Kodek"
-#: ../plugins/vorbis/vcedit.c:874
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Pripone datotek (ločene s »;«)"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Pretvori"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Ciljna hitrost vzorčenja"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Kakovost / Algoritem"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "Samodejna hitrost vzorčenja (prepiše ciljno hitrost vzorčenja)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Datoteka že obstaja. Ali jo želite prepisati?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Opozorilo pretvornika"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Prosimo, izberite kodirnik"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Napaka pretvornika"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Pretvarjanje ..."
+
+#: ../plugins/converter/convgui.c:394
+#: ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Izberite mapo ..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Predloge nastavitev kodirnika ni mogoče shraniti"
+
+#: ../plugins/converter/convgui.c:637
+#: ../plugins/converter/convgui.c:1035
+msgid "Check preset folder permissions, try to pick different title, or free up some disk space"
+msgstr ""
+"Preverite dovoljenja mape predloge nastavitev, izberite drugo ime ali "
+"sprostite nekaj prostora na disku."
+
+#: ../plugins/converter/convgui.c:637
+#: ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "Predloga nastavitev s tem imenom že obstaja."
+
+#: ../plugins/converter/convgui.c:638
+#: ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Napaka"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Dodaj nov kodirnik"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Uredi kodirnik"
+
+#: ../plugins/converter/convgui.c:756
+#: ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Odstrani predlogo nastavitev"
+
+#: ../plugins/converter/convgui.c:758
+#: ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Ali ste prepričani, da želite izbrisati izbrano predlogo nastavitev?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Kodirniki"
+
+#: ../plugins/converter/convgui.c:838
+#: ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Dodaj vstavek v verigo DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Predloge nastavitev DSP ni mogoče shraniti."
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Nova predloga nastavitev DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Uredi predlogo nastavitev DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Predloge nastavitev DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Izhodna mapa:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Ime izhodne datoteke:"
+
+#: ../plugins/converter/interface.c:126
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
msgstr ""
-"Napaka med zapisovanjem pretoka v izhod. Izhodni pretok je pokvarjen ali "
-"prirezan."
+"Pripona (npr. mp3) bo pripeta samodejno.\n"
+"Za privzeto vrednost (%a - %t) pustite polje prazno."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Kodirnik:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Predloga nastavitev DSP:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Število niti:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Oblika izhodnega vzorca:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Ohrani izvirno obliko"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8-bitno predznačeno celo število"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16-bitno predznačeno celo število"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24-bitno predznačeno celo število"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32-bitno predznačeno celo število"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32-bitna plavajoča vejica"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Če datoteka že obstaja:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Vprašaj"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Prepiši"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Ohrani zgradbo map, začni z:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Uredi predlogo nastavitev kodirnika"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Neimenovan kodirnik"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Pripona izhodne datoteke:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Na primer: mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Ukazna vrstica:"
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
msgstr ""
-"wildmidi: nastavitvene datoteke freepats ni mogoče najti. Prosimo, namestite "
-"paket timidity-freepats ali pa navedite pot to datoteke freepats.cfg v "
-"nastavitvah vstavkov."
+"Zgled: lame - %o\n"
+"%i = vhodna datoteka, %o = izhodna datoteka, - = standardni vhod"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - ime izhodne datoteke\n"
+"%i - začasno ime vhodne datoteke</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Način:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Cevovod"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Začasna datoteka"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "Ogg Vorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Zapisovalnik oznak</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Urejevalnik predlog nastavitev DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Neimenovana predloga nastavitev DSP"
diff --git a/po/sr.po b/po/sr.po
index e358baca..eda4bcfa 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DeaDBeeF 0.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-18 04:40+0000\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-11-18 14:52+0100\n"
"Last-Translator: Jay A. Fleming <tito.nehru.naser@gmail.com>\n"
"Language-Team: \n"
@@ -15,1003 +15,918 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Подржане звучне датотеке"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Остале датотеке (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Отвори датотеку(е)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Додај датотеке у листу..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Додај директоријуме у листу..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Прати меке везе (symlinks)"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Неуспело читање датотеке помоћи"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Неуспело отварање датотеке помоћи"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
#, fuzzy
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693
-#: ../plugins/gtkui/interface.c:1099
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Помоћ"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "O DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s — Дневник измена"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "DeaDBeeF преводиоци"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Уреди листу"
-#: ../plugins/gtkui/ddbtabstrip.c:675
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Наслов:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Преименуј листу"
-#: ../plugins/gtkui/ddbtabstrip.c:679
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Уклони листу"
-#: ../plugins/gtkui/ddbtabstrip.c:683
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Додај нову листу"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Сачувај подешавања еквилајзера"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Датотеке са подешавањима еквилајзера (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Учитавање подешавања еквилајзера..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Подешавања еквилајзера (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Увоз Foobar2000 подешавања еквилајзера..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Подешавања еквилајзера - Foobar2000(*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Учитај подешавања"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Увоз Foobar2000 подешавања"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Омогући"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "На нулу све"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Претпојачало на нулу"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Подручја на нулу"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Сачувај подешавања"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Учитај подешавања"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Увоз Foobar2000 подешавања"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 дан %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d дана %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Заустављено | %d песама | %s укупно време свирања"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Моно"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Стерео"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d кбпс "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Паузирано | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %d херца | %d бита | %s | %d:%02d / %s | %d песама | %s укупно време свирања"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %d херца | %d бита | %s | %d:%02d / %s | %d песама | %s укупно "
+"време свирања"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Сачувај листу као..."
-#: ../plugins/gtkui/gtkui.c:670
-#: ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Датотека са листом (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Учитај листу"
-#: ../plugins/gtkui/gtkui.c:865
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Остале датотеке (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Нова листа"
-#: ../plugins/gtkui/gtkui.c:868
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Нова листа (%d)"
-#: ../plugins/gtkui/interface.c:142
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Датотека"
-#: ../plugins/gtkui/interface.c:149
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Отвори датотеку(е)"
-#: ../plugins/gtkui/interface.c:165
-#: ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Додај датотеку(е)"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Додај директоријум(е)"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/interface.c:2973
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Додај место"
-#: ../plugins/gtkui/interface.c:190
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Нова листа"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Учитај листу"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Сачувај листу"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Сачувај листу као..."
-
-#: ../plugins/gtkui/interface.c:214
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Излаз"
-#: ../plugins/gtkui/interface.c:225
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Уређивање"
-#: ../plugins/gtkui/interface.c:232
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "О_чисти"
-#: ../plugins/gtkui/interface.c:240
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Изабери све"
-#: ../plugins/gtkui/interface.c:247
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Поништи избор"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Обрни избор"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Избор"
-#: ../plugins/gtkui/interface.c:265
-#: ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Уклони"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Одсеци"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Тражи"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/interface.c:1707
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Наслов"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Број песме"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Албум"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Извођач"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Датум"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Прилагођено"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Подешавања"
-#: ../plugins/gtkui/interface.c:293
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "П_реглед"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Статусна трака"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Колона заглавља"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Листови"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Еквилајзер"
-#: ../plugins/gtkui/interface.c:316
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "Ре_продукција"
-#: ../plugins/gtkui/interface.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Редослед"
-#: ../plugins/gtkui/interface.c:330
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Линијски"
-#: ../plugins/gtkui/interface.c:336
-#: ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
msgstr "Насумично"
-#: ../plugins/gtkui/interface.c:342
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
+msgstr "Насумично"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Случајно"
-#: ../plugins/gtkui/interface.c:348
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Понављање"
-#: ../plugins/gtkui/interface.c:355
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Понови све"
-#: ../plugins/gtkui/interface.c:361
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Понављај песму"
-#: ../plugins/gtkui/interface.c:367
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Не понављај"
-#: ../plugins/gtkui/interface.c:373
-#: ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Клизач прати репродукцију песама"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Показивач прати репродукцију песама"
-#: ../plugins/gtkui/interface.c:382
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Заустави после тренутне песме"
-#: ../plugins/gtkui/interface.c:394
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Иди на песму која се репродукује"
-#: ../plugins/gtkui/interface.c:401
-#: ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Помоћ"
-#: ../plugins/gtkui/interface.c:416
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "Дневник и_змена"
-#: ../plugins/gtkui/interface.c:425
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438
-#: ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "О прогр_аму"
-#: ../plugins/gtkui/interface.c:446
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Преводиоци"
-#: ../plugins/gtkui/interface.c:836
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Тражи"
-#: ../plugins/gtkui/interface.c:911
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Заустави"
-#: ../plugins/gtkui/interface.c:919
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Пусти"
-#: ../plugins/gtkui/interface.c:927
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Паузирај"
-#: ../plugins/gtkui/interface.c:935
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Претходна"
-#: ../plugins/gtkui/interface.c:943
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Наредна"
-#: ../plugins/gtkui/interface.c:951
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Пусти насумично"
-#: ../plugins/gtkui/interface.c:960
-#: ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "О програму"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Излаз"
-#: ../plugins/gtkui/interface.c:1041
-#: ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Додавање датотека..."
-
-#: ../plugins/gtkui/interface.c:1163
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Особине песме"
-#: ../plugins/gtkui/interface.c:1209
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "С_ачувај промене"
-#: ../plugins/gtkui/interface.c:1230
-#: ../plugins/gtkui/interface.c:1276
-#: ../plugins/gtkui/interface.c:2501
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Затвори"
-#: ../plugins/gtkui/interface.c:1234
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Подаци о песми"
-#: ../plugins/gtkui/interface.c:1280
-#: ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Особине"
-#: ../plugins/gtkui/interface.c:1365
-#: ../plugins/gtkui/deadbeef.glade.h:162
-#, fuzzy
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1380
-#: ../plugins/gtkui/interface.c:2873
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Наслов:"
-
-#: ../plugins/gtkui/interface.c:1388
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Унесите име за нову колону овде"
-#: ../plugins/gtkui/interface.c:1396
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Врста:"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1510
#, fuzzy
msgid "Item Index"
msgstr "Индекс нумера"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1405
-#: ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Репродукује се"
-#: ../plugins/gtkui/interface.c:1406
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Омотнице албума"
-#: ../plugins/gtkui/interface.c:1407
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Извођач — Албум"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1408
-#: ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Извођач"
-
-#: ../plugins/gtkui/interface.c:1409
-#: ../plugins/gtkui/interface.c:1797
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Албум"
-
-#: ../plugins/gtkui/interface.c:1410
-#: ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Наслов"
-
-#: ../plugins/gtkui/interface.c:1411
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Трајање"
-#: ../plugins/gtkui/interface.c:1412
-#: ../plugins/gtkui/interface.c:1796
-msgid "Track"
-msgstr "Песма"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Број песме"
-#: ../plugins/gtkui/interface.c:1413
-#: ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Група / Извођач"
-#: ../plugins/gtkui/interface.c:1414
-#: ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Прилагођено"
-
-#: ../plugins/gtkui/interface.c:1420
-#: ../plugins/gtkui/interface.c:3100
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Формат:"
-#: ../plugins/gtkui/interface.c:1435
-#: ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Поравнање:"
-#: ../plugins/gtkui/interface.c:1443
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Лево"
-#: ../plugins/gtkui/interface.c:1444
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Десно"
-#: ../plugins/gtkui/interface.c:1446
-#: ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Претварања формата (започните са %):\n"
-" извођ[a]ч, [t]-наслов, [b]-албум, [B]-група,\n"
-" [C]-композитор, [n]-број песме, [N]-укупно песама,\n"
-" [l]-трајање, [y]-година, [g]-жанр, [c]-примедба,\n"
-" [r]-ауторска права, [f]-датотека, [T]-ознке\n"
-"На пример: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1475
-#: ../plugins/gtkui/interface.c:2904
-#: ../plugins/gtkui/interface.c:3016
-#: ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Поништи"
-#: ../plugins/gtkui/interface.c:1496
-#: ../plugins/gtkui/interface.c:2925
-#: ../plugins/gtkui/interface.c:3037
-#: ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_У реду"
-#: ../plugins/gtkui/interface.c:1728
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Излазни додаци:"
-#: ../plugins/gtkui/interface.c:1741
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Излазни уређај"
-#: ../plugins/gtkui/interface.c:1750
-#: ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Звук"
-#: ../plugins/gtkui/interface.c:1759
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Дозволи динамичко пребацивање фреквенције узорковања"
-
-#: ../plugins/gtkui/interface.c:1767
-#: ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Квалитет претварања фреквенције узорковања"
-
-#: ../plugins/gtkui/interface.c:1786
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Replaygain мод:"
-#: ../plugins/gtkui/interface.c:1795
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Онемогући"
-#: ../plugins/gtkui/interface.c:1799
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Песма"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Replaygain скала вршних вредности"
-#: ../plugins/gtkui/interface.c:1807
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Replaygain мод:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Додај датотеке из линије за наредбе или управника датотека у ову листу:"
+msgstr ""
+"Додај датотеке из линије за наредбе или управника датотека у ову листу:"
-#: ../plugins/gtkui/interface.c:1816
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Врати претходну сесију при покретању"
-#: ../plugins/gtkui/interface.c:1820
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Репродукција"
-#: ../plugins/gtkui/interface.c:1829
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Подеси"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Код клика на затвори смести у обавештајну зону"
-#: ../plugins/gtkui/interface.c:1833
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Средње дугме миша затвара листу"
-#: ../plugins/gtkui/interface.c:1837
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Не приказуј икону у обавештајној зони"
-#: ../plugins/gtkui/interface.c:1841
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Користи задебљан фонт за песму која се репродукује"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Сакриј ставке \"Обриши са диска\" у менију"
-#: ../plugins/gtkui/interface.c:1853
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "При репродукцији, испиши на насловној линији: "
-#: ../plugins/gtkui/interface.c:1867
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "По заустављеној репродукцији, испиши на насловној линији: "
-#: ../plugins/gtkui/interface.c:1877
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Графичке контроле"
-#: ../plugins/gtkui/interface.c:1892
-#: ../plugins/gtkui/interface.c:1936
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Замени подразумевано"
-#: ../plugins/gtkui/interface.c:1901
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Боја текста"
-#: ../plugins/gtkui/interface.c:1908
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Позадина"
-#: ../plugins/gtkui/interface.c:1927
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Траке за премотавање/гласноћу"
-#: ../plugins/gtkui/interface.c:1945
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Средње"
-#: ../plugins/gtkui/interface.c:1952
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Светло"
-#: ../plugins/gtkui/interface.c:1959
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Тамно"
-#: ../plugins/gtkui/interface.c:1990
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Основа"
-#: ../plugins/gtkui/interface.c:1997
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Текст"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Боје одвајања листова"
-#: ../plugins/gtkui/interface.c:2006
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Замени подразумевано (губе се ГТК теме погледа стабла, али се добија бржи приказ)"
+msgstr ""
+"Замени подразумевано (губе се ГТК теме погледа стабла, али се добија бржи "
+"приказ)"
-#: ../plugins/gtkui/interface.c:2015
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Паран ред"
-#: ../plugins/gtkui/interface.c:2022
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr " Непаран ред"
-#: ../plugins/gtkui/interface.c:2041
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Текст"
-
-#: ../plugins/gtkui/interface.c:2048
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Одабран ред"
-#: ../plugins/gtkui/interface.c:2067
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Одабран текст"
-#: ../plugins/gtkui/interface.c:2080
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Показивач"
-#: ../plugins/gtkui/interface.c:2093
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Боје листе"
-#: ../plugins/gtkui/interface.c:2097
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Боје"
-#: ../plugins/gtkui/interface.c:2106
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Омогући прокси сервер"
-#: ../plugins/gtkui/interface.c:2114
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Адреса прокси сервера:"
-#: ../plugins/gtkui/interface.c:2128
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Порт прокси сервера:"
-#: ../plugins/gtkui/interface.c:2142
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Тип проксија:"
-#: ../plugins/gtkui/interface.c:2161
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Прокси корисничко име:"
-#: ../plugins/gtkui/interface.c:2174
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Прокси лозинка:"
-#: ../plugins/gtkui/interface.c:2184
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Мрежа"
-#: ../plugins/gtkui/interface.c:2212
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Ауторска права"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Додаци"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Групиши по"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Формат:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Избор"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Додаци"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Писач ознака"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Уписуј ID3v2"
-#: ../plugins/gtkui/interface.c:2216
-#: ../plugins/gtkui/interface.c:2343
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Уписуј ID3v1"
-#: ../plugins/gtkui/interface.c:2220
-#: ../plugins/gtkui/interface.c:2299
-#: ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Уписуј APEv2"
-#: ../plugins/gtkui/interface.c:2228
-#: ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Уклони ID3v2"
-#: ../plugins/gtkui/interface.c:2232
-#: ../plugins/gtkui/interface.c:2355
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Уклони ID3v1"
-#: ../plugins/gtkui/interface.c:2236
-#: ../plugins/gtkui/interface.c:2311
-#: ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Уклони APEv2"
-#: ../plugins/gtkui/interface.c:2244
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 верзија"
-#: ../plugins/gtkui/interface.c:2251
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Препоручено)"
-#: ../plugins/gtkui/interface.c:2252
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2258
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 кодирање знакова (подразумевано је iso8859-1)"
-#: ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Уписуј ID3v2.4"
-#: ../plugins/gtkui/interface.c:2364
-#: ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Писач ознака"
-
-#: ../plugins/gtkui/interface.c:2395
-#: ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Опис:"
-
-#: ../plugins/gtkui/interface.c:2410
-#: ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Аутор(и):"
-
-#: ../plugins/gtkui/interface.c:2425
-#: ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Е-пошта:"
-
-#: ../plugins/gtkui/interface.c:2440
-#: ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Интернет адреса:"
-
-#: ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Подеси"
-
-#: ../plugins/gtkui/interface.c:2475
-#: ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Додаци"
-
-#: ../plugins/gtkui/interface.c:2857
-#: ../plugins/gtkui/deadbeef.glade.h:163
-#, fuzzy
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2984
-#: ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3085
-#: ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Групиши по"
-
-#: ../plugins/gtkui/interface.c:3110
-#: ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Претварања формата (започните са %):\n"
-" извођ[a]ч, [t]-наслов, [b]-албум, [B]-група,\n"
-" [C]-композитор, [n]-број песме, [N]-укупно песама,\n"
-" [l]-трајање, [y]-година, [g]-жанр, [c]-примедба,\n"
-" [r]-ауторска права, [f]-датотека, [T]-ознке\n"
-"На пример: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306
-#: ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Извођач / Албум"
-#: ../plugins/gtkui/mainplaylist.c:307
-#: ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Број песме"
-#: ../plugins/gtkui/mainplaylist.c:308
-#: ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Наслов / Извођач песме"
-
-#: ../plugins/gtkui/mainplaylist.c:309
-#: ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Трајање"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Обриши датотеке са диска"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1019,209 +934,222 @@ msgstr ""
"Дадотеке ће бити обрисане. Да ли сте сигурни?\n"
"(Овај дијалог може да се искључи у подешавањима додатка GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Упозорење"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Додај у заказано"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Уклони из заказаног"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Поново учитај податке о песми"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Уклони са диска"
-#: ../plugins/gtkui/plcommon.c:720
-#: ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Додај колону"
-#: ../plugins/gtkui/plcommon.c:750
-#: ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Уреди колону"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Уклони колону"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Групиши по"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Поништи груписање"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Извођач/Датум/Албум"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Отвори датотеку..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Подешавање %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Подеси"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Подразумевани звучни уређај"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Додај"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Опште пречице"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Наредба"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Комбинација тастера"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481
-#: ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA излазни додатак"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Додавање датотека..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Иницијализација..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Изменили сте податке за ову песму."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Желите ли заиста да затворите овај прозор?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Додај место"
-
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Тип(ови) ознаке"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Кључ"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Угњеждени Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Вредност"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Да"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Не"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Кодек"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Кључ"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Вредност"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "Сада се репродукује"
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Желите ли заиста да затворите овај прозор?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Додај датотеку(е)"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Уклони"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Употреба: deadbeef [опције] [датотека(е)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Опције:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help или -h Прикажи ову помоћ и изађи\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Напусти плејер\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Прикажи инфо о верзији и изађи\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Репродукуј\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Заустави репродукцију\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Паузирај репродукцију\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Наредна песма из листе\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Претходна песма из листе\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Насумично песма из листе\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Додај датотеку(е) у постојећу листу\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Испиши уређено име песме на стд. излаз\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1232,17 +1160,35 @@ msgstr ""
" [l]-трајање, [n]-бр.песме, [y]-година, [c]-примедба,\n"
" [r]-ауторска права, [e]преостало време\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " Н.пр.: --nowplaying \"%%a - %%t\" ће исписати \"Извођач - Наслов\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" Н.пр.: --nowplaying \"%%a - %%t\" ће исписати "
+"\"Извођач - Наслов\"\n"
-#: ../playlist.c:378
-#: ../playlist.c:2302
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Подразумевано"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Да"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Не"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1250,7 +1196,13 @@ msgstr ""
"2.3 (Препоручено)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1260,7 +1212,8 @@ msgstr ""
"Песма\n"
"Албум"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
"Item Index\n"
"Playing\n"
@@ -1269,8 +1222,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1286,7 +1239,7 @@ msgstr ""
"Група / Извођач\n"
"Прилагођено"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1294,16 +1247,21 @@ msgstr ""
"Лево\n"
"Десно"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Не могу пронаћи датотеку са битмапираном сликом: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: \"freepats\" датотека са подешавањима није пронађена. Инсталирајте \"timidity-freepats\" програм или подесите путању до датотеке \"freepats.cfg\"."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: \"freepats\" датотека са подешавањима није пронађена. Инсталирајте "
+"\"timidity-freepats\" програм или подесите путању до датотеке \"freepats.cfg"
+"\"."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1324,8 +1282,7 @@ msgstr "Користи ALSA претварања фреквенције узор
msgid "Release device while stopped"
msgstr "Ослободи уређај након завршене репродукције"
-#: ../translation/extra.c:8
-#: ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Најрадије користи бафер величине"
@@ -1354,167 +1311,565 @@ msgstr "Лозинка"
msgid "Scrobble URL"
msgstr "Адреса за скроблер"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Период освежавања привремене меморије (часова)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Преузми из уграђених ознака"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Преузми из локалних директоријума"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Име датотека садржи речи"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Преузми са Last.fm страница"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Преузми са albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Користи CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Користи ЦД-текст, ако је доступан"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB адреса (нпр. 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Ослушкуј CDDB на порту (нпр. '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Најрадије користи CDDB протокол"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Укључи подршку за NRG слике"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Квалитет промене фреквенције узорковања (0..2, више је боље)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Најдуже трајање песме (минута)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Захтевај дозволу за брисање датотека са диска"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Осетљивост контроле гласноће преко иконе стања"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Прилагођена икона стања"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Покрени \"gtk_init\" са \"--sync\" (режим отклањања грешака)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
+#: ../translation/extra.c:45
+#, fuzzy
+msgid "Notification title format"
+msgstr "Облик обавештавања"
+
+#: ../translation/extra.c:46
+#, fuzzy
+msgid "Notification content format"
msgstr "Облик обавештавања"
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Омотнице албума"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "PulseAudio звучни сервер"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Фреквенција узорковања (Samplerate)"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Релативна путања за претраживање"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Потпуна путања за претраживање"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Замени аудио-бајт редослед (искључити ако не чујете нормалан звук)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
+#: ../translation/extra.c:58
+#, fuzzy
+msgid "Enable HVSC Songlength DB"
msgstr "Омогући HVSC"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Путања за HVSC"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+#, fuzzy
+msgid "Default song length (sec)"
+msgstr "Најдуже трајање песме (минута)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Подешавања за Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Наслов песме"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Извођач"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Датум"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Број песме"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Укупно песмама"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Жанр"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Композитор"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Број диска"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Напомена"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Енкодер / Испоручилац"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Ауторска права"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Додај место"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Тип(ови) ознаке"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Угњеждени Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Кодек"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+#, fuzzy
+msgid "Target Samplerate"
+msgstr "Фреквенција узорковања (Samplerate)"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Изабери све"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Уреди колону"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Излазни уређај"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Излазни додаци:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Сачувај подешавања"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Замени подразумевано"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Учитај подешавања"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Излазни додаци:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Уписуј APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Уписуј ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Уписуј ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Писач ознака"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Сачувај листу као..."
+
+#, fuzzy
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Трајање"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Претварања формата (започните са %):\n"
+#~ " извођ[a]ч, [t]-наслов, [b]-албум, [B]-група,\n"
+#~ " [C]-композитор, [n]-број песме, [N]-укупно песама,\n"
+#~ " [l]-трајање, [y]-година, [g]-жанр, [c]-примедба,\n"
+#~ " [r]-ауторска права, [f]-датотека, [T]-ознке\n"
+#~ "На пример: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Дозволи динамичко пребацивање фреквенције узорковања"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Квалитет претварања фреквенције узорковања"
+
+#~ msgid "Description:"
+#~ msgstr "Опис:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Аутор(и):"
+
+#~ msgid "Email:"
+#~ msgstr "Е-пошта:"
+
+#~ msgid "Website:"
+#~ msgstr "Интернет адреса:"
+
+#, fuzzy
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Претварања формата (започните са %):\n"
+#~ " извођ[a]ч, [t]-наслов, [b]-албум, [B]-група,\n"
+#~ " [C]-композитор, [n]-број песме, [N]-укупно песама,\n"
+#~ " [l]-трајање, [y]-година, [g]-жанр, [c]-примедба,\n"
+#~ " [r]-ауторска права, [f]-датотека, [T]-ознке\n"
+#~ "На пример: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Наслов / Извођач песме"
+
+#~ msgid "Setup %s"
+#~ msgstr "Подешавање %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA излазни додатак"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "Сада се репродукује"
+
+#~ msgid "HVSC path"
+#~ msgstr "Путања за HVSC"
#~ msgid "_Abort"
#~ msgstr "Одуст_ани"
diff --git a/po/sr@latin.po b/po/sr@latin.po
index 37071fdc..58450a4f 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DeaDBeeF 0.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-18 04:40+0000\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-11-18 14:52+0100\n"
"Last-Translator: Jay A. Fleming <tito.nehru.naser@gmail.com>\n"
"Language-Team: \n"
@@ -15,1003 +15,918 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Podržane zvučne datoteke"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Ostale datoteke (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Otvori datoteku(e)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Dodaj datoteke u listu..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Dodaj direktorijume u listu..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Prati meke veze (symlinks)"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Neuspelo čitanje datoteke pomoći"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Neuspelo otvaranje datoteke pomoći"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
#, fuzzy
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693
-#: ../plugins/gtkui/interface.c:1099
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Pomoć"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "O DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s — Dnevnik izmena"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "DeaDBeeF prevodioci"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Uredi listu"
-#: ../plugins/gtkui/ddbtabstrip.c:675
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Naslov:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Preimenuj listu"
-#: ../plugins/gtkui/ddbtabstrip.c:679
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Ukloni listu"
-#: ../plugins/gtkui/ddbtabstrip.c:683
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Dodaj novu listu"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Sačuvaj podešavanja ekvilajzera"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Datoteke sa podešavanjima ekvilajzera (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Učitavanje podešavanja ekvilajzera..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Podešavanja ekvilajzera (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Uvoz Foobar2000 podešavanja ekvilajzera..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Podešavanja ekvilajzera - Foobar2000(*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Učitaj podešavanja"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Uvoz Foobar2000 podešavanja"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Omogući"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Na nulu sve"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Pretpojačalo na nulu"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Područja na nulu"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Sačuvaj podešavanja"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Učitaj podešavanja"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Uvoz Foobar2000 podešavanja"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dan %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dana %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Zaustavljeno | %d pesama | %s ukupno vreme sviranja"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pauzirano | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %d herca | %d bita | %s | %d:%02d / %s | %d pesama | %s ukupno vreme sviranja"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %d herca | %d bita | %s | %d:%02d / %s | %d pesama | %s ukupno "
+"vreme sviranja"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Sačuvaj listu kao..."
-#: ../plugins/gtkui/gtkui.c:670
-#: ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Datoteka sa listom (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Učitaj listu"
-#: ../plugins/gtkui/gtkui.c:865
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Ostale datoteke (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Nova lista"
-#: ../plugins/gtkui/gtkui.c:868
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Nova lista (%d)"
-#: ../plugins/gtkui/interface.c:142
-#: ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Datoteka"
-#: ../plugins/gtkui/interface.c:149
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Otvori datoteku(e)"
-#: ../plugins/gtkui/interface.c:165
-#: ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Dodaj datoteku(e)"
-#: ../plugins/gtkui/interface.c:173
-#: ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Dodaj direktorijum(e)"
-#: ../plugins/gtkui/interface.c:181
-#: ../plugins/gtkui/interface.c:2973
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Dodaj mesto"
-#: ../plugins/gtkui/interface.c:190
-#: ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Nova lista"
-#: ../plugins/gtkui/interface.c:197
-#: ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Učitaj listu"
-#: ../plugins/gtkui/interface.c:201
-#: ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Sačuvaj listu"
-#: ../plugins/gtkui/interface.c:205
-#: ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Sačuvaj listu kao..."
-
-#: ../plugins/gtkui/interface.c:214
-#: ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Izlaz"
-#: ../plugins/gtkui/interface.c:225
-#: ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Uređivanje"
-#: ../plugins/gtkui/interface.c:232
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "O_čisti"
-#: ../plugins/gtkui/interface.c:240
-#: ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Izaberi sve"
-#: ../plugins/gtkui/interface.c:247
-#: ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Poništi izbor"
-#: ../plugins/gtkui/interface.c:254
-#: ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Obrni izbor"
-#: ../plugins/gtkui/interface.c:258
-#: ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Izbor"
-#: ../plugins/gtkui/interface.c:265
-#: ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334
-#: ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Ukloni"
-#: ../plugins/gtkui/interface.c:273
-#: ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Odseci"
-#: ../plugins/gtkui/interface.c:277
-#: ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Traži"
-#: ../plugins/gtkui/interface.c:289
-#: ../plugins/gtkui/interface.c:1707
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Naslov"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Broj pesme"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Izvođač"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Datum"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Prilagođeno"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Podešavanja"
-#: ../plugins/gtkui/interface.c:293
-#: ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "P_regled"
-#: ../plugins/gtkui/interface.c:300
-#: ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Statusna traka"
-#: ../plugins/gtkui/interface.c:304
-#: ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Kolona zaglavlja"
-#: ../plugins/gtkui/interface.c:308
-#: ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Listovi"
-#: ../plugins/gtkui/interface.c:312
-#: ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ekvilajzer"
-#: ../plugins/gtkui/interface.c:316
-#: ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "Re_produkcija"
-#: ../plugins/gtkui/interface.c:323
-#: ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Redosled"
-#: ../plugins/gtkui/interface.c:330
-#: ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linijski"
-#: ../plugins/gtkui/interface.c:336
-#: ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
msgstr "Nasumično"
-#: ../plugins/gtkui/interface.c:342
-#: ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
+msgstr "Nasumično"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Slučajno"
-#: ../plugins/gtkui/interface.c:348
-#: ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Ponavljanje"
-#: ../plugins/gtkui/interface.c:355
-#: ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Ponovi sve"
-#: ../plugins/gtkui/interface.c:361
-#: ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Ponavljaj pesmu"
-#: ../plugins/gtkui/interface.c:367
-#: ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Ne ponavljaj"
-#: ../plugins/gtkui/interface.c:373
-#: ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Klizač prati reprodukciju pesama"
-#: ../plugins/gtkui/interface.c:378
-#: ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Pokazivač prati reprodukciju pesama"
-#: ../plugins/gtkui/interface.c:382
-#: ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Zaustavi posle trenutne pesme"
-#: ../plugins/gtkui/interface.c:394
-#: ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Idi na pesmu koja se reprodukuje"
-#: ../plugins/gtkui/interface.c:401
-#: ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Pomoć"
-#: ../plugins/gtkui/interface.c:416
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "Dnevnik i_zmena"
-#: ../plugins/gtkui/interface.c:425
-#: ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438
-#: ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "O progr_amu"
-#: ../plugins/gtkui/interface.c:446
-#: ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Prevodioci"
-#: ../plugins/gtkui/interface.c:836
-#: ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Traži"
-#: ../plugins/gtkui/interface.c:911
-#: ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Zaustavi"
-#: ../plugins/gtkui/interface.c:919
-#: ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Pusti"
-#: ../plugins/gtkui/interface.c:927
-#: ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Pauziraj"
-#: ../plugins/gtkui/interface.c:935
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Prethodna"
-#: ../plugins/gtkui/interface.c:943
-#: ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Naredna"
-#: ../plugins/gtkui/interface.c:951
-#: ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Pusti nasumično"
-#: ../plugins/gtkui/interface.c:960
-#: ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "O programu"
-#: ../plugins/gtkui/interface.c:973
-#: ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Izlaz"
-#: ../plugins/gtkui/interface.c:1041
-#: ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Dodavanje datoteka..."
-
-#: ../plugins/gtkui/interface.c:1163
-#: ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Osobine pesme"
-#: ../plugins/gtkui/interface.c:1209
-#: ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "S_ačuvaj promene"
-#: ../plugins/gtkui/interface.c:1230
-#: ../plugins/gtkui/interface.c:1276
-#: ../plugins/gtkui/interface.c:2501
-#: ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Zatvori"
-#: ../plugins/gtkui/interface.c:1234
-#: ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Podaci o pesmi"
-#: ../plugins/gtkui/interface.c:1280
-#: ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Osobine"
-#: ../plugins/gtkui/interface.c:1365
-#: ../plugins/gtkui/deadbeef.glade.h:162
-#, fuzzy
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1380
-#: ../plugins/gtkui/interface.c:2873
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Naslov:"
-
-#: ../plugins/gtkui/interface.c:1388
-#: ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Unesite ime za novu kolonu ovde"
-#: ../plugins/gtkui/interface.c:1396
-#: ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Vrsta:"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1510
#, fuzzy
msgid "Item Index"
msgstr "Indeks numera"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1405
-#: ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Reprodukuje se"
-#: ../plugins/gtkui/interface.c:1406
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Omotnice albuma"
-#: ../plugins/gtkui/interface.c:1407
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Izvođač — Album"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1408
-#: ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Izvođač"
-
-#: ../plugins/gtkui/interface.c:1409
-#: ../plugins/gtkui/interface.c:1797
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1410
-#: ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Naslov"
-
-#: ../plugins/gtkui/interface.c:1411
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Trajanje"
-#: ../plugins/gtkui/interface.c:1412
-#: ../plugins/gtkui/interface.c:1796
-msgid "Track"
-msgstr "Pesma"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Broj pesme"
-#: ../plugins/gtkui/interface.c:1413
-#: ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Grupa / Izvođač"
-#: ../plugins/gtkui/interface.c:1414
-#: ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Prilagođeno"
-
-#: ../plugins/gtkui/interface.c:1420
-#: ../plugins/gtkui/interface.c:3100
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1435
-#: ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Poravnanje:"
-#: ../plugins/gtkui/interface.c:1443
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Levo"
-#: ../plugins/gtkui/interface.c:1444
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Desno"
-#: ../plugins/gtkui/interface.c:1446
-#: ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Pretvaranja formata (započnite sa %):\n"
-" izvođ[a]č, [t]-naslov, [b]-album, [B]-grupa,\n"
-" [C]-kompozitor, [n]-broj pesme, [N]-ukupno pesama,\n"
-" [l]-trajanje, [y]-godina, [g]-žanr, [c]-primedba,\n"
-" [r]-autorska prava, [f]-datoteka, [T]-oznke\n"
-"Na primer: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1475
-#: ../plugins/gtkui/interface.c:2904
-#: ../plugins/gtkui/interface.c:3016
-#: ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Poništi"
-#: ../plugins/gtkui/interface.c:1496
-#: ../plugins/gtkui/interface.c:2925
-#: ../plugins/gtkui/interface.c:3037
-#: ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_U redu"
-#: ../plugins/gtkui/interface.c:1728
-#: ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Izlazni dodaci:"
-#: ../plugins/gtkui/interface.c:1741
-#: ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Izlazni uređaj"
-#: ../plugins/gtkui/interface.c:1750
-#: ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Zvuk"
-#: ../plugins/gtkui/interface.c:1759
-#: ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Dozvoli dinamičko prebacivanje frekvencije uzorkovanja"
-
-#: ../plugins/gtkui/interface.c:1767
-#: ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Kvalitet pretvaranja frekvencije uzorkovanja"
-
-#: ../plugins/gtkui/interface.c:1786
-#: ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Replaygain mod:"
-#: ../plugins/gtkui/interface.c:1795
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Onemogući"
-#: ../plugins/gtkui/interface.c:1799
-#: ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Pesma"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Replaygain skala vršnih vrednosti"
-#: ../plugins/gtkui/interface.c:1807
-#: ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Replaygain mod:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Dodaj datoteke iz linije za naredbe ili upravnika datoteka u ovu listu:"
+msgstr ""
+"Dodaj datoteke iz linije za naredbe ili upravnika datoteka u ovu listu:"
-#: ../plugins/gtkui/interface.c:1816
-#: ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Vrati prethodnu sesiju pri pokretanju"
-#: ../plugins/gtkui/interface.c:1820
-#: ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Reprodukcija"
-#: ../plugins/gtkui/interface.c:1829
-#: ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Podesi"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Kod klika na zatvori smesti u obaveštajnu zonu"
-#: ../plugins/gtkui/interface.c:1833
-#: ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Srednje dugme miša zatvara listu"
-#: ../plugins/gtkui/interface.c:1837
-#: ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Ne prikazuj ikonu u obaveštajnoj zoni"
-#: ../plugins/gtkui/interface.c:1841
-#: ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Koristi zadebljan font za pesmu koja se reprodukuje"
-#: ../plugins/gtkui/interface.c:1845
-#: ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Sakrij stavke \"Obriši sa diska\" u meniju"
-#: ../plugins/gtkui/interface.c:1853
-#: ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Pri reprodukciji, ispiši na naslovnoj liniji: "
-#: ../plugins/gtkui/interface.c:1867
-#: ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Po zaustavljenoj reprodukciji, ispiši na naslovnoj liniji: "
-#: ../plugins/gtkui/interface.c:1877
-#: ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "Grafičke kontrole"
-#: ../plugins/gtkui/interface.c:1892
-#: ../plugins/gtkui/interface.c:1936
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Zameni podrazumevano"
-#: ../plugins/gtkui/interface.c:1901
-#: ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Boja teksta"
-#: ../plugins/gtkui/interface.c:1908
-#: ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Pozadina"
-#: ../plugins/gtkui/interface.c:1927
-#: ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Trake za premotavanje/glasnoću"
-#: ../plugins/gtkui/interface.c:1945
-#: ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Srednje"
-#: ../plugins/gtkui/interface.c:1952
-#: ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Svetlo"
-#: ../plugins/gtkui/interface.c:1959
-#: ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Tamno"
-#: ../plugins/gtkui/interface.c:1990
-#: ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Osnova"
-#: ../plugins/gtkui/interface.c:1997
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Tekst"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Boje odvajanja listova"
-#: ../plugins/gtkui/interface.c:2006
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Zameni podrazumevano (gube se GTK teme pogleda stabla, ali se dobija brži prikaz)"
+msgstr ""
+"Zameni podrazumevano (gube se GTK teme pogleda stabla, ali se dobija brži "
+"prikaz)"
-#: ../plugins/gtkui/interface.c:2015
-#: ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Paran red"
-#: ../plugins/gtkui/interface.c:2022
-#: ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr " Neparan red"
-#: ../plugins/gtkui/interface.c:2041
-#: ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Tekst"
-
-#: ../plugins/gtkui/interface.c:2048
-#: ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Odabran red"
-#: ../plugins/gtkui/interface.c:2067
-#: ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Odabran tekst"
-#: ../plugins/gtkui/interface.c:2080
-#: ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Pokazivač"
-#: ../plugins/gtkui/interface.c:2093
-#: ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Boje liste"
-#: ../plugins/gtkui/interface.c:2097
-#: ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Boje"
-#: ../plugins/gtkui/interface.c:2106
-#: ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Omogući proksi server"
-#: ../plugins/gtkui/interface.c:2114
-#: ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adresa proksi servera:"
-#: ../plugins/gtkui/interface.c:2128
-#: ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port proksi servera:"
-#: ../plugins/gtkui/interface.c:2142
-#: ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Tip proksija:"
-#: ../plugins/gtkui/interface.c:2161
-#: ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Proksi korisničko ime:"
-#: ../plugins/gtkui/interface.c:2174
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Proksi lozinka:"
-#: ../plugins/gtkui/interface.c:2184
-#: ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Mreža"
-#: ../plugins/gtkui/interface.c:2212
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Autorska prava"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Dodaci"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Grupiši po"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Format:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Izbor"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Dodaci"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Pisač oznaka"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Upisuj ID3v2"
-#: ../plugins/gtkui/interface.c:2216
-#: ../plugins/gtkui/interface.c:2343
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Upisuj ID3v1"
-#: ../plugins/gtkui/interface.c:2220
-#: ../plugins/gtkui/interface.c:2299
-#: ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Upisuj APEv2"
-#: ../plugins/gtkui/interface.c:2228
-#: ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Ukloni ID3v2"
-#: ../plugins/gtkui/interface.c:2232
-#: ../plugins/gtkui/interface.c:2355
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Ukloni ID3v1"
-#: ../plugins/gtkui/interface.c:2236
-#: ../plugins/gtkui/interface.c:2311
-#: ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Ukloni APEv2"
-#: ../plugins/gtkui/interface.c:2244
-#: ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 verzija"
-#: ../plugins/gtkui/interface.c:2251
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Preporučeno)"
-#: ../plugins/gtkui/interface.c:2252
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2258
-#: ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 kodiranje znakova (podrazumevano je iso8859-1)"
-#: ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Upisuj ID3v2.4"
-#: ../plugins/gtkui/interface.c:2364
-#: ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Pisač oznaka"
-
-#: ../plugins/gtkui/interface.c:2395
-#: ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Opis:"
-
-#: ../plugins/gtkui/interface.c:2410
-#: ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Autor(i):"
-
-#: ../plugins/gtkui/interface.c:2425
-#: ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "E-pošta:"
-
-#: ../plugins/gtkui/interface.c:2440
-#: ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Internet adresa:"
-
-#: ../plugins/gtkui/interface.c:2471
-#: ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Podesi"
-
-#: ../plugins/gtkui/interface.c:2475
-#: ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Dodaci"
-
-#: ../plugins/gtkui/interface.c:2857
-#: ../plugins/gtkui/deadbeef.glade.h:163
-#, fuzzy
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2984
-#: ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3085
-#: ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Grupiši po"
-
-#: ../plugins/gtkui/interface.c:3110
-#: ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Pretvaranja formata (započnite sa %):\n"
-" izvođ[a]č, [t]-naslov, [b]-album, [B]-grupa,\n"
-" [C]-kompozitor, [n]-broj pesme, [N]-ukupno pesama,\n"
-" [l]-trajanje, [y]-godina, [g]-žanr, [c]-primedba,\n"
-" [r]-autorska prava, [f]-datoteka, [T]-oznke\n"
-"Na primer: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306
-#: ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Izvođač / Album"
-#: ../plugins/gtkui/mainplaylist.c:307
-#: ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Broj pesme"
-#: ../plugins/gtkui/mainplaylist.c:308
-#: ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Naslov / Izvođač pesme"
-
-#: ../plugins/gtkui/mainplaylist.c:309
-#: ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Trajanje"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Obriši datoteke sa diska"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -1019,209 +934,222 @@ msgstr ""
"Dadoteke će biti obrisane. Da li ste sigurni?\n"
"(Ovaj dijalog može da se isključi u podešavanjima dodatka GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326
-#: ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Upozorenje"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Dodaj u zakazano"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Ukloni iz zakazanog"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Ponovo učitaj podatke o pesmi"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Ukloni sa diska"
-#: ../plugins/gtkui/plcommon.c:720
-#: ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Dodaj kolonu"
-#: ../plugins/gtkui/plcommon.c:750
-#: ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Uredi kolonu"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Ukloni kolonu"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Grupiši po"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Poništi grupisanje"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Izvođač/Datum/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Otvori datoteku..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Podešavanje %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Podesi"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Podrazumevani zvučni uređaj"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Dodaj"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Opšte prečice"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Naredba"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Kombinacija tastera"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481
-#: ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA izlazni dodatak"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Dodavanje datoteka..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Inicijalizacija..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Izmenili ste podatke za ovu pesmu."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Želite li zaista da zatvorite ovaj prozor?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Dodaj mesto"
-
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tip(ovi) oznake"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Ključ"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Ugnježdeni Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Vrednost"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Da"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Ne"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Kodek"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250
-#: ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Ključ"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251
-#: ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Vrednost"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "Sada se reprodukuje"
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Želite li zaista da zatvorite ovaj prozor?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Dodaj datoteku(e)"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Ukloni"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Upotreba: deadbeef [opcije] [datoteka(e)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Opcije:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help ili -h Prikaži ovu pomoć i izađi\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Napusti plejer\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Prikaži info o verziji i izađi\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Reprodukuj\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Zaustavi reprodukciju\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pauziraj reprodukciju\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Naredna pesma iz liste\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Prethodna pesma iz liste\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Nasumično pesma iz liste\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Dodaj datoteku(e) u postojeću listu\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Ispiši uređeno ime pesme na std. izlaz\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1232,17 +1160,35 @@ msgstr ""
" [l]-trajanje, [n]-br.pesme, [y]-godina, [c]-primedba,\n"
" [r]-autorska prava, [e]preostalo vreme\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " N.pr.: --nowplaying \"%%a - %%t\" će ispisati \"Izvođač - Naslov\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" N.pr.: --nowplaying \"%%a - %%t\" će ispisati "
+"\"Izvođač - Naslov\"\n"
-#: ../playlist.c:378
-#: ../playlist.c:2302
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Podrazumevano"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Da"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ne"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1250,7 +1196,13 @@ msgstr ""
"2.3 (Preporučeno)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1260,7 +1212,8 @@ msgstr ""
"Pesma\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
"Item Index\n"
"Playing\n"
@@ -1269,8 +1222,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1286,7 +1239,7 @@ msgstr ""
"Grupa / Izvođač\n"
"Prilagođeno"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1294,16 +1247,21 @@ msgstr ""
"Levo\n"
"Desno"
-#: ../plugins/gtkui/support.c:90
-#: ../plugins/gtkui/support.c:114
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Ne mogu pronaći datoteku sa bitmapiranom slikom: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: \"freepats\" datoteka sa podešavanjima nije pronađena. Instalirajte \"timidity-freepats\" program ili podesite putanju do datoteke \"freepats.cfg\"."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: \"freepats\" datoteka sa podešavanjima nije pronađena. "
+"Instalirajte \"timidity-freepats\" program ili podesite putanju do datoteke "
+"\"freepats.cfg\"."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1324,8 +1282,7 @@ msgstr "Koristi ALSA pretvaranja frekvencije uzorkovanja"
msgid "Release device while stopped"
msgstr "Oslobodi uređaj nakon završene reprodukcije"
-#: ../translation/extra.c:8
-#: ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Najradije koristi bafer veličine"
@@ -1354,167 +1311,565 @@ msgstr "Lozinka"
msgid "Scrobble URL"
msgstr "Adresa za skrobler"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Period osvežavanja privremene memorije (časova)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Preuzmi iz ugrađenih oznaka"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Preuzmi iz lokalnih direktorijuma"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Ime datoteka sadrži reči"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Preuzmi sa Last.fm stranica"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Preuzmi sa albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Koristi CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Koristi CD-tekst, ako je dostupan"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB adresa (npr. 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Osluškuj CDDB na portu (npr. '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Najradije koristi CDDB protokol"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Uključi podršku za NRG slike"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Kvalitet promene frekvencije uzorkovanja (0..2, više je bolje)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Najduže trajanje pesme (minuta)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Zahtevaj dozvolu za brisanje datoteka sa diska"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Osetljivost kontrole glasnoće preko ikone stanja"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Prilagođena ikona stanja"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Pokreni \"gtk_init\" sa \"--sync\" (režim otklanjanja grešaka)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
+#: ../translation/extra.c:45
+#, fuzzy
+msgid "Notification title format"
+msgstr "Oblik obaveštavanja"
+
+#: ../translation/extra.c:46
+#, fuzzy
+msgid "Notification content format"
msgstr "Oblik obaveštavanja"
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Omotnice albuma"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "PulseAudio zvučni server"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Frekvencija uzorkovanja (Samplerate)"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Relativna putanja za pretraživanje"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Potpuna putanja za pretraživanje"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Zameni audio-bajt redosled (isključiti ako ne čujete normalan zvuk)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
+#: ../translation/extra.c:58
+#, fuzzy
+msgid "Enable HVSC Songlength DB"
msgstr "Omogući HVSC"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Putanja za HVSC"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+#, fuzzy
+msgid "Default song length (sec)"
+msgstr "Najduže trajanje pesme (minuta)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Podešavanja za Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Naslov pesme"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Izvođač"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Datum"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Broj pesme"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Ukupno pesmama"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Žanr"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Kompozitor"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Broj diska"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Napomena"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Enkoder / Isporučilac"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Autorska prava"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Dodaj mesto"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tip(ovi) oznake"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Ugnježdeni Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Kodek"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+#, fuzzy
+msgid "Target Samplerate"
+msgstr "Frekvencija uzorkovanja (Samplerate)"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Izaberi sve"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Uredi kolonu"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Izlazni uređaj"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Izlazni dodaci:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Sačuvaj podešavanja"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Zameni podrazumevano"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Učitaj podešavanja"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Izlazni dodaci:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Upisuj APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Upisuj ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Upisuj ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Pisač oznaka"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Sačuvaj listu kao..."
+
+#, fuzzy
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Trajanje"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Pretvaranja formata (započnite sa %):\n"
+#~ " izvođ[a]č, [t]-naslov, [b]-album, [B]-grupa,\n"
+#~ " [C]-kompozitor, [n]-broj pesme, [N]-ukupno pesama,\n"
+#~ " [l]-trajanje, [y]-godina, [g]-žanr, [c]-primedba,\n"
+#~ " [r]-autorska prava, [f]-datoteka, [T]-oznke\n"
+#~ "Na primer: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Dozvoli dinamičko prebacivanje frekvencije uzorkovanja"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Kvalitet pretvaranja frekvencije uzorkovanja"
+
+#~ msgid "Description:"
+#~ msgstr "Opis:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Autor(i):"
+
+#~ msgid "Email:"
+#~ msgstr "E-pošta:"
+
+#~ msgid "Website:"
+#~ msgstr "Internet adresa:"
+
+#, fuzzy
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Pretvaranja formata (započnite sa %):\n"
+#~ " izvođ[a]č, [t]-naslov, [b]-album, [B]-grupa,\n"
+#~ " [C]-kompozitor, [n]-broj pesme, [N]-ukupno pesama,\n"
+#~ " [l]-trajanje, [y]-godina, [g]-žanr, [c]-primedba,\n"
+#~ " [r]-autorska prava, [f]-datoteka, [T]-oznke\n"
+#~ "Na primer: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Naslov / Izvođač pesme"
+
+#~ msgid "Setup %s"
+#~ msgstr "Podešavanje %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA izlazni dodatak"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "Sada se reprodukuje"
+
+#~ msgid "HVSC path"
+#~ msgstr "Putanja za HVSC"
#~ msgid "_Abort"
#~ msgstr "Odust_ani"
diff --git a/po/sv.po b/po/sv.po
index 5bcca9ba..ddf1df91 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2010-09-28 02:25+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-03-07 14:11+0200\n"
"Last-Translator: Martin <brother@bsnet.se>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n"
@@ -18,843 +18,904 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Ljudformat som stöds"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Andra filer (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Alla filer (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Öppna fil(er)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Lägg till fil(er) till spellista..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Lägg till katalog(er) till spellista..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Följ symlänkar"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Misslyckades vid läsning av hjälpfil"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Kunde inte läsa hjälpfil"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Hjälp"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Om DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeadBeeF %s Ändrligslogg"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF översättare"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Redigera spellista"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Byt namn på spellista"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Ta bort spellista"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Lägg till ny spellista"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Spara DeaDBeeF:s Equalizer-inställningar"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Filer för DeaDBeeFs equalizer-inställningar (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Läs in equalizer-inställningar för DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeFs equalizer-inställningar (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Importera equalizer-inställningar för Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 equalizer-inställningar (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Spara inställningar"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Läs in inställningar"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Importera inställningar från Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Aktivera"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Nollställ alla"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Ingen förstärkning"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Nollställ band"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Spara inställningar"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Läs in inställningar"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Importera inställningar från Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Inställningar"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 dag %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d dagar %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Stoppad | %d spår | %s total speltid"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Pausad | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d spår | %s total speltid"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Spara spellista som"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF spellistfil (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Läs in spellista"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Andra filer (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Ny spellista"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Ny spellista (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Arkiv"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Öppna fil(er)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Lägg till fil(er)"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Lägg till katalog(er)"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Lägg till plats"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Ny spellista"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Läs in spellista"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Spara spellista"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Spara spellista som"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "A_vsluta"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Redigera"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "R_ensa"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Markera allt"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Avmarkera allt"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Invertera markering"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Markering"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Ta bort"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Beskär"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Sök"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Titel"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Spårnummer"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Artist"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Anpassad"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Egenskaper"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Visa"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Statusrad"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Kolumnhuvuden"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Flikar"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Equalizer"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Uppspelning"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Ordning"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Linjär"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "Blanda"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Blanda spår"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Blanda albm"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Slumpa"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Upprepning"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Upprepa alla"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Upprepa ett spår"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Upprepa inte"
# oerhört osäker på vad som egentligen menas här.
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Markering följer uppspelning"
# sjukt svårt att översätta utan kotext.
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Markering följer uppspelning"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Stanna efter nuvarande"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Hjälp"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Ändringslogg"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Om"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Sök"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Stopp"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Spela"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Paus"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Föregående"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Nästa"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Spela slumpad"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Om"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Avsluta"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Lägger till filer..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Avbryt"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Spåregenskaper"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>VARNING</b>: funktionen för att skriva taggar är fortfarande i "
-"utvecklingsfasen.\n"
-"<b>Gör säkerhetskopior</b> innan den används."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Verkställ"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Stäng"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Metadata"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Egenskaper"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Titel:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Ange ny kolumntitel här"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Typ:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Filnummer"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Spelar"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Albumillustration"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Artist - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Artist"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Titel"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Längd"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Spår"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Spårnummer"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Artist"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Anpassad"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Format:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Justering:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Vänster"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Höger"
-# sanslöst kass uppställning
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formateringskonventioner (börja med %):\n"
-" artist ([a]), titel ([t]), album ([b]), band ([B]), kompositör ([C])\n"
-" spårnummer ([n]), antal spår ([N]),\n"
-" längd ([l]), år ([y]), genre ([g]), kommentar ([c]),\n"
-" upphovsrätt ([r]), filnamn ([f]), komplett sökväg ([F]), taggar ([T])\n"
-" katalog ([d]), katalog med sökväg ([D])\n"
-"Exempel: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Avbryt"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_OK"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Instick för uppspelning:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Enhet för uppspelning:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Ljud"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "Tillåt att dynamisk samplingsnivå skiftar"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "Konverteringskvalité för samplingsnivå:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Läge för justering av uppspelningsvolym:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Avaktivera"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Spår"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Övre gräns för justering av uppspelningsvolym"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Läge för justering av förstärkning:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
"Lägg till filer från kommandoraden (eller filhanteraren) till den här "
"spellistan:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Återuppta föregående session vid uppstart"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Uppspelning"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Inställningar"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Inställningar för DSP-kedja"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Stäng minimerar till systembricka"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Klicka med musknappen i mitten för att stänga spellista"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Dölj ikon i systembrickan"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Använd fet stil för spåret som spelas"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Göm menyvalet \"radera från disk\""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Text i titelraden vid uppspelning:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Text u titelraden utan uppspelning:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Överbrygga"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Förgrund"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Bakgrund"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Färg på sök-/volym-fält"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Mitten"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Ljus"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Mörk"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Bas"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Text"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Färg för flikrad"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
"Överbrygga (GTK-baserat tema för trädvy försvinner men renderingen går "
"fortare)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Jämn rad"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Ojämn rad"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Text"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Markerad rad"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Markerad text"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Markör"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Spellistans färger"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Färger"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Aktivera proxyserver"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Adress för proxyserver:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Port för proxyserver:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Proxytyp:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Användarnamn för proxy:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Lösenord för proxy:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Nätverk"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Instick"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Gruppera efter"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Format"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Välj DSP-instick"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Instick"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Inställningar för tagg-skrivare"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Skriv ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Skriv ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Skriv APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Rensa ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Rensa ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Rensa APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 version"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Rekomenderad)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 teckenkodning (iso8859-1 är standard)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Skriv ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "Tagg-skrivare"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Beskrivning:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Författare:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "E-post:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Webbplats:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Inställningar"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "Instick"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Gruppera efter"
-
-# sanslöst kass uppställning
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Formateringsregler (börja med %):\n"
-" artist ([a]), titel ([t]), album ([b]), band ([B]), kompositör ([C])\n"
-" spårnummer ([n]), antal spår ([N]),\n"
-" längd ([l]), år ([y]), genre ([g]), kommentar ([c]),\n"
-" upphovs[r]ätt, [f]ilnamn, taggar ([T])\n"
-"Exempel: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Artist / Album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Spårnummer"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Titel / Artist för spåret"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Längd"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Radera filer från disk"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -862,197 +923,221 @@ msgstr ""
"Filer kommer att förloras. Fortsätta?\n"
"(Denna dialogruta kan stängas av i inställningarna för GTKUI-instick)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Varning"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Lägg till i uppspelningskön"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Ta bort från uppspelningskön"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Ladda om metadata"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Ta bort från disk"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Lägg till kolumn"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Redigera kolumn"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Ta bort kolumn"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Gruppera efter"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Ingen"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Artist/Datum/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Öppna fil..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Ställer in %s"
+msgid "Configure %s"
+msgstr "Inställningar för %s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Standardljudenhet"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Lägg till"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Globala snabbtangenter"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Utrymme"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Tangentkombination"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA-instick för utdata"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Lägger till filer..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Förbereder..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Du har ändrat data för detta spår."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Ska fönstret verkligen stängas?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Tagg-kategori(er)"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Inbäddat körschema"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Ja"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Nej"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Nyckel"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Värde"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF spelar"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Ska fältet verkligen tas bort?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Lägg till fält"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Ta bort fält"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Användning: deadbeef [flaggor] [fil(er)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Flaggor:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help eller -h Visa hjälp (detta meddelande) och avsluta\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Stäng spelare\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Skriv ut versionsinformation och avsluta\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Påbörja uppspelning\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Stoppa uppspelning\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pausa uppspelning\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Nästa spår i spellista\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Föregående spår i spellista\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Slumpa spår i spellista\n"
# existing => nuvarande? jag utgår ifrån att man avser listan som är aktiv i spelaren för tillfället.
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Lägg till fil(er) i nuvarande spellista\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Skriv formaterat spårnamn till standard ut\n"
# jag hatar dessa!
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1063,7 +1148,7 @@ msgstr ""
" längd (l), spårnummer (n), år (y), kommentar (c),\n"
" utgiven av (r), förfluten tid (e)\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1072,11 +1157,26 @@ msgstr ""
" e.x.: --nowplaying \"%%a - %%t\" bör visa \"artist - "
"titel\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Standard"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Ja"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Nej"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1084,7 +1184,13 @@ msgstr ""
"2.3 (rekomenderad)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1094,17 +1200,18 @@ msgstr ""
"Spår\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1120,7 +1227,7 @@ msgstr ""
"Band / Artist på album\n"
"Anpassad"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1129,79 +1236,673 @@ msgstr ""
"Höger"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Kunde inte hitta pixmap-fil: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Kunde inte allokera tillräckligt med minne för att buffra inläsning."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: inställningsfilen för freepats hittades inte. Vänligen installera "
+"paketet timidity-freepats eller ange sökväg till freepats.cfg i "
+"inställningarna för instick."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Lägg till ljud-CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Fel vid läsning av första sidan av Ogg-bitströmmen."
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "Frigör enhet vid stopp"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "Fel vid läsning av inledande pakethuvud."
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#: ../translation/extra.c:9
+msgid "Preferred period size"
msgstr ""
-"Kunde inte allokera tillräckligt med minne för att registrera nytt "
-"serienummer."
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "Inläsning trunkerad eller tom."
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "Aktivera proxyserver"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF spelar"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "Användarnamn"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "Källan är inte en Ogg-bitström."
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "Lösenord"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg-bitströmmen innehåller ingen Vorbis-data."
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "Fick EOF innan strömtypen kunde identifieras."
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg-bitströmmen innehåller inte en datatyp som stöds."
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "Trasigt sekundärt huvud."
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "Fick EOF innan Vorbis-huvudet blev komplett."
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "Fråga innan radering av filer från disk"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "Trasig eller saknas data, fortsätter..."
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Albumillustration"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "Spårtitel"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "Artist"
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "Titel / Artist för spåret"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "Genre"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "Kompositör"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "Skivnummer"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "Kommentar"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Plats"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Tagg-kategori(er)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Inbäddat körschema"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Codec"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Välj katalog..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Fel vid skrivning av ström till utkälla. Strömmen kan vara skadad eller "
-"trunkerad."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Redigera kolumn"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Spara inställningar"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Spara inställningar"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Spara inställningar"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Spara inställningar"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Enhet för uppspelning:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Instick för uppspelning:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Spara inställningar"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Överbrygga"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Läs in inställningar"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Instick för uppspelning:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Skriv APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Skriv ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
msgstr ""
-"wildmidi: inställningsfilen för freepats hittades inte. Vänligen installera "
-"paketet timidity-freepats eller ange sökväg till freepats.cfg i "
-"inställningarna för instick."
-#~ msgid "Add Audio CD"
-#~ msgstr "Lägg till ljud-CD"
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Skriv ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Tagg-skrivare"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Spara spellista som"
+
+#~ msgid "_Abort"
+#~ msgstr "_Avbryt"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>VARNING</b>: funktionen för att skriva taggar är fortfarande i "
+#~ "utvecklingsfasen.\n"
+#~ "<b>Gör säkerhetskopior</b> innan den används."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Längd"
+
+# sanslöst kass uppställning
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formateringskonventioner (börja med %):\n"
+#~ " artist ([a]), titel ([t]), album ([b]), band ([B]), kompositör ([C])\n"
+#~ " spårnummer ([n]), antal spår ([N]),\n"
+#~ " längd ([l]), år ([y]), genre ([g]), kommentar ([c]),\n"
+#~ " upphovsrätt ([r]), filnamn ([f]), komplett sökväg ([F]), taggar ([T])\n"
+#~ " katalog ([d]), katalog med sökväg ([D])\n"
+#~ "Exempel: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Tillåt att dynamisk samplingsnivå skiftar"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Konverteringskvalité för samplingsnivå:"
+
+#~ msgid "Description:"
+#~ msgstr "Beskrivning:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Författare:"
+
+#~ msgid "Email:"
+#~ msgstr "E-post:"
+
+#~ msgid "Website:"
+#~ msgstr "Webbplats:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+# sanslöst kass uppställning
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Formateringsregler (börja med %):\n"
+#~ " artist ([a]), titel ([t]), album ([b]), band ([B]), kompositör ([C])\n"
+#~ " spårnummer ([n]), antal spår ([N]),\n"
+#~ " längd ([l]), år ([y]), genre ([g]), kommentar ([c]),\n"
+#~ " upphovs[r]ätt, [f]ilnamn, taggar ([T])\n"
+#~ "Exempel: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Ställer in %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA-instick för utdata"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr ""
+#~ "Kunde inte allokera tillräckligt med minne för att buffra inläsning."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Fel vid läsning av första sidan av Ogg-bitströmmen."
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Fel vid läsning av inledande pakethuvud."
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr ""
+#~ "Kunde inte allokera tillräckligt med minne för att registrera nytt "
+#~ "serienummer."
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "Inläsning trunkerad eller tom."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Källan är inte en Ogg-bitström."
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg-bitströmmen innehåller ingen Vorbis-data."
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "Fick EOF innan strömtypen kunde identifieras."
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg-bitströmmen innehåller inte en datatyp som stöds."
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Trasigt sekundärt huvud."
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "Fick EOF innan Vorbis-huvudet blev komplett."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Trasig eller saknas data, fortsätter..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Fel vid skrivning av ström till utkälla. Strömmen kan vara skadad eller "
+#~ "trunkerad."
#~ msgid "Sound (adv.)"
#~ msgstr "Ljud (avancerat)"
diff --git a/po/te.po b/po/te.po
index 74f470a2..0f09689d 100644
--- a/po/te.po
+++ b/po/te.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2011-04-25 17:20+0200\n"
"Last-Translator: PraveenIlla <mail2ipn@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,822 +18,908 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "సహకారంవున్న శబ్ధపు ఫార్మేట్లు"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "ఇతర ఫైళ్ళు (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "ఫైళ్ళ(ను) తెరువు..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "పాటలజాబితాకు ఫైళ్ళ(ను) జతచేయి..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "సంచయా(ల)ను పాటలజాబితాకు జతచేయి..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "symlinks అనుసరించు"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "సహాయక ఫైలును చదువుతుండగా విఫలమైంది"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "సహాయక ఫైల్ లోడుచేయుటలో విఫలమైంది"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "సహాయం"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "డెడ్‌బీఫ్ %s గురించి"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "డెడ్‌బీఫ్ %s మార్పుచిట్టా"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "డెడ్‌బీఫ్ ఇప్పుడు ఆడిస్తున్నది"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "పాటలజాబితాను సవరించు"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "శీర్షిక:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "పాటలజాబితా పేరుమార్చు"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "పాటలజాబితాను తొలగించు"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "కొత్త పాటలజాబితాను జతచేయి"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "డెడ్‌బీఫ్ EQ ప్రిసెట్ భద్రపరుచు"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "డెడ్‌బీఫ్ EQ ప్రిసెట్ ఫైళ్ళు (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "డెడ్‌బీఫ్ EQ ప్రిసెట్ లోడుచేయి..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "డెడ్‌బీఫ్ EQ ప్రిసెట్ (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Foobar2000 EQ ప్రిసెట్ దిగుమతిచేయి..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ ప్రిసెట్ (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "ప్రిసెట్ లోడుచేయి"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Foobar2000 EQ ప్రిసెట్ దిగుమతిచేయి"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "చేతనపరుచు"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "అన్నీ సున్నాచేయి"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "ప్రిఆంప్ సున్నాచేయి"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "బ్రాండ్లను సున్నాచేయి"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "ప్రిసెట్ భద్రపరుచు"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "ప్రిసెట్ లోడుచేయి"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Foobar2000 EQ ప్రిసెట్ దిగుమతిచేయి"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 రోజు %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d రోజులు %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "ఆపివేయబడింది | %d ట్రాక్‌లు | %s మొత్తం ప్లేటైమ్"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "మోనో"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "స్టీరియో"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "నిలిపివేయబడింది | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr ""
-"%s%s %s| %dHz | %d బిట్ | %s | %d:%02d / %s | %d ట్రాక్‌లు | %s మొత్తం "
-"ప్లేటైమ్"
+msgstr "%s%s %s| %dHz | %d బిట్ | %s | %d:%02d / %s | %d ట్రాక్‌లు | %s మొత్తం ప్లేటైమ్"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "పాటలజాబితాను ఇలా దాచు"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "డెడ్‍బీఫ్ పాటలజాబితా ఫైళ్ళు (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "పాటలజాబితాను నింపు"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "ఇతర ఫైళ్ళు (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "కొత్త పాటలజాబితా"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "కొత్త పాటలజాబితా (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "ఫైల్ (_F)"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "ఫైళ్ళ(ను) తెరువు (_O)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "ఫైళ్ళ(ను) జతచేయి"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "సంచయా(ల)ను జతచేయి"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "స్థానమును జతచేయి"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "కొత్త పాటలజాబితా"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "పాటలజాబితాను నింపు"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "పాటలజాబితాను దాచు"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "పాటలజాబితాను ఇలా దాచు"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "నిష్క్రమించు (_Q)"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "సవరించు(_E)"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "శుభ్రంచేయి (_C)"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "అన్నీ ఎంచుకో"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "ఎంపికను రద్దుచేయి"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "ఎంపికను తారుమారుచేయి"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "ఎంపిక"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "తొలగించు"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "కత్తిరించు"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "కనుగొను (_F)"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "శీర్షిక"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "ఫైల్ సంఖ్య"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "ఆల్బమ్"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "కళాకారుడు"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "ప్రాధాన్యతలు"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "వీక్షణం (_V)"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "స్థితి పట్టీ"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "నిలువువరుస పీఠికలు"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "ట్యాబ్‌లు"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "ఈక్విలైజర్"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "ప్లేబాక్(_P)"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "క్రమం"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "ఒకే వరుసలో ఉన్నవి"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "యాదృచ్ఛికం"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "యాదృచ్ఛికం"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "యాదృచ్ఛికం"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr ""
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr ""
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr ""
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr ""
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "దీని తరువాత ఆపివేయి"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "సహాయం (_H)"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "మార్పుచిట్టా (_C)"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "గురించి (_A)"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "వెతుకు"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "ఆపు"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "ప్లే"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "నిలిపివేయి"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "మునుపటి"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "తరువాతి"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "యాదృచ్ఛికంగా ప్లేచేయి"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "గురించి"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "నిష్క్రమించు"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "ఫైళ్ళను జతచేస్తున్నది..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "మధ్యలోరద్దు (_A)"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "ట్రాక్ లక్షణాలు"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>హెచ్చరిక</b>: ట్యాగ్ వ్రాయుట అనే అంశము ఇంకా అభివృద్ధిలోనే ఉన్నది.\n"
-"దీనిని వాడేముందు <b>బ్యాక్అప్ కాపీలను తీసుకోండి</b>."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "అనువర్తించు (_A)"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "మూసివేయి (_C)"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "మెటాడేటా"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "గుణములు"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "శీర్షిక:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "కొత్త నిలువువరుస శీర్షికను ఇక్కడ ప్రవేశపెట్టండి"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "రకం:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "ఫైల్ సంఖ్య"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "ప్లేచేస్తున్నది"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "ఆల్బమ్ చిత్రం"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "కళాకారుడు - ఆల్బమ్"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "కళాకారుడు"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "ఆల్బమ్"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "శీర్షిక"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "నిడివి"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "ట్రాక్"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "ట్రాక్ సంఖ్య"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "బ్యాండ్ / ఆల్బమ్ కళాకారుడు"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "ఫార్మేట్:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "అనుగుణం:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "ఎడమ"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "కుడి"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "రద్దుచేయి (_C)"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "సరే (_O)"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "అవుట్‌పుట్ ప్లగిన్:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "అవుట్‌పుట్ పరికరం:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
-msgid "Sound"
-msgstr "ధ్వని"
-
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr ""
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr "ధ్వని"
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "అచేతనంచేయి"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "ట్రాక్"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "ఆదేశ వరుస (లేదా ఫైల్ నిర్వాహకము) నుండి ఫైళ్ళను ఈ పాటలజాబితాకు జతచేయి"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "ప్రారంభములో మునుపటి కొనసాగిన కాలాన్ని పునఃప్రారంభించు"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "ప్లేబాక్"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "స్వరూపించు"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "తిరస్కరించు"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "ముందుభాగము"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "నేపథ్యం"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr ""
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr ""
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr ""
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "పాఠ్యం"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "పాఠ్యం"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "ఎంచుకున్న అడ్డవరుస"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "ఎంచుకున్న పాఠ్యం"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "కర్సరు"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "పాటలజాబితా రంగులు"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "రంగులు"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "ప్రోక్సీ సేవికను చేతనపరుచు"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "ప్రోక్సీ సేవిక చిరునామా:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "ప్రోక్సీ సేవిక పోర్టు:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "ప్రోక్సీ రకం:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "ప్రోక్సీ వాడుకరిపేరు:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "ప్రోక్సీ సంకేతపదం:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "నెట్‌వర్క్"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "ప్లగిన్‌లు"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "ఫార్మేట్:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "ఎంపిక"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "ప్లగిన్‌లు"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "ట్యాగ్ వ్రైటర్"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "ID3v2 వ్రాయి"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "ID3v1 వ్రాయి"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 వ్రాయి"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 వర్షన్"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (సిఫారసుచేయబడింది)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 అక్షరపు ఎన్‌కోడింగ్ (iso8859-1 అనేది అప్రమేయము)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "ID3v2.4 వ్రాయి"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "ట్యాగ్ వ్రైటర్"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "వివరణ:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "మూలకర్త(లు):"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "ఇమెయిల్:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "వెబ్‌సైట్:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "స్వరూపించు"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "ప్లగిన్‌లు"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "కళాకారుడు / ఆల్బమ్"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "ట్రాక్ సంఖ్య"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "శీర్షిక / ట్రాక్ కళాకారుడు"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "నిడివి"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "డిస్కు నుండి ఫైళ్ళను తీసివేయి"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -841,195 +927,222 @@ msgstr ""
"ఫైళ్ళను కోల్పోతారు. కొనసాగుతారా?\n"
"(ఈ డైలాగును GTKUI ప్లగిన్ అమరికలలోకి వెళ్ళి ఆపివేయవచ్చు)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "హెచ్చరిక"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "ప్లేబాక్ వరుసకు జతచేయి"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "ప్లేబాక్ వరుస నుండి తొలగించు"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "మెటాడేటాను మళ్ళీ నింపు"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "డిస్కు నుండి తొలగించు"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "నిలువువరుసను జతచేయి"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "నిలువువరుసను సవరించు"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "నిలువువరుసను తొలగించు"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "ఏదీకాదు"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "కళాకారుడు/తేదీ/ఆల్బమ్"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "ఫైల్ తెరువు..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "%s అమర్చు"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "స్వరూపించు"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "అప్రమేయ ఆడియా పరికరం"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "జతచేయి"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "సార్వత్రిక హాట్ కీలు"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "కీ కాంబినేషన్"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA అవుట్‌పుట్ ప్లగిన్"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "ఫైళ్ళను జతచేస్తున్నది..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "ఆరంభిస్తున్నది..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "ఈ ట్రాక్ డేటాను మీరు సవరించారు."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "నిజంగానే విండో మూసివేయాలా?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "ట్యాగ్ రకము(లు)"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "అవును"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "కాదు"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "కొడెక్"
-
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "కీ"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "విలువ"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "డెడ్‌బీఫ్ ఇప్పుడు ఆడిస్తున్నది"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "నిజంగానే విండో మూసివేయాలా?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "ఫైళ్ళ(ను) జతచేయి"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "తొలగించు"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "వాడుక: deadbeef [options] [file(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "ఐచ్ఛికాలు:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h సహాయాన్ని ముద్రించు (ఈ సందేశమును) మరియు నిష్క్రమించు\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit ప్లేయర్ నుండి నిష్క్రమిస్తుంది\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version వర్షన్ సమాచారాన్ని ముద్రించి, నిష్క్రమించు\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play ప్లేబాక్ ప్రారంభించు\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop ప్లేబాక్ ఆపుము\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause ప్లేబాక్ నిలిపివేయి\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next పాటలజాబితాలో తదుపరి పాట\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev పాటలజాబితాలో మునుపటి పాట\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random పాటల జాబితాలో యాదృచ్ఛిక పాట\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue ఉన్నటువంటి పాటలజాబితాకు ఫైళ్ళను జతచేయి\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1037,18 +1150,33 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "అప్రమేయం"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "అవును"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "కాదు"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1056,7 +1184,13 @@ msgstr ""
"2.3 (సిఫారసుచేయబడింది)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1066,17 +1200,18 @@ msgstr ""
"ట్రాక్\n"
"ఆల్బమ్"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1092,7 +1227,7 @@ msgstr ""
"బ్యాండ్ / ఆల్బమ్ కళాకారుడు\n"
"అనురూపితం"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1101,66 +1236,597 @@ msgstr ""
"కుడి"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "ఇన్‌పుట్ బఫరింగ్ కొరకు సరితగిన మెమోరీ పొందలేదు."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr ""
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+#, fuzzy
+msgid "Enable scrobbler"
+msgstr "ప్రోక్సీ సేవికను చేతనపరుచు"
+
+#: ../translation/extra.c:12
+#, fuzzy
+msgid "Disable nowplaying"
+msgstr "డెడ్‌బీఫ్ ఇప్పుడు ఆడిస్తున్నది"
+
+#: ../translation/extra.c:13
+#, fuzzy
+msgid "Username"
+msgstr "ప్రోక్సీ వాడుకరిపేరు:"
+
+#: ../translation/extra.c:14
+#, fuzzy
+msgid "Password"
+msgstr "ప్రోక్సీ సంకేతపదం:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+#, fuzzy
+msgid "Ask confirmation to delete files from disk"
+msgstr "డిస్కు నుండి ఫైళ్ళను తీసివేయి"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "ఆల్బమ్ చిత్రం"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+#, fuzzy
+msgid "Track Title"
+msgstr "ట్రాక్ సంఖ్య"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+#, fuzzy
+msgid "Total Tracks"
+msgstr "శీర్షిక / ట్రాక్ కళాకారుడు"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+#, fuzzy
+msgid "Disc Number"
+msgstr "ఫైల్ సంఖ్య"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "స్థానమును జతచేయి"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "ట్యాగ్ రకము(లు)"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Ogg బిట్‌స్ట్రీమ్ యొక్క మెదట పేజీని చదువుటలో దోషము."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr ""
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "కొడెక్"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "ఇన్‌పుట్ Ogg బిట్‌స్ట్రీమ్ కాదు"
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg బిట్‌స్ట్రీమ్ Vorbis డేటాను కలిగిలేదు."
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "పాడైన లేక తప్పిపోయిన డేటా వుండవచ్చు, కొనసాగుతుంది..."
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "అన్నీ ఎంచుకో"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "నిలువువరుసను సవరించు"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "అవుట్‌పుట్ పరికరం:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "అవుట్‌పుట్ ప్లగిన్:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "ప్రిసెట్ భద్రపరుచు"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "తిరస్కరించు"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "ప్రిసెట్ లోడుచేయి"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "అవుట్‌పుట్ ప్లగిన్:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "APEv2 వ్రాయి"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "ID3v1 వ్రాయి"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "ID3v2 వ్రాయి"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "ట్యాగ్ వ్రైటర్"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "పాటలజాబితాను ఇలా దాచు"
+
+#~ msgid "_Abort"
+#~ msgstr "మధ్యలోరద్దు (_A)"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>హెచ్చరిక</b>: ట్యాగ్ వ్రాయుట అనే అంశము ఇంకా అభివృద్ధిలోనే ఉన్నది.\n"
+#~ "దీనిని వాడేముందు <b>బ్యాక్అప్ కాపీలను తీసుకోండి</b>."
+
+#~ msgid "Length"
+#~ msgstr "నిడివి"
+
+#~ msgid "Description:"
+#~ msgstr "వివరణ:"
+
+#~ msgid "Author(s):"
+#~ msgstr "మూలకర్త(లు):"
+
+#~ msgid "Email:"
+#~ msgstr "ఇమెయిల్:"
+
+#~ msgid "Website:"
+#~ msgstr "వెబ్‌సైట్:"
+
+#~ msgid "Setup %s"
+#~ msgstr "%s అమర్చు"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA అవుట్‌పుట్ ప్లగిన్"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "ఇన్‌పుట్ బఫరింగ్ కొరకు సరితగిన మెమోరీ పొందలేదు."
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Ogg బిట్‌స్ట్రీమ్ యొక్క మెదట పేజీని చదువుటలో దోషము."
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "ఇన్‌పుట్ Ogg బిట్‌స్ట్రీమ్ కాదు"
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg బిట్‌స్ట్రీమ్ Vorbis డేటాను కలిగిలేదు."
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "పాడైన లేక తప్పిపోయిన డేటా వుండవచ్చు, కొనసాగుతుంది..."
diff --git a/po/tr.po b/po/tr.po
index eb7a8fd6..506efe36 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2,862 +2,927 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: LXDE\n"
-"Report-Msgid-Bugs-To: http://sourceforge.net/projects/lxde/support\n"
-"POT-Creation-Date: 2011-11-26 04:39+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2011-01-20 10:41+0000\n"
"Last-Translator: decent <bahadiroglu33@gmail.com>\n"
"Language-Team: Turkish <http://forum.ubuntu-tr.net>\n"
+"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: tr\n"
"Plural-Forms: nplurals=1; plural=0\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Desteklenen ses biçimleri"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Diğer dosyalar (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Dosya(lar) aç..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Çalma listesine dosya(lar) ekle..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Çalma listesine dizin(ler) ekle..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Sembolik bağları izle"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Yardım dosyası okunurken hata oluştu"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Yardım dosyası yüklenirken hata oluştu"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1099
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Yardım"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "DeaDBeef %s Hakkında"
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s Sürüm Notları"
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "DeaDBeeF'i Çevirenler"
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Çalma listesini düzenle"
-#: ../plugins/gtkui/ddbtabstrip.c:675
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Başlık:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Çalma Listesini Yeniden Adlandır"
-#: ../plugins/gtkui/ddbtabstrip.c:679
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Çalma Listesini Sil"
-#: ../plugins/gtkui/ddbtabstrip.c:683
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Yeni Çalma Listesi Ekle"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "DeaDBeeF EQ Ayarlarını Kaydet"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF kaydedilmiş EQ dosyaları (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "DeaDBeeF Hazır EQ ayarları yükle..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ hazır ayarlar (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Foobar2000 EQ ayarlarını içe aktar..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ hazır ayarları (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Ayarları Yükle"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Foobar2000 EQ Ayarlarını İçe Aktar"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Etkin"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Tümünü Sıfırla"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Ön Amfiyi Sıfırla"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Bantları Sıfırla"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "Ayarları Kaydet"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Ayarları Yükle"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Foobar2000 EQ Ayarlarını İçe Aktar"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 gün %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d gün %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Durduruldu | %d parça |toplam çalma zamanı: %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Duraklatıldı"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d parça | %s toplam çalma zamanı"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d parça | %s toplam çalma "
+"zamanı"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Çalma Listesini Farklı Kaydet"
-#: ../plugins/gtkui/gtkui.c:670 ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF çalma listesi dosyaları (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Çalma Listesi Yükle"
-#: ../plugins/gtkui/gtkui.c:865
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Diğer dosyalar (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Yeni Çalma Listesi"
-#: ../plugins/gtkui/gtkui.c:868
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Yeni Çalma Listesi (%d)"
-#: ../plugins/gtkui/interface.c:142 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Dosya"
-#: ../plugins/gtkui/interface.c:149 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "Dosy_a(lar) aç"
-#: ../plugins/gtkui/interface.c:165 ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Dosya(lar) ekle"
-#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Dizin(ler) ekle"
-#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/interface.c:2973
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Konum ekle"
-#: ../plugins/gtkui/interface.c:190 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Yeni çalma listesi"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Çalma listesi yükle"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Çalma listesini kaydet"
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Çalma listesini farklı kaydet"
-
-#: ../plugins/gtkui/interface.c:214 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Çıkış"
-#: ../plugins/gtkui/interface.c:225 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "Düz_enle"
-#: ../plugins/gtkui/interface.c:232 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Temizle"
-#: ../plugins/gtkui/interface.c:240 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Tümünü seç"
-#: ../plugins/gtkui/interface.c:247 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Tüm seçimleri kaldır"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Seçimi ters çevir"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Seçim"
-#: ../plugins/gtkui/interface.c:265 ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Kaldır"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Kes"
-#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Bul"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/interface.c:1707
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Başlık"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Parça Numarası"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Albüm"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Sanatçı"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Tarih"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Özel"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Tercihler"
-#: ../plugins/gtkui/interface.c:293 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Görünüm"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Durum çubuğu"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Sütun başlıkları"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Sekmeler"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Ekolayzır"
-#: ../plugins/gtkui/interface.c:316 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Oynatım"
-#: ../plugins/gtkui/interface.c:323 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Sıralama"
-#: ../plugins/gtkui/interface.c:330 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Sıralı"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
msgstr "Karışık"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
+msgstr "Karışık"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Rastgele"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Tekrar"
-#: ../plugins/gtkui/interface.c:355 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Tümünü Tekrarla"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Bir Şarkıyı Tekrarla"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Tekrar Yok"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Liste takibi oynatım"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "İmleç takibi oynatım"
-#: ../plugins/gtkui/interface.c:382 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Çalan parçadan sonra dur"
-#: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Çalan parçaya git"
-#: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Yardım"
-#: ../plugins/gtkui/interface.c:416 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Sürüm notları"
-#: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Hakkında"
-#: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "Çe_virenler"
-#: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Arama"
-#: ../plugins/gtkui/interface.c:911 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Dur"
-#: ../plugins/gtkui/interface.c:919 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Çal"
-#: ../plugins/gtkui/interface.c:927 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Duraklat"
-#: ../plugins/gtkui/interface.c:935 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Önceki"
-#: ../plugins/gtkui/interface.c:943 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Sonraki"
-#: ../plugins/gtkui/interface.c:951 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Rastgele Oynatım"
-#: ../plugins/gtkui/interface.c:960 ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Hakkında"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Çıkış"
-#: ../plugins/gtkui/interface.c:1041 ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Dosyalar ekleniyor..."
-
-#: ../plugins/gtkui/interface.c:1163 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Parça Özellikleri"
-#: ../plugins/gtkui/interface.c:1209 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Uygula"
-#: ../plugins/gtkui/interface.c:1230 ../plugins/gtkui/interface.c:1276
-#: ../plugins/gtkui/interface.c:2501 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Kapat"
-#: ../plugins/gtkui/interface.c:1234 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Üstveri"
-#: ../plugins/gtkui/interface.c:1280 ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Özellikler"
-#: ../plugins/gtkui/interface.c:1365 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editcolumndlg"
-msgstr "sütundlgdüzenle"
-
-#: ../plugins/gtkui/interface.c:1380 ../plugins/gtkui/interface.c:2873
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Başlık:"
-
-#: ../plugins/gtkui/interface.c:1388 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Yeni sütun başlığını giriniz"
-#: ../plugins/gtkui/interface.c:1396 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Yaz:"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Öğe İndeksi"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1405 ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Çalıyor"
-#: ../plugins/gtkui/interface.c:1406
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Albüm Kapağı"
-#: ../plugins/gtkui/interface.c:1407
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Sanatçı - Albüm"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Sanatçı"
-
-#: ../plugins/gtkui/interface.c:1409 ../plugins/gtkui/interface.c:1797
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Albüm"
-
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Başlık"
-
-#: ../plugins/gtkui/interface.c:1411
-msgid "Length"
-msgstr "Uzunluk"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Süre"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/interface.c:1796
-msgid "Track"
-msgstr "Parça"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Parça Numarası"
-#: ../plugins/gtkui/interface.c:1413 ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Bant / Albüm Sanatçısı"
-#: ../plugins/gtkui/interface.c:1414 ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Özel"
-
-#: ../plugins/gtkui/interface.c:1420 ../plugins/gtkui/interface.c:3100
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Biçim:"
-#: ../plugins/gtkui/interface.c:1435 ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Hizalama:"
-#: ../plugins/gtkui/interface.c:1443
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Sol"
-#: ../plugins/gtkui/interface.c:1444
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Sağ"
-#: ../plugins/gtkui/interface.c:1446 ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Biçim dönüşümleri (% ile başlar ):\n"
-" [s]anatçı, [b]aşlık, al[b]üm, [B]ant, B[e]ste\n"
-" parça[n]umarası, [N]toplamparça,\n"
-" [u]zunluk, [y]ıl, [t]ür, [y]orum,\n"
-" teli[f]hakkı, [d]osyaadı, [T]amDosyaYolu, Eti[k]etler\n"
-" [d]izin, [D]izinKonumu\n"
-"Örnek: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1475 ../plugins/gtkui/interface.c:2904
-#: ../plugins/gtkui/interface.c:3016 ../plugins/gtkui/interface.c:3139
-#: ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Vazgeç"
-#: ../plugins/gtkui/interface.c:1496 ../plugins/gtkui/interface.c:2925
-#: ../plugins/gtkui/interface.c:3037 ../plugins/gtkui/interface.c:3160
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Tamam"
-#: ../plugins/gtkui/interface.c:1728 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Çıktı eklentisi"
-#: ../plugins/gtkui/interface.c:1741 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Çıktı aygıtı"
-#: ../plugins/gtkui/interface.c:1750 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Ses"
-#: ../plugins/gtkui/interface.c:1759 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Dinamik örnek hızı geçişine izin ver"
-
-#: ../plugins/gtkui/interface.c:1767 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Örnek hızı dönüşüm kalitesi:"
-
-#: ../plugins/gtkui/interface.c:1786 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Ses gücü sabitleme kipi:"
-#: ../plugins/gtkui/interface.c:1795
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Devre dışı"
-#: ../plugins/gtkui/interface.c:1799 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Parça"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Ses gücü sabitleme en yüksek limit"
-#: ../plugins/gtkui/interface.c:1807 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Ses gücü sabitleme kipi:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Bu çalma listesine komut satırından (veya dosya yöneticisinden) dosyalar ekle:"
+msgstr ""
+"Bu çalma listesine komut satırından (veya dosya yöneticisinden) dosyalar "
+"ekle:"
-#: ../plugins/gtkui/interface.c:1816 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Açılışta önceki oturum ile devam et"
-#: ../plugins/gtkui/interface.c:1820 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Oynatım"
-#: ../plugins/gtkui/interface.c:1829 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Yapılandırma"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Çıkışta bildirim alanına küçült"
-#: ../plugins/gtkui/interface.c:1833 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Orta fare düğmesi çalma listesini kapatır"
-#: ../plugins/gtkui/interface.c:1837 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Bildirim alanı simgesini gizle"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Çalan parça için kalın yazı biçimi kullan"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Diskten sil girdisini\" sağ tık menüsünde\" gösterme"
-#: ../plugins/gtkui/interface.c:1853 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Oynatım sırasındaki başlık çubuğu metni:"
-#: ../plugins/gtkui/interface.c:1867 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Durdurulduğunda başlık çubuğu metni:"
-#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "GTK Kullanıcı Arayüzü"
-#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1936
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Üstüne bindir"
-#: ../plugins/gtkui/interface.c:1901 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Önplan"
-#: ../plugins/gtkui/interface.c:1908 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Arkaplan"
-#: ../plugins/gtkui/interface.c:1927 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Gezinti-çubuğu/Ses çubuğu renkleri"
-#: ../plugins/gtkui/interface.c:1945 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Orta"
-#: ../plugins/gtkui/interface.c:1952 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Açık"
-#: ../plugins/gtkui/interface.c:1959 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Koyu"
-#: ../plugins/gtkui/interface.c:1990 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Temel"
-#: ../plugins/gtkui/interface.c:1997 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Metin"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Sekme şerit renkleri"
-#: ../plugins/gtkui/interface.c:2006 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Üstüne bindir (GTK tema görünümü kaybolur, fakat çalma hızlanır)"
-#: ../plugins/gtkui/interface.c:2015 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Tüm satırlar"
-#: ../plugins/gtkui/interface.c:2022 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Tek satır"
-#: ../plugins/gtkui/interface.c:2041 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Metin"
-
-#: ../plugins/gtkui/interface.c:2048 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Seçili satır"
-#: ../plugins/gtkui/interface.c:2067 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Seçili metin"
-#: ../plugins/gtkui/interface.c:2080 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "İmleç"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Çalma listesi rengi"
-#: ../plugins/gtkui/interface.c:2097 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Renkler"
-#: ../plugins/gtkui/interface.c:2106 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Vekil Sunucu Etkin"
-#: ../plugins/gtkui/interface.c:2114 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Vekil Sunucu Adresleri:"
-#: ../plugins/gtkui/interface.c:2128 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Vekil Sunucu Portu:"
-#: ../plugins/gtkui/interface.c:2142 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Vekil Türü:"
-#: ../plugins/gtkui/interface.c:2161 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Vekil Kullanıcı Adı:"
-#: ../plugins/gtkui/interface.c:2174 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Vekil Şifresi:"
-#: ../plugins/gtkui/interface.c:2184 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Ağ"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Telif hakkı"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Eklentiler"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Gruplandırma Ölçütü"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Biçim:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Seçim"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Eklentiler"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Etiketleyici"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "ID3v2 Yaz"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2343
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "ID3v1 Yaz"
-#: ../plugins/gtkui/interface.c:2220 ../plugins/gtkui/interface.c:2299
-#: ../plugins/gtkui/interface.c:2339 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "APEv2 Yaz"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "ID3v2 şeridi"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2355
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "ID3v1 şeridi"
-#: ../plugins/gtkui/interface.c:2236 ../plugins/gtkui/interface.c:2311
-#: ../plugins/gtkui/interface.c:2351 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "APEv2 şeridi"
-#: ../plugins/gtkui/interface.c:2244 ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 sürümü"
-#: ../plugins/gtkui/interface.c:2251
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Önerilen)"
-#: ../plugins/gtkui/interface.c:2252
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2258 ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 karakter kodlaması (varsayılan iso8859-1)"
-#: ../plugins/gtkui/interface.c:2295 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "ID3v2.4 Yaz"
-#: ../plugins/gtkui/interface.c:2364 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Etiketleyici"
-
-#: ../plugins/gtkui/interface.c:2395 ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Açıklama"
-
-#: ../plugins/gtkui/interface.c:2410 ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Yazar(lar):"
-
-#: ../plugins/gtkui/interface.c:2425 ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "E-posta:"
-
-#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Web Sitesi:"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Yapılandırma"
-
-#: ../plugins/gtkui/interface.c:2475 ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Eklentiler"
-
-#: ../plugins/gtkui/interface.c:2857 ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editplaylistdlg"
-msgstr "çalmalistesidlgdüzenle"
-
-#: ../plugins/gtkui/interface.c:2984 ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3085 ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Gruplandırma Ölçütü"
-
-#: ../plugins/gtkui/interface.c:3110 ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Biçim dönüşümleri (% ile başlar):\n"
-" [s]anatçı, [b]aşlık, al[b]üm, [B]ant, B[e]ste\n"
-" parça[n]umarası, [N]toplamparça,\n"
-" [u]zunluk, [y]ıl, [t]ür, y[o]rum,\n"
-" teli[f]hakkı, [d]osyaadı, e[t]iketler\n"
-"Örnek: %a - %t [%l]"
-#: ../plugins/gtkui/mainplaylist.c:306 ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Sanatçı / Albüm"
-#: ../plugins/gtkui/mainplaylist.c:307 ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Parça No"
-#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Başlık / Parça Sanatçısı"
-
-#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Süre"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Dosyaları diskten sil"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -865,203 +930,222 @@ msgstr ""
"Dosyayı kaybedeceksiniz. Onaylıyor musunuz?\n"
"(Bu diyalog GTKUI eklenti ayarlarından kapatılabilir)"
-#: ../plugins/gtkui/plcommon.c:326 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Uyarı"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Çalma kuyruğuna ekle"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Çalma kuyruğundan kaldır"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Üstveriyi tekrar yükle"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Diskten sil"
-#: ../plugins/gtkui/plcommon.c:720 ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Sütun ekle"
-#: ../plugins/gtkui/plcommon.c:750 ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Sütunu düzenle"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Sütunu kaldır"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Gruplandırma ölçütü"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Hiçbiri"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Sanatçı/Tarih/Albüm"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Dosya aç..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Kur %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Yapılandırma"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Varsayılan Ses Aygıtı"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Ekle"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Evrensel Kısayollar"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Yuva"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Tuş bileşimi"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481 ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "ALSA çıktı eklentisi"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Dosyalar ekleniyor..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Başlatılıyor..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Bu parça için değiştirilmiş veri mevcut."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Pencere gerçekten kapatılsın mı?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Konum"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Altparça İndeksi"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Tuş"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Etiket Tür(leri)"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Değer"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Gömülü Çağrı Sayfası"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Evet"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Hayır"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Çözücü"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Tuş"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Değer"
+#: ../plugins/gtkui/trkproperties.c:692
+#, fuzzy
+msgid "Really remove selected field?"
+msgstr "Pencere gerçekten kapatılsın mı?"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF oynatıyor"
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Dosya(lar) ekle"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Kaldır"
-#: ../main.c:89
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Kullanım: deadbeef [seçenekler] [dosya(lar)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Seçenekler:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help veya -h Yardımı yazdır (bu mesajı) ve çık\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Oynatıcıyı kapat\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Sürüm bilgilerini yazdır ve çık\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Oynatımı başlat\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Oynatımı durdur\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Oynatımı duraklat\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Çalma listesinde sonraki parça\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Çalma listesinde önceki parça\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Çalma listesinde rastgele parça\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Çalma listesine parça(lar) ekle\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Değiştirilmiş dosya adını std çıktısına yazdır\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1072,16 +1156,35 @@ msgstr ""
" [u]zunluk, parça[n]umarası, [y]ıl, y[o]rum,\n"
" teli[f]hakkı, [g]eçmiş\n"
-#: ../main.c:105
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" e.g.: --şimdi çalıyor \"%%a - %%t\" yazdırır \"sanatçı "
+"- başlık\"\n"
+
+#: ../main.c:110
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " e.g.: --şimdi çalıyor \"%%a - %%t\" yazdırır \"sanatçı - başlık\"\n"
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
-#: ../playlist.c:378 ../playlist.c:2302
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Varsayılan"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Evet"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Hayır"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1089,7 +1192,13 @@ msgstr ""
"2.3 (Tavsiye edilen)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1099,7 +1208,8 @@ msgstr ""
"Parça\n"
"Albüm"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
"Item Index\n"
"Playing\n"
@@ -1108,8 +1218,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1125,7 +1235,7 @@ msgstr ""
"Bant / Albüm Sanatçısı\n"
"Özel"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1134,14 +1244,20 @@ msgstr ""
"Sağ"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Resim dosyası bulunamıyor: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: freepats yapılandırma dosyası bulunamadı. Lütfen timidity-freepats paketini yükleyin, veya eklenti ayarlarında freepats.cfg dosyasına freepats konumunu belirtin."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: freepats yapılandırma dosyası bulunamadı. Lütfen timidity-freepats "
+"paketini yükleyin, veya eklenti ayarlarında freepats.cfg dosyasına freepats "
+"konumunu belirtin."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1162,7 +1278,7 @@ msgstr "ALSA örneklemesini kullan"
msgid "Release device while stopped"
msgstr "Aygıt durdurulduğunda"
-#: ../translation/extra.c:8 ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Tercih edilen tampon boyutu"
@@ -1191,164 +1307,561 @@ msgstr "Şifre"
msgid "Scrobble URL"
msgstr "Scrobble URL"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Önbellek güncelleştirme döngüsü (saat)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Gömülü etiketlerden getir"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Yerel dizinlerden getir"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Yerel kapak dosya maskesi"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Last.fm'den getir"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "albumart.org'dan getir"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "CDDB/FreeDB kullan"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "CDDB'den CD-Metni tercih et"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB url (örn. 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "CDDB port numarası (örn. '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "HTTP için CDDB protokolünü tercih et"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "NRG kalıp desteği etkin"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Örnekleme kalitesi (0..2, yüksek olan kalitelidir)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "En büyük parça uzunluğu (dakika cinsinden)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Diskten dosya silmek için onay iste"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Ses kontrol simgesi hassasiyet durumu"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Özel durum simgesi"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "--sync ile gtk_init çalıştır (hata ayıklama kipinde)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
+#: ../translation/extra.c:45
+#, fuzzy
+msgid "Notification title format"
msgstr "Bildirim biçimi"
+#: ../translation/extra.c:46
+#, fuzzy
+msgid "Notification content format"
+msgstr "Bildirim biçimi"
+
+#: ../translation/extra.c:47
+#, fuzzy
+msgid "Show album art"
+msgstr "Albüm Kapağı"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "PulseAudio sunucusu"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Örnekleme oranı"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "İlgili tablo arama yolu"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Tam tablo arama yolu"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Ses takas baytları(duyduğunuz bütün geçiş statik ise)"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
+#: ../translation/extra.c:58
+#, fuzzy
+msgid "Enable HVSC Songlength DB"
msgstr "HVSC etkin"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "HVSC yolu"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+#, fuzzy
+msgid "Default song length (sec)"
+msgstr "En büyük parça uzunluğu (dakika cinsinden)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Timidity + + bank yapılandırma dosyası"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Parça Başlığı"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Sanatçı"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Tarih"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Parça Numarası"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Toplam Parça"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Tür"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Besteci"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Disk Numarası"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Yorum"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Kodlayıcı / Sağlayıcı"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Telif hakkı"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Konum"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Altparça İndeksi"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Etiket Tür(leri)"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Gömülü Çağrı Sayfası"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Çözücü"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+#, fuzzy
+msgid "Target Samplerate"
+msgstr "Örnekleme oranı"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "Tümünü seç"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Sütunu düzenle"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Çıktı aygıtı"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Çıktı eklentisi"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Ayarları Kaydet"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Üstüne bindir"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Ayarları Yükle"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Çıktı eklentisi"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "APEv2 Yaz"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "ID3v1 Yaz"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "ID3v2 Yaz"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Etiketleyici"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Çalma listesini farklı kaydet"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "sütundlgdüzenle"
+
+#~ msgid "Length"
+#~ msgstr "Uzunluk"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Biçim dönüşümleri (% ile başlar ):\n"
+#~ " [s]anatçı, [b]aşlık, al[b]üm, [B]ant, B[e]ste\n"
+#~ " parça[n]umarası, [N]toplamparça,\n"
+#~ " [u]zunluk, [y]ıl, [t]ür, [y]orum,\n"
+#~ " teli[f]hakkı, [d]osyaadı, [T]amDosyaYolu, Eti[k]etler\n"
+#~ " [d]izin, [D]izinKonumu\n"
+#~ "Örnek: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Dinamik örnek hızı geçişine izin ver"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Örnek hızı dönüşüm kalitesi:"
+
+#~ msgid "Description:"
+#~ msgstr "Açıklama"
+
+#~ msgid "Author(s):"
+#~ msgstr "Yazar(lar):"
+
+#~ msgid "Email:"
+#~ msgstr "E-posta:"
+
+#~ msgid "Website:"
+#~ msgstr "Web Sitesi:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "çalmalistesidlgdüzenle"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Biçim dönüşümleri (% ile başlar):\n"
+#~ " [s]anatçı, [b]aşlık, al[b]üm, [B]ant, B[e]ste\n"
+#~ " parça[n]umarası, [N]toplamparça,\n"
+#~ " [u]zunluk, [y]ıl, [t]ür, y[o]rum,\n"
+#~ " teli[f]hakkı, [d]osyaadı, e[t]iketler\n"
+#~ "Örnek: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Başlık / Parça Sanatçısı"
+
+#~ msgid "Setup %s"
+#~ msgstr "Kur %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA çıktı eklentisi"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF oynatıyor"
+
+#~ msgid "HVSC path"
+#~ msgstr "HVSC yolu"
diff --git a/po/ug.po b/po/ug.po
new file mode 100644
index 00000000..beb34642
--- /dev/null
+++ b/po/ug.po
@@ -0,0 +1,1799 @@
+# Uyghur translation for deadbeef.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Gheyret Kenji <gheyret@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: deadbeef\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2012-02-07 10:15+0200\n"
+"Last-Translator: Gheyret <gheyret@gmail.com>\n"
+"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
+"Language: ug\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 2.0.5\n"
+
+#: ../plugins/gtkui/callbacks.c:123
+msgid "Supported sound formats"
+msgstr "قوللايدىغان ئۈن فورماتلىرى"
+
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "بارلىق ھۆججەتلەر(*)"
+
+#: ../plugins/gtkui/callbacks.c:144
+msgid "Open file(s)..."
+msgstr "ھۆججەت(لەر)نى ئېچىش…"
+
+#: ../plugins/gtkui/callbacks.c:179
+msgid "Add file(s) to playlist..."
+msgstr "ھۆججەت(لەر)نى قويۇش تىزىمىغا قوشۇش…"
+
+#: ../plugins/gtkui/callbacks.c:220
+msgid "Add folder(s) to playlist..."
+msgstr "قىسقۇچ(لار)نى قويۇش تىزىمىغا قوشۇش…"
+
+#: ../plugins/gtkui/callbacks.c:225
+msgid "Follow symlinks"
+msgstr "بەلگە ئۇلىنىشىغا ئەگىشىش"
+
+#: ../plugins/gtkui/callbacks.c:711
+msgid "Failed while reading help file"
+msgstr "ياردەم ھۆججىتىنى ئوقۇۋاتقاندا مەغلۇپ بولدى"
+
+#: ../plugins/gtkui/callbacks.c:721
+msgid "Failed to load help file"
+msgstr "ياردەم ھۆججىتىنى ئوقۇش مەغلۇپ بولدى."
+
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "help.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
+msgid "Help"
+msgstr "ياردەم"
+
+#: ../plugins/gtkui/callbacks.c:747
+#, c-format
+msgid "About DeaDBeeF %s"
+msgstr "DeaDBeeF %s ھەققىدە"
+
+#: ../plugins/gtkui/callbacks.c:760
+#, c-format
+msgid "DeaDBeeF %s ChangeLog"
+msgstr "DeaDBeeF %s نى ئۆزگەرتىش خاتىرىسى"
+
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF تەرجىمانلىرى"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
+msgid "Edit playlist"
+msgstr "قويۇش تىزىمىنى تەھرىرلەش"
+
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "ماۋزۇ:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
+msgid "Rename Playlist"
+msgstr "قويۇش تىزىمىنىڭ ئاتىنى ئۆزگەرتىش"
+
+#: ../plugins/gtkui/ddbtabstrip.c:821
+msgid "Remove Playlist"
+msgstr "قويۇش تىزىمىنى چىقىرىۋېتىش"
+
+#: ../plugins/gtkui/ddbtabstrip.c:828
+msgid "Add New Playlist"
+msgstr "يېڭى قويۇش تىزىمى قوشۇش"
+
+#: ../plugins/gtkui/eq.c:136
+msgid "Save DeaDBeeF EQ Preset"
+msgstr "DeaDBeeF EQ نىڭ ئالدىن تەڭشىشىنى ساقلاش"
+
+#: ../plugins/gtkui/eq.c:143
+msgid "DeaDBeeF EQ preset files (*.ddbeq)"
+msgstr "DeaDBeeF EQ نىڭ ئالدىن تەڭشەش ھۆججەتلىرى (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:182
+msgid "Load DeaDBeeF EQ Preset..."
+msgstr "DeaDBeeF EQ نىڭ ئالدىن تەڭشىشىنى ئوقۇش…"
+
+#: ../plugins/gtkui/eq.c:186
+msgid "DeaDBeeF EQ presets (*.ddbeq)"
+msgstr "DeaDBeeF EQ نىڭ ئالدىن تەڭشەشلىرى (*.ddbeq)"
+
+#: ../plugins/gtkui/eq.c:247
+msgid "Import Foobar2000 EQ Preset..."
+msgstr "Foobar2000 EQ نىڭ ئالدىن تەڭشىشىنى ئىمپورت قىلىش…"
+
+#: ../plugins/gtkui/eq.c:251
+msgid "Foobar2000 EQ presets (*.feq)"
+msgstr "Foobar2000 EQ نىڭ ئالدىن تەڭشەشلىرى (*.feq)"
+
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "ئالدىن تەڭشەشنى ساقلاش"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "ئالدىن تەڭشەشنى ئوقۇش"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Foobar2000 نىڭ ئالدىن تەڭشىشىنى ئىمپورت قىلىش"
+
+#: ../plugins/gtkui/eq.c:357
+msgid "Enable"
+msgstr "ئىناۋەتلىك"
+
+#: ../plugins/gtkui/eq.c:366
+msgid "Zero All"
+msgstr "ھەممىنى نۆل قىلىش"
+
+#: ../plugins/gtkui/eq.c:373
+msgid "Zero Preamp"
+msgstr "ئالدىن كۈچەيتىشنى نۆل قىلىش"
+
+#: ../plugins/gtkui/eq.c:380
+msgid "Zero Bands"
+msgstr "بەلۋاغلارنى نۆل قىلىش"
+
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "ئالدىن تەڭشەشلەر"
+
+#: ../plugins/gtkui/gtkui.c:137
+#, c-format
+msgid "1 day %d:%02d:%02d"
+msgstr "1 كۈن %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:140
+#, c-format
+msgid "%d days %d:%02d:%02d"
+msgstr "%d كۈن %d:%02d:%02d"
+
+#: ../plugins/gtkui/gtkui.c:149
+#, c-format
+msgid "Stopped | %d tracks | %s total playtime"
+msgstr "توختىغان | %d نەغمە | %s جەمئىي قويۇش ۋاقتى"
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Mono"
+msgstr "يەككە يوللۇق ئاۋاز"
+
+#: ../plugins/gtkui/gtkui.c:162
+msgid "Stereo"
+msgstr "ستېرېئو"
+
+#: ../plugins/gtkui/gtkui.c:187
+#, c-format
+msgid "| %4d kbps "
+msgstr "| %4d kbps "
+
+#: ../plugins/gtkui/gtkui.c:193
+msgid "Paused | "
+msgstr "ۋاقىتلىق توختىدى | "
+
+#: ../plugins/gtkui/gtkui.c:198
+#, c-format
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %d گېرتس | %d بىت | %s | %d:%02d / %s | %d نەغمە | %s جەمئىي قويۇش "
+"ۋاقتى"
+
+#: ../plugins/gtkui/gtkui.c:644
+msgid "Save Playlist As"
+msgstr "قويۇش تىزىمىنى باشقا ئاتتا ساقلاش"
+
+#: ../plugins/gtkui/gtkui.c:655
+msgid "DeaDBeeF playlist files (*.dbpl)"
+msgstr "DeaDBeeF قويۇش تىزىمى ھۆججەتلىرى (*.dbpl)"
+
+#: ../plugins/gtkui/gtkui.c:773
+msgid "Load Playlist"
+msgstr "قويۇش تىزىمىنى ئوقۇش"
+
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "باشقا ھۆججەتلەر(*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
+msgid "New Playlist"
+msgstr "يېڭى قويۇش تىزىمى"
+
+#: ../plugins/gtkui/gtkui.c:929
+#, c-format
+msgid "New Playlist (%d)"
+msgstr "يېڭى قويۇش تىزىمى(%d)"
+
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
+msgid "_File"
+msgstr "ھۆججەت(_F)"
+
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
+msgid "_Open file(s)"
+msgstr "ھۆججەت(لەر)نى ئاچ(_O)"
+
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+msgid "Add file(s)"
+msgstr "ھۆججەت(لەر)نى قوشۇش"
+
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
+msgid "Add folder(s)"
+msgstr "قىسقۇچ(لار)نى قوشۇش"
+
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
+msgid "Add location"
+msgstr "ئورۇن قوشۇش"
+
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
+msgid "New playlist"
+msgstr "يېڭى قويۇش تىزىمى"
+
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
+msgid "Load playlist"
+msgstr "قويۇش تىزىمىنى ئوقۇش"
+
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
+msgid "Save playlist"
+msgstr "قويۇش تىزىمىنى ساقلاش"
+
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
+msgid "_Quit"
+msgstr "چېكىن(_Q)"
+
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
+msgid "_Edit"
+msgstr "تەھرىر(_E)"
+
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
+msgid "_Clear"
+msgstr "تازىلا(_C)"
+
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
+msgid "Select all"
+msgstr "ھەممىنى تاللا"
+
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
+msgid "Deselect all"
+msgstr "ھەممىنى تاللىما"
+
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
+msgid "Invert selection"
+msgstr "تاللاشنى ئۆرۈ"
+
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
+msgid "Selection"
+msgstr "تاللانما"
+
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
+msgid "Remove"
+msgstr "چىقىرىۋەت"
+
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
+msgid "Crop"
+msgstr "قىرقىش"
+
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
+msgid "_Find"
+msgstr "ئىزدە(_F)"
+
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "تەرتىپى"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "ماۋزۇ"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "ناخشا نومۇرى"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "ئالبوم"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "ئورۇنلىغۇچى"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "چېسلا"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "ئىختىيارى"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
+msgid "Preferences"
+msgstr "مايىللىق"
+
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
+msgid "_View"
+msgstr "كۆرۈنۈش(_V)"
+
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
+msgid "Status bar"
+msgstr "ھالەت بالدىقى"
+
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
+msgid "Column headers"
+msgstr "ئىستون باشلىرى"
+
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
+msgid "Tabs"
+msgstr "بەتكۈچلەر"
+
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
+msgid "Equalizer"
+msgstr "تەڭشىگۈچ"
+
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
+msgid "_Playback"
+msgstr "قوي(_P)"
+
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
+msgid "Order"
+msgstr "تەرتىپلە"
+
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
+msgid "Linear"
+msgstr "سىزىقلىق"
+
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "نەغمىنى تەرتىپسىز قويۇش"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "ئالبومنى تەرتىپسىز قويۇش"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
+msgid "Random"
+msgstr "قالايمىقان"
+
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
+msgid "Looping"
+msgstr "قايتىلاۋاتىدۇ"
+
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
+msgid "Loop All"
+msgstr "ھەممىسىنى قايتىلاش"
+
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
+msgid "Loop Single Song"
+msgstr "بىرلا ناخشىنى قايتىلاش"
+
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
+msgid "Don't Loop"
+msgstr "قايتىلىما"
+
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
+msgid "Scroll follows playback"
+msgstr "سىيرىغۇچ قويۇۋاتقىنىغا ئەگەشسۇن"
+
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
+msgid "Cursor follows playback"
+msgstr "نۇربەلگە قويۇۋاتقىنىغا ئەگەشسۇن"
+
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
+msgid "Stop after current"
+msgstr "ھازىرقىسى تاماملانغاندا توختىتىش"
+
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "نۆۋەتتىكى نەغمىگە سەكرەش"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
+msgid "_Help"
+msgstr "ياردەم(_H)"
+
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
+msgid "_ChangeLog"
+msgstr "ئۆزگىرىش خاتىرىسى(_C)"
+
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
+msgid "_About"
+msgstr "ھەققىدە(_A)"
+
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "تەرجىمانلار(_T)"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
+msgid "Search"
+msgstr "ئىزدە"
+
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
+msgid "Stop"
+msgstr "توختا"
+
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
+msgid "Play"
+msgstr "قوي"
+
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
+msgid "Pause"
+msgstr "ۋاقىتلىق توختا"
+
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
+msgid "Previous"
+msgstr "ئالدىنقى"
+
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
+msgid "Next"
+msgstr "كېيىنكى"
+
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
+msgid "Play Random"
+msgstr "تەرتىپسىز قويۇش"
+
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
+msgid "About"
+msgstr "ھەققىدە"
+
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
+msgid "Quit"
+msgstr "ئاخىرلاشتۇرۇش"
+
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
+msgid "Track Properties"
+msgstr "نەغمە خاسلىقى"
+
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "تەڭشەكلەر"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
+msgid "_Apply"
+msgstr "قوللان(_A)"
+
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
+msgid "_Close"
+msgstr "ياپ(_C)"
+
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
+msgid "Metadata"
+msgstr "مېتا سانلىق-مەلۇماتى"
+
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
+msgid "Properties"
+msgstr "خاسلىق"
+
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
+msgid "Enter new column title here"
+msgstr "يېڭى ئىستون ماۋزۇسىنى بۇ يەرگە كىرگۈزۈڭ"
+
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
+msgid "Type:"
+msgstr "تىپى:"
+
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "تۈر ئىندېكسى"
+
+#. create default set of columns
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
+msgid "Playing"
+msgstr "قويۇۋاتىدۇ"
+
+#: ../plugins/gtkui/interface.c:1512
+msgid "Album Art"
+msgstr "ئالبوم مۇقاۋىسى"
+
+#: ../plugins/gtkui/interface.c:1513
+msgid "Artist - Album"
+msgstr "ئورۇنلىغۇچى - ئالبوم"
+
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "ۋاقتى"
+
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "نەغمە نومۇرى"
+
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
+msgid "Band / Album Artist"
+msgstr "مۇزىكا ئەترىتى / ئالبوم ئورۇنلىغۇچى"
+
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
+msgid "Format:"
+msgstr "پىچىم:"
+
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
+msgid "Alignment:"
+msgstr "توغرىلاش:"
+
+#: ../plugins/gtkui/interface.c:1559
+msgid "Left"
+msgstr "سول"
+
+#: ../plugins/gtkui/interface.c:1560
+msgid "Right"
+msgstr "ئوڭ"
+
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
+msgid "_Cancel"
+msgstr "ئەمەلدىن قالدۇر(_C)"
+
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
+msgid "_OK"
+msgstr "جەزملە(_O)"
+
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
+msgid "Output plugin:"
+msgstr "چىقىرىش قىستۇرمىسى:"
+
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
+msgid "Output device:"
+msgstr "چىقىرىش ئۈسكۈنىسى:"
+
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "8 بىتلىق ئۈننى ھەمىشە 16 بىتلىق ئۈنگە ئايلاندۇرۇش"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
+msgstr "ئاۋاز"
+
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
+msgid "Replaygain mode:"
+msgstr "Replaygain ھالىتى:"
+
+#: ../plugins/gtkui/interface.c:1873
+msgid "Disable"
+msgstr "ئىناۋەتسىز"
+
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "نەغمە"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
+msgid "Replaygain peak scale"
+msgstr "قويۇشنى كۈچەيتىش مىقدارىنىڭ ئەڭ چوڭ قىممىتىنى تەڭشەش"
+
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "قويۇش مىقدارىنى ئالدىن كۈچەيتىش:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "ئومۇمىي ئالدىن كۈچەيتىش:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
+msgid "Add files from command line (or file manager) to this playlist:"
+msgstr ""
+"بۇيرۇق قۇرىدىن(ياكى ھۆججەت باشقۇرغۇدىن) ھۆججەت(لەر)نى بۇ قويۇش تىزىمىغا "
+"قوشۇش:"
+
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
+msgid "Resume previous session on startup"
+msgstr "باشلانغاندا ئالدىنقى ئەڭگىمەنى داۋام قىلسۇن"
+
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "قىسقۇچتىن قوشۇۋاتقاندا ئارخىپتىن قوشما"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
+msgid "Playback"
+msgstr "قويۇش"
+
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "سەپلە"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "DSP زەنجىرىنىڭ ئالدىن تەڭشىشى"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "يۈكلە(_L)"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
+msgid "Close minimizes to tray"
+msgstr "كۆزنەك يېپىلغاندا سىستېما قوندىقىغا كىرسۇن"
+
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
+msgid "Middle mouse button closes playlist"
+msgstr "چاشقىنەك ئوتتۇرا توپچىسى قويۇش تىزىمىنى ياپسۇن "
+
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
+msgid "Hide system tray icon"
+msgstr "سىستېما قونداق سىنبەلگىسىنى يوشۇر"
+
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
+msgid "Use bold font for currently playing track"
+msgstr "نۆۋەتتە قويۇلۇۋاتقان نەغمە ئۈچۈن توم خەت نۇسخىسى ئىشلەت"
+
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
+msgid "Hide \"Delete from disk\" context menu item"
+msgstr "«دىسكىدىن ئۇچۇر» دېگەن مەزمۇن تىزىملىك تۇرىنى يوشۇر"
+
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "يەككە مۇندەرىجە قوشۇلغاندا قويۇش تىزىمىنىڭ ئاتىنى ئاپتوماتىك بەلگىلە"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "كۆرۈنمەيۈزنى يېڭىلاش تېزلىكى(ھەر سېكۇنتتىكى قېتىم سانى)"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
+msgid "Titlebar text while playing:"
+msgstr "قويۇۋاتقان چاغدىكى ماۋزۇ بالدىقى تېكىستى:"
+
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
+msgid "Titlebar text while stopped:"
+msgstr "توختىغان چاغدىكى ماۋزۇ بالدىقى تېكىستى:"
+
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "GUI قىستۇرمىسى (ئۆزگەرتىلگەندىن كېيىن قايتا باشلاش زۆرۈر):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
+msgid "GUI"
+msgstr "GUI"
+
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
+msgid "Override"
+msgstr "قاپلاش"
+
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
+msgid "Foreground"
+msgstr "ئالدى كۆرۈنۈش"
+
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
+msgid "Background"
+msgstr "تەگلىك"
+
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
+msgid "Seekbar/Volumebar colors"
+msgstr "ئىزدەش بالدىقى/ئاۋاز چوڭلۇقى بالدىقى"
+
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
+msgid "Middle"
+msgstr "ئوتتۇرا"
+
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
+msgid "Light"
+msgstr "ئاق"
+
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
+msgid "Dark"
+msgstr "قارا"
+
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
+msgid "Base"
+msgstr "ئاساسى"
+
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "تېكىست"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
+msgid "Tab strip colors"
+msgstr "بەتكۈچنىڭ رەڭگى"
+
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
+msgid "Override (looses GTK treeview theming, but speeds up rendering)"
+msgstr ""
+"قاپلاش(GTK نىڭ دەرەخسىمان كۆرۈنۈشىنىڭ ئۆرنىكى يوقىلىدۇ، بىراق سىزىش تېزلىكى "
+"تېزلىشىدۇ)"
+
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
+msgid "Even row"
+msgstr "جۈپ قۇر"
+
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
+msgid "Odd row"
+msgstr "تاق قۇر"
+
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
+msgid "Selected row"
+msgstr "تاللانغان قۇر"
+
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
+msgid "Selected text"
+msgstr "تاللانغان تېكىست"
+
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
+msgid "Cursor"
+msgstr "نۇربەلگە"
+
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
+msgid "Playlist colors"
+msgstr "قويۇش تىزىمىنىڭ رەڭلىرى"
+
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
+msgid "Colors"
+msgstr "رەڭلەر"
+
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
+msgid "Enable Proxy Server"
+msgstr "ۋاكالەتچى مۇلازىمېتىرنى ئىناۋەتلىك قىلىش"
+
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
+msgid "Proxy Server Address:"
+msgstr "ۋاكالەتچى مۇلازىمېتىرنىڭ ئادرېسى:"
+
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
+msgid "Proxy Server Port:"
+msgstr "ۋاكالەتچى مۇلازىمېتىرنىڭ ئېغىزى:"
+
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
+msgid "Proxy Type:"
+msgstr "ۋاكالەتچىنىڭ تىپى:"
+
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
+msgid "Proxy Username:"
+msgstr "ۋاكالەتچىنىڭ ئىشلەتكۈچى ئاتى:"
+
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
+msgid "Proxy Password:"
+msgstr "ۋاكالەتچى ئىمى:"
+
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
+msgid "Network"
+msgstr "تور"
+
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "نەشرى: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "نەشر ھوقۇقى"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "قىستۇرما"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "گۇرۇپپىلاش"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "تەرتىپلەش…"
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "پىچىمى"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "ئۆسكۈچى"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "كېمەيگۈچى"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "DSP قىستۇرمىسىنى تاللاش"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "قىستۇرما"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "خەتكۈش يازغۇچ تەڭشىكى"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
+msgstr "ID3v2 نى يېزىش"
+
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
+msgstr "ID3v1 نى يېزىش"
+
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
+msgstr "APEv2 نى يېزىش"
+
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
+msgstr "ID3v2 نى ئۆچۈرۈۋېتىش"
+
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
+msgstr "ID3v1 نى ئۆچۈرۈۋېتىش"
+
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
+msgstr "APEv2 نى ئۆچۈرۈۋېتىش"
+
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
+msgstr "ID3v2 نەشرى"
+
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
+msgstr "2.3 (تەۋسىيە قىلىنىدۇ)"
+
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
+msgstr "2.4"
+
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
+msgstr "ID3v1 ھەرپ كودلىشى (كۆڭۈلدىكى قىممىتى iso8859-1)"
+
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
+msgstr "ID3v2.4 نى يېزىش"
+
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
+msgid "Artist / Album"
+msgstr "ئورۇنلىغۇچى / ئالبوم"
+
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
+msgid "Track No"
+msgstr "نەغمە نومۇرى"
+
+#: ../plugins/gtkui/plcommon.c:338
+msgid "Delete files from disk"
+msgstr "دىسكىدىن ھۆججەت ئۆچۈرۈش"
+
+#: ../plugins/gtkui/plcommon.c:339
+msgid ""
+"Files will be lost. Proceed?\n"
+"(This dialog can be turned off in GTKUI plugin settings)"
+msgstr ""
+"ھۆججەتلەر يوقىلىپ كېتىدۇ. داۋاملاشتۇرسۇنمۇ؟\n"
+"(بۇ سۆزلەشكۈ GTKUI قىستۇرما تەڭشىكىدە ئۆچمەيدۇ)"
+
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
+msgid "Warning"
+msgstr "ئاگاھلاندۇرۇش"
+
+#: ../plugins/gtkui/plcommon.c:444
+msgid "Add to playback queue"
+msgstr "قويۇش قاتارىغا قوشۇش"
+
+#: ../plugins/gtkui/plcommon.c:449
+msgid "Remove from playback queue"
+msgstr "قويۇش قاتارىدىن چىقىرىۋېتىش"
+
+#: ../plugins/gtkui/plcommon.c:457
+msgid "Reload metadata"
+msgstr "مېتا سانلىق-مەلۇماتنى قايتا ئوقۇش"
+
+#: ../plugins/gtkui/plcommon.c:476
+msgid "Remove from disk"
+msgstr "دىسكىدىن چىقىرىۋېتىش"
+
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
+msgid "Add column"
+msgstr "ئىستون قوشۇش"
+
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
+msgid "Edit column"
+msgstr "ئىستون تەھرىرلەش"
+
+#: ../plugins/gtkui/plcommon.c:988
+msgid "Remove column"
+msgstr "ئىستوننى ئۆچۈر"
+
+#: ../plugins/gtkui/plcommon.c:998
+msgid "Group by"
+msgstr "گۇرۇپپىلاش"
+
+#: ../plugins/gtkui/plcommon.c:1005
+msgid "None"
+msgstr "يوق"
+
+#: ../plugins/gtkui/plcommon.c:1009
+msgid "Artist/Date/Album"
+msgstr "ئورۇنلىغۇچى/چېسلا/ئالبوم"
+
+#: ../plugins/gtkui/pluginconf.c:42
+msgid "Open file..."
+msgstr "ھۆججەت ئېچىش…"
+
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format
+msgid "Configure %s"
+msgstr "%s نى سەپلەش"
+
+#: ../plugins/gtkui/prefwin.c:82
+msgid "Default Audio Device"
+msgstr "كۆڭۈلدىكى ئۇن ئۈسكۈنىسى"
+
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
+msgid "Add"
+msgstr "قوش"
+
+#: ../plugins/gtkui/prefwin.c:328
+msgid "Global Hotkeys"
+msgstr "پۈتۈن دائىرىلىك ئىسسىق كۇنۇپكا"
+
+#: ../plugins/gtkui/prefwin.c:390
+msgid "Slot"
+msgstr "ئوقۇر"
+
+#: ../plugins/gtkui/prefwin.c:391
+msgid "Key combination"
+msgstr "كۇنۇپكا بىرىكمىسى"
+
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "ھۆججەتلەرنى قوشۇۋاتىدۇ…"
+
+#: ../plugins/gtkui/progress.c:90
+msgid "Initializing..."
+msgstr "دەسلەپلەشتۈرۈۋاتىدۇ…"
+
+#: ../plugins/gtkui/trkproperties.c:159
+msgid "You've modified data for this track."
+msgstr "بۇ نەغمىنىڭ سانلىق-مەلۇماتلىرىنى ئۆزگەرتتىڭىز."
+
+#: ../plugins/gtkui/trkproperties.c:161
+msgid "Really close the window?"
+msgstr "كۆزنەكنى راستلا ياپامسىز؟"
+
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[بىر قانچە قىممەت] "
+
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "ئاچقۇچ"
+
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "قىممەت"
+
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "خەتكۈچلەرنى يېزىۋاتىدۇ…"
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "ئاتى:"
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "سوز بۆلىكى ئاتى : ياكى _ بىلەن باشلانماسلىقى كېرەك"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "سوز بۆلىكى قوشقىلى بولمىدى"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "بۇنداق ئاتى بار سوز بۆلىكى مەۋجۇت، باشقا ئاتنى سىناپ كۆرۈڭ."
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "تاللانغان سوز بۆلىكىنى راستلا چىقىرىۋېتەمسىز؟"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "سوز بۆلىكى قوشۇش"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "سوز بۆلىكىنى چىقىرىۋېتىش"
+
+#: ../main.c:91
+#, c-format
+msgid "Usage: deadbeef [options] [file(s)]\n"
+msgstr "ئىشلىتىش ئۇسۇلى: deadbeef [options] [file(s)]\n"
+
+#: ../main.c:92
+#, c-format
+msgid "Options:\n"
+msgstr "تاللانمىلار:\n"
+
+#: ../main.c:93
+#, c-format
+msgid " --help or -h Print help (this message) and exit\n"
+msgstr " --help ياكى -h مۇشۇ ياردەمنى كۆرسىتىپ ئاخىرلىشىدۇ\n"
+
+#: ../main.c:94
+#, c-format
+msgid " --quit Quit player\n"
+msgstr " --quit قويغۇنى ئاخىرلاشتۇرىدۇ\n"
+
+#: ../main.c:95
+#, c-format
+msgid " --version Print version info and exit\n"
+msgstr " --version نەشر ئۇچۇرىنى بېسىپ چىقىرىپ ئاخىرلىشىدۇ\n"
+
+#: ../main.c:96
+#, c-format
+msgid " --play Start playback\n"
+msgstr " --play قويۇشنى باشلايدۇ\n"
+
+#: ../main.c:97
+#, c-format
+msgid " --stop Stop playback\n"
+msgstr " --stop قويۇشنى توختىتىدۇ\n"
+
+#: ../main.c:98
+#, c-format
+msgid " --pause Pause playback\n"
+msgstr " --pause قويۇشنى ۋاقىتلىق توختىتىدۇ\n"
+
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause ۋاقىتلىق توختىتىشنى ئالماشتۇرىدۇ\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+" --play-pause قويۇۋاتقان بولسا ۋاقىتلىق توختىتىدۇ، باشقا ھالەتنىمۇ "
+"ۋاقىتلىق توختىتىدۇ\n"
+
+#: ../main.c:101
+#, c-format
+msgid " --next Next song in playlist\n"
+msgstr " --next قويۇش تىزىمىدىكى كېيىنكى ناخشا\n"
+
+#: ../main.c:102
+#, c-format
+msgid " --prev Previous song in playlist\n"
+msgstr " --prev قويۇش تىزىمىدىكى ئالدىنقى ناخشا\n"
+
+#: ../main.c:103
+#, c-format
+msgid " --random Random song in playlist\n"
+msgstr " --random قويۇش تىزىمىدىكى ناخشىنى تەرتىپسىز قويىدۇ\n"
+
+#: ../main.c:104
+#, c-format
+msgid " --queue Append file(s) to existing playlist\n"
+msgstr " --queue ھۆججەت(لەر) نى قويۇش تىزىمىغا قوشىدۇ\n"
+
+#: ../main.c:105
+#, c-format
+msgid " --nowplaying FMT Print formatted track name to stdout\n"
+msgstr ""
+" --nowplaying FMT پىچىلغان نەغمە ئاتىنى ئۆلچەملىك چىقىرىش ئۈسكۈنىسى"
+"(stdout) غا چىقىرىدۇ\n"
+
+#: ../main.c:106
+#, c-format
+msgid ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+msgstr ""
+" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
+" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
+" copy[r]ight, [e]lapsed\n"
+
+#: ../main.c:109
+#, c-format
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+" تېخىمۇ كوپ ئۇچۇرلار ئۈچۈن http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting گە قاراڭ\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
+msgid "Default"
+msgstr "كۆڭۈلدىكى"
+
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "ھەئە"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "ياق"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
+msgid ""
+"2.3 (Recommended)\n"
+"2.4"
+msgstr ""
+"2.3 (تەۋسىيە قىلىنىدۇ)\n"
+"2.4"
+
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr "چوڭىيىش/كىچىكلەش"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
+msgid ""
+"Disable\n"
+"Track\n"
+"Album"
+msgstr ""
+"ئىناۋەتسىز\n"
+"نەغمە\n"
+"ئالبوم"
+
+#: ../plugins/gtkui/deadbeef.glade.h:56
+msgid ""
+"Item Index\n"
+"Playing\n"
+"Album Art\n"
+"Artist - Album\n"
+"Artist\n"
+"Album\n"
+"Title\n"
+"Duration\n"
+"Track Number\n"
+"Band / Album Artist\n"
+"Custom"
+msgstr ""
+"تۈر ئىندېكسى\n"
+"قويۇۋاتىدۇ\n"
+"ئالبوم مۇقاۋىسى\n"
+"ئورۇنلىغۇچى - ئالبوم\n"
+"ئورۇنلىغۇچى\n"
+"ئالبوم\n"
+"ماۋزۇ\n"
+"ئۇزۇنلۇقى\n"
+"نەغمە نومۇرى\n"
+"مۇزىكا ئەترىتى / ئورۇنلىغۇچى\n"
+"ئىختىيارىي"
+
+#: ../plugins/gtkui/deadbeef.glade.h:68
+msgid ""
+"Left\n"
+"Right"
+msgstr ""
+"سول\n"
+"ئوڭ"
+
+#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
+#, c-format
+msgid "Couldn't find pixmap file: %s"
+msgstr "pixmap ھۆججىتىنى تاپقىلى بولمىدى: %s"
+
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"سەپلىمە ھۆججەت(wildmidi: freepats دېگەن) تېپىلمىدى. timidity-freepats "
+"بوغچىسىنى ئورنىتىڭ ياكى freepats.cfg نىڭ يولىنى قىستۇرما تەڭشىكىدە كۆرسىتىپ "
+"بېرىڭ."
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "ئۈن CD نى قوشۇش"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "ئىزدەش (Last.fm) دىن"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "ئەۋرىشكىلەشكە ALSA ئىشلىتىش"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "توختىغاندا ئۈسكىنىنى قويۇۋېتىش"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "ئامراق يىغلەك چوڭلۇقى"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "ئامراق مەزگىل(period) چوڭلۇقى"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "scrobbler نى ئىناۋەتلىك قىلىش"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "nowplaying نى ئىناۋەتسىز قىلىش"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "ئىشلەتكۈچى ئاتى"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "ئىم"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Scrobble URL"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "ئۈسكۈنە ھۆججىتى"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "غەملەك يېڭىلاش ئىنتېرۋالى(سائەت)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "سىڭدۈرۈلگەن خەتكۈچلەردىن ئېلىش"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "يەرلىك قىسقۇچتىن ئېلىش"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "يەرلىك مۇقاۋا ھۆججەت ماسكىسى"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "last.fm دىن ئېلىش"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "albumart.org دىن ئېلىش"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "CDDB/FreeDB نى ئىشلىتىش"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "CDDB تور ئادرېسى(URL)( ‹freedb.org› دېگەندەك)"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "CDDB ئېغىز نومۇرى( ‹888› دېگەندەك)"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "ئىناۋەتلىك قىلىش (NRG سۈرىتىنى قوللاشنى)"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "ئەۋرىشكىلەش سۈپىتى (0..2, چوڭ بولسا ياخشى)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "ئەڭ چوڭ ناخشا ئۇزۇنلۇقى( مىنۇت)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "ھۆججەتلەرنى دىسكىدىن ئۆچۈرىدىغان چاغدا سورىسۇن"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "ئاۋاز كونترول ھالەت سىنبەلگىسىنىڭ سەزگۈرلۈكى"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "ئىختىيارىي ھالەت سىنبەلگىسى"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "gtk_init نى --sync نىڭ بىلەن ئىجرا قىلىش(سازلاش ھالىتى)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "قىستۇرما مەزمۇن تۈرلىرىنىڭ ئارىسىغا ئايرىغۇچ قوشۇش"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "ئۇقتۇرۇش ماۋزۇسىنىڭ پىچىمى"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "ئۇقتۇرۇش مەزمۇنىنىڭ پىچىمى"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "ئالبوم مۇقاۋىسىنى كۆرسىتىش"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "ئالبوم مۇقاۋىسىنىڭ چوڭلۇقى"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "PulseAudio مۇلازىمېتىرى"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "ئەۋرىشكە تېزلىكى"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "نىسپىي ئىزدەش جەدۋىلىنىڭ يولى"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "مۇتلەق ئىزدەش جەدۋىلىنىڭ يولى"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "ئىناۋەتلىك قىلىش(HVSC Songlength DB نى)"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt ( HVSC نىڭدىن )"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى(8 ياكى 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "كۆڭۈلدىكى ناخشا ئۇزۇنلۇقى (سېكۇنت)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Timidity++ بانكا سەپلىمە ھۆججىتى"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "نەغمە ئاتى"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "ئورۇنلىغۇچى"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "جەمئىي نەغمە"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "ئېقىم"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "مۇزىكىسىنى ئىشلىگۈچى"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "دىسكا نومۇرى"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "ئىزاھات"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "كودلىغۇچ / تارقاتقۇچى"
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "ئورنى"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "تارماق نەغمە ئىندېكسى"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "خەتكۈش تىپ(لىرى)ى"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "سىڭدۈرمە Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "كودلىغۇچ-كودسىزلۇغۇچ"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "ھۆججەت كېڭەيتىلگەن ئاتى(‹;› بىلەن ئايرىلىدۇ)"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "ئايلاندۇرۇش"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "نىشان ئەۋرىشكە تېزلىكى"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "سۈپەت / ئالگورىزىم"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "ئاپتوماتىك ئەۋرىشكە تېزلىكى (‹نىشان ئەۋرىشكە تېزلىكى›نى قاپلىنىدۇ)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "مەزكۇر ھۆججەت مەۋجۇت. قاپلامسىز؟"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "ئايلاندۇرغۇچ ئاگاھلاندۇرۇشى"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "كودلىغۇچ تاللاڭ"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "ئايلاندۇرغۇچ خاتالىقى"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "ئايلاندۇرۇۋاتىدۇ…"
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "قىسقۇچ تاللاش…"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "كودلىغۇچ ئالدىن تەڭشىشىنى ساقلاش مەغلۇپ بولدى"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"ئالدىن تەڭشەش قىسقۇچىنىڭ ئىمتىيازلىرىنى تەكشۈرۈڭ، باشقا ماۋزۇ تاللاڭ ياكى "
+"دىسكىنى ئازراق بىكارلاڭ"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "ئوخشاش ئاتلىق ئالدىن تەڭشەش مەۋجۇت. باشقا بىرنى تاللاڭ."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "خاتالىق"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "يېڭى كودلىغۇچ قوشۇش"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "كودلىغۇچ تەھرىرلەش"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "ئالدىن تەڭشەشنى چىقىرىۋېتىش"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "بۇ مەشغۇلاتتا تاللانغان ئالدىن تەڭشەش ئۆچۈرۈلىدۇ. راستلا ئۆچۈرەمسىز؟"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "كودلىغۇچ"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "يېڭى قىستۇرمىنى DSP زەنجىرىگە قوشۇش"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "DSP ئالدىن تەڭشىشىنى ساقلاش مەغلۇپ بولدى"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "يېڭى DSP ئالدىن تەڭشىشى"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "DSP ئالدىن تەڭشىشىنى تەھرىرلەش"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP ئالدىن تەڭشەشلىرى"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "چىقىرىش قىسقۇچى:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "چىقىرىش ھۆججىتىنىڭ ئاتى:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"كېڭەيتىلمە ئاتى (.mp3 دېگەندەك) ئاپتوماتىك قوشۇلىدۇ.\n"
+"قۇرۇق بولسا كۆڭۈلدىكىسى ئىشلىتىلىدۇ (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "كودلىغۇچ:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP ئالدىن تەڭشىشى"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "جەريان(threads) سانى:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "چىقىرىش ئەۋرىشكىسىنىڭ پىچىمى:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "مەنبەنىڭ پىچىمىدەك بولسۇن"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 بىتلىق ئالامىتى بار پۈتۈن سان"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 بىتلىق ئالامىتى بار پۈتۈن سان"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 بىتلىق ئالامىتى بار پۈتۈن سان"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 بىتلىق ئالامىتى بار پۈتۈن سان"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 بىتلىق لەيلىمە كەسىر سان"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "ھۆججەت مەۋجۇت بولسا:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "ئەسكەرتىش"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "قاپلاش"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "كودلىغۇچ ئالدىن تەڭشىشىنى تەھرىرلەش"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "ماۋزۇسىز كودلىغۇچ"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "چىقىرىش ھۆججىتىنىڭ كېڭەيتىلمە ئاتى:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "يەنى mp3 دېگەندەك"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "بۇيرۇق قۇرى:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"مىسال: lame - %o\n"
+"%i كىرىش ھۆججىتى، %o چىقىرىش ھۆججىتى, - for stdin"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - چىقىرىش ھۆججىتىنىڭ ئاتى\n"
+"%i - ۋاقىتلىق كىرگۈزۈش ھۆججىتىنىڭ ئاتى</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "ئۇسۇل:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "تۇرۇبا"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "ۋاقىتلىق ھۆججەت"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>خەتكۈش يازغۇچ</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "DSP ئالدىن تەڭشىكىنى تەھرىرلىگۈچ"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "نامسىز DSP ئالدىن تەڭشىشى"
+
+#~ msgid ""
+#~ "Keep source format\n"
+#~ "8 bit signed int\n"
+#~ "16 bit signed int\n"
+#~ "24 bit signed int\n"
+#~ "32 bit signed int\n"
+#~ "32 bit float"
+#~ msgstr ""
+#~ "مەنبە پىچىمى ئۆزگەرمىسۇن\n"
+#~ "8 بىتلىق ئالامەتلىك پۈتۈن سان\n"
+#~ "16 بىتلىق ئالامەتلىك پۈتۈن سان\n"
+#~ "24 بىتلىق ئالامەتلىك پۈتۈن سان\n"
+#~ "32 بىتلىق ئالامەتلىك پۈتۈن سان\n"
+#~ "32 بىتلىق لەيلىمە كەسىر سان"
+
+#~ msgid ""
+#~ "Pipe\n"
+#~ "Temporary file"
+#~ msgstr ""
+#~ "نەيچە\n"
+#~ "ۋاقىتلىق ھۆججەت"
+
+#~ msgid ""
+#~ "Prompt\n"
+#~ "Overwrite"
+#~ msgstr ""
+#~ "ئەسكەرتىش\n"
+#~ "قاپلاش"
diff --git a/po/uk.po b/po/uk.po
index 45bc3db4..5944610d 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009-2001 Alexey Yakovenko <waker@users.sourceforge.net>
# This file is distributed under the same license as the Deadbeef package.
# Yarema aka Knedlyk <yupadmin@gmail.com>, 2010.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: deadbeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-04 04:36+0000\n"
-"PO-Revision-Date: 2011-04-15 16:05+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-11-23 18:50+0200\n"
"Last-Translator: Y P <yupadmin@gmail.com>\n"
"Language-Team: UKRAINIAN <translate@linux.org.ua>\n"
"Language: uk\n"
@@ -22,872 +22,902 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Country: UKRAINE\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Формати аудіо, що підтримується"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "Інші файли (*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "Усі файли (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Відкрити файл(и)..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Додати файл(и) до списку програвання..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Додати теку(и) до списку програвання..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "Переходити за символьними посиланнями"
-#: ../plugins/gtkui/callbacks.c:667
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Невдача при читанні файлу допомоги"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Не можу прочитати файл допомоги"
-#: ../plugins/gtkui/callbacks.c:692
+#: ../plugins/gtkui/callbacks.c:736
msgid "help.txt"
msgstr "help.txt"
-#: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1125
-#: ../plugins/gtkui/deadbeef.glade.h:52
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Допомога"
-#: ../plugins/gtkui/callbacks.c:703
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Про DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:705
-msgid "about.txt"
-msgstr "about.txt"
-
-#: ../plugins/gtkui/callbacks.c:716
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s Список Змін"
-#: ../plugins/gtkui/callbacks.c:718
-msgid "ChangeLog"
-msgstr "Список змін"
-
-#: ../plugins/gtkui/callbacks.c:729
-msgid "COPYING.GPLv2"
-msgstr "COPYING.GPLv2"
-
-#: ../plugins/gtkui/callbacks.c:740
-msgid "COPYING.LGPLv2.1"
-msgstr "COPYING.LGPLv2.1"
-
-#: ../plugins/gtkui/callbacks.c:1080
+#: ../plugins/gtkui/callbacks.c:1116
#, c-format
msgid "DeaDBeeF Translators"
msgstr "Перекладачі DeaDBeeF"
-#: ../plugins/gtkui/callbacks.c:1082
-msgid "translators.txt"
-msgstr "translators.txt"
-
-#: ../plugins/gtkui/ddbtabstrip.c:626
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Редагувати список програвання"
-#: ../plugins/gtkui/ddbtabstrip.c:701
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Назва:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Перейменувати список програвання"
-#: ../plugins/gtkui/ddbtabstrip.c:705
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Вилучити список програвання"
-#: ../plugins/gtkui/ddbtabstrip.c:709
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Додати новий список програвання"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "Зберегти типові значення еквалайзера DeaDBeeF"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "Файли типових значень еквалайзера DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Завантаження типові значення еквалайзера DeaDBeeF..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "Типові значення еквалайзера DeaDBeeF (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "Імпорт типових значень еквалайзера Foobar2000..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Типові значення еквалайзера Foobar2000 (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "Зберегти типові значення"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "Завантажити типові значення"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "Імортувати типові значення Foobar2000"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Включити"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "Скинути все на нуль"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "Скинути підсилення на нуль"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "Скинути частоти на нуль"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "Зберегти типові значення"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "Завантажити типові значення"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "Імортувати типові значення Foobar2000"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "Типові значення"
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 день %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d дні %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Зупинено | %d треків | %s повна тривалість програвання"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "Моно"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "Стерео"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps"
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "На паузі |"
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
-msgid "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
-msgstr "%s%s %s| %dГц | %d біт | %s | %d:%02d / %s | %d треків | %s повна тривалість програвання"
+msgid ""
+"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
+msgstr ""
+"%s%s %s| %dГц | %d біт | %s | %d:%02d / %s | %d треків | %s повна тривалість "
+"програвання"
-#: ../plugins/gtkui/gtkui.c:661
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Зберегти список програвання як"
-#: ../plugins/gtkui/gtkui.c:670 ../plugins/gtkui/gtkui.c:731
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "Файли списків програвання DeaDBeeF (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:724
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Завантажити список програвання"
-#: ../plugins/gtkui/gtkui.c:864
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Інші файли (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Новий список програвання"
-#: ../plugins/gtkui/gtkui.c:867
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Новий список програвання (%d)"
-#: ../plugins/gtkui/interface.c:142 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Файл"
-#: ../plugins/gtkui/interface.c:149 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Відкрити файл(и)"
-#: ../plugins/gtkui/interface.c:165 ../plugins/gtkui/deadbeef.glade.h:4
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Додати файл(и)"
-#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Додати теку(и)"
-#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/interface.c:2997
-#: ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
+#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Додати URL-посилання"
-#: ../plugins/gtkui/interface.c:190 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Новий список програвання"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Завантажити список програвання"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:111
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Зберегти список програвання"
-#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:112
-msgid "Save playlist as"
-msgstr "Зберегти список програвання як"
-
-#: ../plugins/gtkui/interface.c:214 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Закінчити"
-#: ../plugins/gtkui/interface.c:225 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Редагувати"
-#: ../plugins/gtkui/interface.c:232 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Очистити"
-#: ../plugins/gtkui/interface.c:240 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Вибрати все"
-#: ../plugins/gtkui/interface.c:247 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Забрати вибирання всього"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:57
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Інвертувати виділення"
-#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Вибір"
-#: ../plugins/gtkui/interface.c:265 ../plugins/gtkui/plcommon.c:426
-#: ../plugins/gtkui/prefwin.c:334 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Вилучити"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Вилучити невиділене"
-#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Знайти"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/interface.c:1733
-#: ../plugins/gtkui/deadbeef.glade.h:96
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "Сортувати за"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Назва"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "Номер треку"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Альбом"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Виконавець"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "Дата"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Користувацьке"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Параметри"
-#: ../plugins/gtkui/interface.c:293 ../plugins/gtkui/deadbeef.glade.h:162
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Вигляд"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Рядок стану"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Заголовки колонок"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "Вкладки"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "Еквалайзер"
-#: ../plugins/gtkui/interface.c:316 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "_Програвання"
-#: ../plugins/gtkui/interface.c:323 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Порядок"
-#: ../plugins/gtkui/interface.c:330 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "Одне за одним"
-#: ../plugins/gtkui/interface.c:336 ../plugins/gtkui/deadbeef.glade.h:120
-msgid "Shuffle"
-msgstr "Перемішане"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "Перемішати треки"
-#: ../plugins/gtkui/interface.c:342 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "Перемішати треки"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Випадково"
-#: ../plugins/gtkui/interface.c:348 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Повторювати"
-#: ../plugins/gtkui/interface.c:355 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Повторювати все"
-#: ../plugins/gtkui/interface.c:361 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Повторювати тільки одну пісню"
-#: ../plugins/gtkui/interface.c:367 ../plugins/gtkui/deadbeef.glade.h:27
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Не повторювати"
-#: ../plugins/gtkui/interface.c:373 ../plugins/gtkui/deadbeef.glade.h:113
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "Прокручувати поточну пісню"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "Виділяти поточну пісню"
-#: ../plugins/gtkui/interface.c:382 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "Зупинити піcля поточного"
-#: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
msgid "Jump to current track"
msgstr "Перескочити на поточний трек"
-#: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Допомога"
-#: ../plugins/gtkui/interface.c:416 ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_Впроваджені зміни"
-#: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
msgid "_GPLv2"
msgstr "_GPLv2"
-#: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
msgid "_LGPLv2.1"
msgstr "_LGPLv2.1"
-#: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:145
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Про"
-#: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:161
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
msgid "_Translators"
msgstr "_Перекладачі"
-#: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Пошук"
-#: ../plugins/gtkui/interface.c:911 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Стоп"
-#: ../plugins/gtkui/interface.c:919 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Програвати"
-#: ../plugins/gtkui/interface.c:927 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Пауза"
-#: ../plugins/gtkui/interface.c:935 ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Попереднє"
-#: ../plugins/gtkui/interface.c:943 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Наступне"
-#: ../plugins/gtkui/interface.c:951 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Програвати випадково"
-#: ../plugins/gtkui/interface.c:960 ../plugins/gtkui/deadbeef.glade.h:3
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Про"
-#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Вийти"
-#: ../plugins/gtkui/interface.c:1045 ../plugins/gtkui/deadbeef.glade.h:8
-msgid "Adding files..."
-msgstr "Додавання файлів"
-
-#: ../plugins/gtkui/interface.c:1089 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "_Abort"
-msgstr "_Припинити"
-
-#: ../plugins/gtkui/interface.c:1189 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Властивості треків"
-#: ../plugins/gtkui/interface.c:1235 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "Налаштування"
+
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Застосувати"
-#: ../plugins/gtkui/interface.c:1256 ../plugins/gtkui/interface.c:1302
-#: ../plugins/gtkui/interface.c:2525 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "З_акрити"
-#: ../plugins/gtkui/interface.c:1260 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "Метадані"
-#: ../plugins/gtkui/interface.c:1306 ../plugins/gtkui/plcommon.c:504
-#: ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Властивості"
-#: ../plugins/gtkui/interface.c:1391 ../plugins/gtkui/deadbeef.glade.h:163
-msgid "editcolumndlg"
-msgstr "Редагувати колонку"
-
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/interface.c:2897
-#: ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Title:"
-msgstr "Назва:"
-
-#: ../plugins/gtkui/interface.c:1414 ../plugins/gtkui/deadbeef.glade.h:30
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Введіть назву нової колонки тут"
-#: ../plugins/gtkui/interface.c:1422 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Тип:"
-#: ../plugins/gtkui/interface.c:1430
+#: ../plugins/gtkui/interface.c:1510
msgid "Item Index"
msgstr "Індекс"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1431 ../plugins/gtkui/mainplaylist.c:305
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Програвання"
-#: ../plugins/gtkui/interface.c:1432
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Обкладинка альбому"
-#: ../plugins/gtkui/interface.c:1433
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Виконавець - Альбом"
-#. Track properties dialog
-#: ../plugins/gtkui/interface.c:1434 ../plugins/gtkui/plcommon.c:878
-#: ../translation/extra.c:55
-msgid "Artist"
-msgstr "Виконавець"
-
-#: ../plugins/gtkui/interface.c:1435 ../plugins/gtkui/interface.c:1822
-#: ../translation/extra.c:59
-msgid "Album"
-msgstr "Альбом"
-
-#: ../plugins/gtkui/interface.c:1436 ../plugins/gtkui/prefwin.c:612
-msgid "Title"
-msgstr "Назва"
-
-#: ../plugins/gtkui/interface.c:1437
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr "Тривалість"
-#: ../plugins/gtkui/interface.c:1438 ../plugins/gtkui/interface.c:1821
-msgid "Track"
-msgstr "Трек"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "Номер треку"
-#: ../plugins/gtkui/interface.c:1439 ../translation/extra.c:58
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "Гурт / Альбом Виконавець"
-#: ../plugins/gtkui/interface.c:1440 ../plugins/gtkui/plcommon.c:882
-msgid "Custom"
-msgstr "Користувацьке"
-
-#: ../plugins/gtkui/interface.c:1446 ../plugins/gtkui/interface.c:3124
-#: ../plugins/gtkui/deadbeef.glade.h:49
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Формат:"
-#: ../plugins/gtkui/interface.c:1461 ../plugins/gtkui/deadbeef.glade.h:9
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Вирівнювання:"
-#: ../plugins/gtkui/interface.c:1469
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "По лівому краю"
-#: ../plugins/gtkui/interface.c:1470
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "По правому краю"
-#: ../plugins/gtkui/interface.c:1472 ../plugins/gtkui/deadbeef.glade.h:35
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Перетворення формату (початок з %):\n"
-" [a]виконавець, [t]назва, [b]альбом, [B]гурт, [C]композитор\n"
-" [n]номер треку, [N] кількість всіх треків,\n"
-" [l]протяжність, [y]рік, [g]жанр, [c]коментар,\n"
-" [r]копірайт, [f]назва файлу, [F]повний шлях, [T]мітки\n"
-" [d]тека, [D]тека з шляхом\n"
-"Приклад: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1501 ../plugins/gtkui/interface.c:2928
-#: ../plugins/gtkui/interface.c:3040 ../plugins/gtkui/interface.c:3163
-#: ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Скасувати"
-#: ../plugins/gtkui/interface.c:1522 ../plugins/gtkui/interface.c:2949
-#: ../plugins/gtkui/interface.c:3061 ../plugins/gtkui/interface.c:3184
-#: ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_ОК"
-#: ../plugins/gtkui/interface.c:1753 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "Плагін виводу:"
-#: ../plugins/gtkui/interface.c:1766 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "Пристрій виводу:"
-#: ../plugins/gtkui/interface.c:1775 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "Завжди конвертувати 8 біт аудіо до 16 біт"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Звук"
-#: ../plugins/gtkui/interface.c:1784 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Allow dynamic samplerate switching"
-msgstr "Дозволити перетворення частоти дискретизації"
-
-#: ../plugins/gtkui/interface.c:1792 ../plugins/gtkui/deadbeef.glade.h:110
-msgid "Samplerate conversion quality:"
-msgstr "Алгоритм інтерполяції:"
-
-#: ../plugins/gtkui/interface.c:1811 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "Режим автовирівнювання гучності:"
-#: ../plugins/gtkui/interface.c:1820
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Виключити"
-#: ../plugins/gtkui/interface.c:1824 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Трек"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "Використовувати пікове значення"
-#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 дБ"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 дБ"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "Режим автовирівнювання гучності:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "Глобальне вирівнювання"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
-msgstr "Додати файли з командної стрічки (або менеджера файлів) до цього списку програвання:"
+msgstr ""
+"Додати файли з командної стрічки (або менеджера файлів) до цього списку "
+"програвання:"
-#: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "Відновити попередню сесію на старті"
-#: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "Не додавати з архіву при додаванні тек"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "Програвання"
-#: ../plugins/gtkui/interface.c:1854 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Налаштувати"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "Типові значення ланцюга DSP"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "_Завантаження"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Закрити мінімізує до сист. лотка"
-#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Середня кнопка миші закриває список програвання"
-#: ../plugins/gtkui/interface.c:1862 ../plugins/gtkui/deadbeef.glade.h:54
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "Ховати іконку системного лотка"
-#: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:138
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "Використовувати жирні шрифти для треку, що програється"
-#: ../plugins/gtkui/interface.c:1870 ../plugins/gtkui/deadbeef.glade.h:53
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "Ховати пункт контекстного меню \"Вилучити з диску\""
-#: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:133
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "Автоматично назвати список програвання при додаванні одної теки"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "Частота оновлення інтерфейсу (разів за секунду)"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "Текст заголовку панелі під час програвання:"
-#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "Текст заголовку панелі під час призупинення:"
-#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/deadbeef.glade.h:50
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "Додаток GUI (для змін потрібно перезавантажити):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
-msgstr "Графічний інтерфейс"
+msgstr "GUI (Графічний інтерфейс)"
-#: ../plugins/gtkui/interface.c:1916 ../plugins/gtkui/interface.c:1960
-#: ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Перезаписати"
-#: ../plugins/gtkui/interface.c:1925 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Передній план"
-#: ../plugins/gtkui/interface.c:1932 ../plugins/gtkui/deadbeef.glade.h:12
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Тло"
-#: ../plugins/gtkui/interface.c:1951 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Кольори Рядка Пошуку/Регулятора Гучності"
-#: ../plugins/gtkui/interface.c:1969 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Середньо"
-#: ../plugins/gtkui/interface.c:1976 ../plugins/gtkui/deadbeef.glade.h:72
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Легко"
-#: ../plugins/gtkui/interface.c:1983 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Темно"
-#: ../plugins/gtkui/interface.c:2014 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "Основний"
-#: ../plugins/gtkui/interface.c:2021 ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Текст"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "Кольори смужки вкладок"
-#: ../plugins/gtkui/interface.c:2030 ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
-msgstr "Перезаписати (втрачаються налаштування GTK, але пришвидшується візуалізація)"
+msgstr ""
+"Перезаписати (втрачаються налаштування GTK, але пришвидшується візуалізація)"
-#: ../plugins/gtkui/interface.c:2039 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Парний рядок"
-#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Непарний рядок"
-#: ../plugins/gtkui/interface.c:2065 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Text"
-msgstr "Текст"
-
-#: ../plugins/gtkui/interface.c:2072 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Вибраний рядок"
-#: ../plugins/gtkui/interface.c:2091 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Вибраний текст"
-#: ../plugins/gtkui/interface.c:2104 ../plugins/gtkui/deadbeef.glade.h:19
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Курсор"
-#: ../plugins/gtkui/interface.c:2117 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Кольори списку програвання"
-#: ../plugins/gtkui/interface.c:2121 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "Кольори"
-#: ../plugins/gtkui/interface.c:2130 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "Включити сервер проксі"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "Адреса сервера проксі:"
-#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "Порт сервера проксі:"
-#: ../plugins/gtkui/interface.c:2166 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "Тип проксі:"
-#: ../plugins/gtkui/interface.c:2185 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "Назва користувача проксі:"
-#: ../plugins/gtkui/interface.c:2198 ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "Пароль користувача проксі:"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "Мережа"
-#: ../plugins/gtkui/interface.c:2236 ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "Версія: "
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "Авторські права"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "Додатки"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Групувати по"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "Сортувати за..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "Формат"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "В порядку зростання"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "В порядку спадання"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "Вибрати додаток DSP"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "Додаток"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "Налаштування записувача мітки"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "Вписати ID3v2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2367
-#: ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "Вписати ID3v1"
-#: ../plugins/gtkui/interface.c:2244 ../plugins/gtkui/interface.c:2323
-#: ../plugins/gtkui/interface.c:2363 ../plugins/gtkui/deadbeef.glade.h:140
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "Вписати APEv2"
-#: ../plugins/gtkui/interface.c:2252 ../plugins/gtkui/interface.c:2331
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "Вирізати ID3v2"
-#: ../plugins/gtkui/interface.c:2256 ../plugins/gtkui/interface.c:2379
-#: ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "Вирізати ID3v1"
-#: ../plugins/gtkui/interface.c:2260 ../plugins/gtkui/interface.c:2335
-#: ../plugins/gtkui/interface.c:2375 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "Вирізати APEv2"
-#: ../plugins/gtkui/interface.c:2268 ../plugins/gtkui/deadbeef.glade.h:56
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "Версія ID3v2"
-#: ../plugins/gtkui/interface.c:2275
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (Рекомендовано)"
-#: ../plugins/gtkui/interface.c:2276
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2282 ../plugins/gtkui/deadbeef.glade.h:55
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "Кодування символів у ID3v1 (типово є iso8859-1)"
-#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "Вписати ID3v2.4"
-#: ../plugins/gtkui/interface.c:2388 ../plugins/gtkui/deadbeef.glade.h:130
-msgid "Tag writer"
-msgstr "Записувач мітки"
-
-#: ../plugins/gtkui/interface.c:2419 ../plugins/gtkui/deadbeef.glade.h:22
-msgid "Description:"
-msgstr "Опис:"
-
-#: ../plugins/gtkui/interface.c:2434 ../plugins/gtkui/deadbeef.glade.h:11
-msgid "Author(s):"
-msgstr "Автор(и):"
-
-#: ../plugins/gtkui/interface.c:2449 ../plugins/gtkui/deadbeef.glade.h:28
-msgid "Email:"
-msgstr "Електронна пошта:"
-
-#: ../plugins/gtkui/interface.c:2464 ../plugins/gtkui/deadbeef.glade.h:139
-msgid "Website:"
-msgstr "Веб-сторінка:"
-
-#: ../plugins/gtkui/interface.c:2495 ../plugins/gtkui/deadbeef.glade.h:17
-msgid "Configure"
-msgstr "Налаштувати"
-
-#: ../plugins/gtkui/interface.c:2499 ../plugins/gtkui/deadbeef.glade.h:95
-msgid "Plugins"
-msgstr "Додатки"
-
-#: ../plugins/gtkui/interface.c:2881 ../plugins/gtkui/deadbeef.glade.h:164
-msgid "editplaylistdlg"
-msgstr "Редагувати список програвання"
-
-#: ../plugins/gtkui/interface.c:3008 ../plugins/gtkui/deadbeef.glade.h:137
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3109 ../plugins/gtkui/deadbeef.glade.h:51
-msgid "Group By"
-msgstr "Групувати по"
-
-#: ../plugins/gtkui/interface.c:3134 ../plugins/gtkui/deadbeef.glade.h:43
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Перетворення формату (початок з %):\n"
-" [a]виконавець, [t]назва, [b]альбом, [B]гурт, [C]композитор\n"
-" [n]номер треку, [N]всіх треків,\n"
-" [l]протяжність, [y]рік, [g]жанр, [c]коментар,\n"
-" [r]копірайт, [f]назва файлу, [T]мітки\n"
-"Приклад: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:306 ../plugins/gtkui/search.c:439
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Виконавець / Альбом"
-#: ../plugins/gtkui/mainplaylist.c:307 ../plugins/gtkui/search.c:440
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Номер треку"
-#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:441
-msgid "Title / Track Artist"
-msgstr "Назва / Виконавець треку"
-
-#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:442
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Тривалість"
-
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Вилучити файли з диску"
-#: ../plugins/gtkui/plcommon.c:325
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -895,203 +925,221 @@ msgstr ""
"Файли буде втрачено. Продовжити?\n"
"(Цей діалог можна виключити в налаштуваннях плагіна GTKUI)"
-#: ../plugins/gtkui/plcommon.c:326 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Попередження"
-#: ../plugins/gtkui/plcommon.c:402
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "Додати до черги програвання"
-#: ../plugins/gtkui/plcommon.c:407
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "Вилучити з черги програвання"
-#: ../plugins/gtkui/plcommon.c:415
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "Перезавантажити метадані"
-#: ../plugins/gtkui/plcommon.c:434
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Вилучити з диску"
-#: ../plugins/gtkui/plcommon.c:720 ../plugins/gtkui/plcommon.c:845
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Додати колонку"
-#: ../plugins/gtkui/plcommon.c:750 ../plugins/gtkui/plcommon.c:849
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Редагувати колонку"
-#: ../plugins/gtkui/plcommon.c:853
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Вилучити колонку"
-#: ../plugins/gtkui/plcommon.c:863
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Групувати по"
-#: ../plugins/gtkui/plcommon.c:870
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Нічого"
-#: ../plugins/gtkui/plcommon.c:874
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Виконавець/Дата/Альбом"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Відкрити файл..."
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
-msgstr "Встановлення %s"
+msgid "Configure %s"
+msgstr "Налаштувати %s"
-#: ../plugins/gtkui/prefwin.c:99
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Типовий пристрій Аудіо"
-#: ../plugins/gtkui/prefwin.c:329
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Додати"
-#: ../plugins/gtkui/prefwin.c:339
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Глоб. скор. клавіш"
-#: ../plugins/gtkui/prefwin.c:401
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "Слот"
-#: ../plugins/gtkui/prefwin.c:402
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Комбінації клавіш"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:481 ../plugins/gtkui/prefwin.c:693
-#: ../plugins.c:873
-msgid "ALSA output plugin"
-msgstr "Вихідний плагін ALSA"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Додавання файлів"
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Ініціалізація..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Ви змінили дані для цього треку."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Дійсно закрити вікно?"
-#: ../plugins/gtkui/trkproperties.c:169
-msgid "Location"
-msgstr "Розташування"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[Різні значення] "
-#: ../plugins/gtkui/trkproperties.c:172
-msgid "Subtrack Index"
-msgstr "Індекс субтреку"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
+msgstr "Клавіша"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "Тип(и) мітки"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
+msgstr "Значення"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "Вбудований список"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "Записую мітки..."
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Так"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "Назва:"
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Ні"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "Назви полів не повинні починатися з : або _"
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "Кодек"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "Неможливо додати поле"
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
-msgstr "Клавіша"
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "Поле з такою назвою вже існує, введіть іншу назву."
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
-msgstr "Значення"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "Дійсно вилучити вибране поле?"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF почав програвання"
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "Додати поле"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "Вилучити поле"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Використання: deadbeef [опції] [файл(и)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "Опції:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
-msgstr " --help або -h Показати цю допомогу (це повідомлення) і вийти\n"
+msgstr ""
+" --help або -h Показати цю допомогу (це повідомлення) і вийти\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit Вийти з програвача\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Показати інформацію про версію і вийти\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play Почати програвання\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Зупинити програвання\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Призупинити програвання\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause перемикання паузи\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause Почати програвання якщо зупинено, включити паузу в "
+"протилежному випадку\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Наступна пісня в списку програвання\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Попередня пісня в списку програвання\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Випадкова пісня в списку програвання\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Додати файл(и) до існуючого списку програвання\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Показати форматовану назву треку до виводу\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1102,16 +1150,36 @@ msgstr ""
" [l]тривалість, [n]номер треку, [y]рік, [c]коментар,\n"
" [r]копірайт, [e]час що пройшов\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
-msgid " e.g.: --nowplaying \"%%a - %%t\" should print \"artist - title\"\n"
-msgstr " наприклад: --nowplaying \"%%a - %%t\" повинно показати \"виконавець - назва\"\n"
+msgid ""
+" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
+"- title\"\n"
+msgstr ""
+" наприклад: --nowplaying \"%%a - %%t\" повинно показати "
+"\"виконавець - назва\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " для більшої інформації дивитися http://sourceforge.net"
+"/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Типово"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Так"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Ні"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1119,7 +1187,15 @@ msgstr ""
"2.3 (Рекомендовано)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:24
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"В порядку зростання\n"
+"В порядку спадання"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1129,7 +1205,7 @@ msgstr ""
"Трек\n"
"Альбом"
-#: ../plugins/gtkui/deadbeef.glade.h:58
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
"Item Index\n"
"Playing\n"
@@ -1138,8 +1214,8 @@ msgid ""
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1151,11 +1227,11 @@ msgstr ""
"Альбом\n"
"Назва\n"
"Тривалість\n"
-"Трек\n"
+"Номер треку\n"
"Гурт / Альбом Виконавець\n"
"Користувацьке"
-#: ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1164,14 +1240,20 @@ msgstr ""
"Справа"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Не можу знайти файл pixmap: %s"
#: ../plugins/wildmidi/wildmidiplug.c:162
#, c-format
-msgid "wildmidi: freepats config file not found. Please install timidity-freepats package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi: не знайдено файлу конфігурації freepats. Встановіть пакунок timidity-freepats, або вкажіть шлях до файлу freepats.cfg в настройках додатку."
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi: не знайдено файлу конфігурації freepats. Встановіть пакунок "
+"timidity-freepats, або вкажіть шлях до файлу freepats.cfg в настройках "
+"додатку."
#. this file should list extra translatable strings that are not referenced
#. directly in source code, e.g. scripted plugin configuration strings
@@ -1192,7 +1274,7 @@ msgstr "Використовувати зміну якості ALSA"
msgid "Release device while stopped"
msgstr "Вивільняти пристрій під час зупинки"
-#: ../translation/extra.c:8 ../translation/extra.c:43
+#: ../translation/extra.c:8 ../translation/extra.c:51
msgid "Preferred buffer size"
msgstr "Бажаний розмір буфера"
@@ -1221,167 +1303,571 @@ msgstr "Пароль"
msgid "Scrobble URL"
msgstr "Адреса для скроблера"
-#. Album Artwork plugin
+#. OSS output plugin
#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "Файл пристрою"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "Помилка OSS4 samplerate"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
msgid "Cache update period (hr)"
msgstr "Період оновлення кешу (год.)"
-#: ../translation/extra.c:18
+#: ../translation/extra.c:21
msgid "Fetch from embedded tags"
msgstr "Отримувати з вставлених тегів"
-#: ../translation/extra.c:19
+#: ../translation/extra.c:22
msgid "Fetch from local folder"
msgstr "Отримати з локальної теки"
-#: ../translation/extra.c:20
+#: ../translation/extra.c:23
msgid "Local cover file mask"
msgstr "Маска файлу для локальних обкладинок"
-#: ../translation/extra.c:21
+#: ../translation/extra.c:24
msgid "Fetch from last.fm"
msgstr "Отримати з last.fm"
-#: ../translation/extra.c:22
+#: ../translation/extra.c:25
msgid "Fetch from albumart.org"
msgstr "Отримати з albumart.org"
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "Скалювати обкладинку стосовно довшої сторони"
+
#. Audio CD player
-#: ../translation/extra.c:24
+#: ../translation/extra.c:28
msgid "Use CDDB/FreeDB"
msgstr "Використовувати CDDB/FreeDB"
-#: ../translation/extra.c:25
+#: ../translation/extra.c:29
msgid "Prefer CD-Text over CDDB"
msgstr "Використовувати CD-Text замість CDDB"
-#: ../translation/extra.c:26
+#: ../translation/extra.c:30
msgid "CDDB url (e.g. 'freedb.org')"
msgstr "CDDB лінк (наприклад 'freedb.org')"
-#: ../translation/extra.c:27
+#: ../translation/extra.c:31
msgid "CDDB port number (e.g. '888')"
msgstr "Порт для CDDB (наприклад '888')"
-#: ../translation/extra.c:28
+#: ../translation/extra.c:32
msgid "Prefer CDDB protocol over HTTP"
msgstr "Використовувати CDDB замість HTTP"
-#: ../translation/extra.c:29
+#: ../translation/extra.c:33
msgid "Enable NRG image support"
msgstr "Включити підтримку образу NRG"
#. DUMB module player plugin
-#: ../translation/extra.c:31
+#: ../translation/extra.c:35
msgid "Resampling quality (0..2, higher is better)"
msgstr "Якість передискретизації (0..2, більше-краще)"
#. Game_Music_Emu decoder plugin
-#: ../translation/extra.c:33
+#: ../translation/extra.c:37
msgid "Max song length (in minutes)"
msgstr "Максимальна довжина пісні (хв.)"
#. Standard GTK2 user interface plugin
-#: ../translation/extra.c:35
+#: ../translation/extra.c:39
msgid "Ask confirmation to delete files from disk"
msgstr "Запистувати підтвердження перед вилученням файлів з диску"
-#: ../translation/extra.c:36
+#: ../translation/extra.c:40
msgid "Status icon volume control sensitivity"
msgstr "Чутливість регулятора гучності в значку статусу"
-#: ../translation/extra.c:37
+#: ../translation/extra.c:41
msgid "Custom status icon"
msgstr "Користувацький значок статусу"
-#: ../translation/extra.c:38
+#: ../translation/extra.c:42
msgid "Run gtk_init with --sync (debug mode)"
msgstr "Запустити gtk_init з --sync (режим наладки)"
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "Додати розділювачі між додатками контекстного меню"
+
#. OSD Notify plugin
-#: ../translation/extra.c:40
-msgid "Notification format"
-msgstr "Формат повідомлення"
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "Формат назви повідомлення"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "Формат вмісту повідомлення"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "Показати обкладинку альбому"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "Розмір обкладинки (пікселі)"
#. PulseAudio output plugin
-#: ../translation/extra.c:42
+#: ../translation/extra.c:50
msgid "PulseAudio server"
msgstr "Сервер PulseAudio"
-#: ../translation/extra.c:44
+#: ../translation/extra.c:52
msgid "Samplerate"
msgstr "Частота дискретизації"
#. SHN player plugin
-#: ../translation/extra.c:46
+#: ../translation/extra.c:54
msgid "Relative seek table path"
msgstr "Відносний шлях таблиці пошуку"
-#: ../translation/extra.c:47
+#: ../translation/extra.c:55
msgid "Absolute seek table path"
msgstr "Абсолютний шлях таблиці пошуку"
-#: ../translation/extra.c:48
+#: ../translation/extra.c:56
msgid "Swap audio bytes (toggle if all you hear is static)"
msgstr "Переставити місцями аудіо байти"
#. SID decoder plugin
-#: ../translation/extra.c:50
-msgid "Enable HVSC"
-msgstr "Включити HVSC"
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "Включити HVSC Songlength DB"
-#: ../translation/extra.c:51
-msgid "HVSC path"
-msgstr "Шлях HVSC"
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (з HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "Біт на зразок (8 або 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "Типова довжина пісні (сек)"
#. WildMidi player plugin
-#: ../translation/extra.c:53
+#: ../translation/extra.c:63
msgid "Timidity++ bank configuration file"
msgstr "Файл налаштувань для банку Timidity++"
-#: ../translation/extra.c:56
+#: ../translation/extra.c:66
msgid "Track Title"
msgstr "Назва треку"
-#: ../translation/extra.c:57
+#: ../translation/extra.c:67
msgid "Performer"
msgstr "Виконавець"
-#: ../translation/extra.c:60
-msgid "Date"
-msgstr "Дата"
-
-#: ../translation/extra.c:61
-msgid "Track Number"
-msgstr "Номер треку"
-
-#: ../translation/extra.c:62
+#: ../translation/extra.c:72
msgid "Total Tracks"
msgstr "Всіх треків"
-#: ../translation/extra.c:63
+#: ../translation/extra.c:73
msgid "Genre"
msgstr "Жанр"
-#: ../translation/extra.c:64
+#: ../translation/extra.c:74
msgid "Composer"
msgstr "Композитор"
-#: ../translation/extra.c:65
+#: ../translation/extra.c:75
msgid "Disc Number"
msgstr "Номер диску"
-#: ../translation/extra.c:66
+#: ../translation/extra.c:76
msgid "Comment"
msgstr "Коментар"
-#: ../translation/extra.c:67
+#: ../translation/extra.c:77
msgid "Encoder / Vendor"
msgstr "Кодер / Продавець"
-#: ../translation/extra.c:68
-msgid "Copyright"
-msgstr "Авторські права"
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "Розташування"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "Індекс субтреку"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "Тип(и) мітки"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "Вбудований список"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "Кодек"
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "Розширення файлу (розділити за допомогою ';')"
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "Конвертувати"
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "Частота дискретизація цілі"
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "Якість / Алгоритм"
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+"Автоматична частота дискретизації (перезапише Частоту дискретизації цілі)"
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "Файл вже існує. Перезаписати?"
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "Попередження конвертора"
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "Будь ласка, виберіть інший енкодер"
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "Помилка конвертора"
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "Конвертування..."
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "Вибрати теку..."
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "Не можна зберегти типові параметри енкодера"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid ""
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr ""
+"Перевірте типові права доступу теки, спробуйте вибрати іншу назву, або "
+"звільніть трохи дискового простору"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+"Типові параметри з тою самою назвою вже існують. Спробуйте вибрати іншу "
+"назву."
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "Помилка"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "Додати новий енкодер"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "Редагувати енкодер"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "Вилучити типові значення"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "Ця дія вилучить вибрані типові значення. Ви впевнені?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "Енкодери"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "Додати додаток до ланцюжка DSP"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "Не можу зберегти типові значення DSP"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "Нові типові значення DSP"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "Редагувати типові значення DSP"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "Типові значення DSP"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "Тека виводу:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "Назва файла виводу:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"Розширення (наприклад .mp3) буде додано автоматично.\n"
+"Залишіть поле пустим для типових значень (%a - %t)."
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "Енкодер:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "Типові значення DSP"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "Кількість потоків:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "Формат зразка виводу:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "Зберегти формат джерела"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 біт ціле"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 біт ціле"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 біт ціле"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 біт ціле"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 біт плаваюче"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "Коли файл існує:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "Питати"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "Перезаписати"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "Зберігати структуру тек, починаючи з:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "Редагувати типові значення енкодера"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "Енкодер без назви"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "Розширення файла виводу:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "Наприклад mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "Командна стрічка:"
+
+#: ../plugins/converter/interface.c:436
+#, c-format
+msgid ""
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"Приклад: lame - %o\n"
+"%i для вхідного файлу, %o для вихідного файлу, - для потокових даних"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - назва вихідного файлу\n"
+"%i - назва тимчасового вхідного файлу</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "Метод:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "Трубка"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "Тимчасовий файл"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>Записувач мітки</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "Редактор типових значень DSP"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "Типові значення DSP без назви"
+
+#~ msgid "about.txt"
+#~ msgstr "about.txt"
+
+#~ msgid "ChangeLog"
+#~ msgstr "Список змін"
+
+#~ msgid "COPYING.GPLv2"
+#~ msgstr "COPYING.GPLv2"
+
+#~ msgid "COPYING.LGPLv2.1"
+#~ msgstr "COPYING.LGPLv2.1"
+
+#~ msgid "translators.txt"
+#~ msgstr "translators.txt"
+
+#~ msgid "Save playlist as"
+#~ msgstr "Зберегти список програвання як"
+
+#~ msgid "_Abort"
+#~ msgstr "_Припинити"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "Редагувати колонку"
+
+#~ msgid "Length"
+#~ msgstr "Тривалість"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Перетворення формату (початок з %):\n"
+#~ " [a]виконавець, [t]назва, [b]альбом, [B]гурт, [C]композитор\n"
+#~ " [n]номер треку, [N] кількість всіх треків,\n"
+#~ " [l]протяжність, [y]рік, [g]жанр, [c]коментар,\n"
+#~ " [r]копірайт, [f]назва файлу, [F]повний шлях, [T]мітки\n"
+#~ " [d]тека, [D]тека з шляхом\n"
+#~ "Приклад: %a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Дозволити перетворення частоти дискретизації"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Алгоритм інтерполяції:"
+
+#~ msgid "Description:"
+#~ msgstr "Опис:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Автор(и):"
+
+#~ msgid "Email:"
+#~ msgstr "Електронна пошта:"
+
+#~ msgid "Website:"
+#~ msgstr "Веб-сторінка:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "Редагувати список програвання"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Перетворення формату (початок з %):\n"
+#~ " [a]виконавець, [t]назва, [b]альбом, [B]гурт, [C]композитор\n"
+#~ " [n]номер треку, [N]всіх треків,\n"
+#~ " [l]протяжність, [y]рік, [g]жанр, [c]коментар,\n"
+#~ " [r]копірайт, [f]назва файлу, [T]мітки\n"
+#~ "Приклад: %a - %t [%l]"
+
+#~ msgid "Title / Track Artist"
+#~ msgstr "Назва / Виконавець треку"
+
+#~ msgid "Setup %s"
+#~ msgstr "Встановлення %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "Вихідний плагін ALSA"
+
+#~ msgid "DeaDBeeF now playing"
+#~ msgstr "DeaDBeeF почав програвання"
+
+#~ msgid "HVSC path"
+#~ msgstr "Шлях HVSC"
#~ msgid "Couldn't get enough memory for input buffering."
#~ msgstr "Не можу отримати достатньо пам’яті для вхідного буфорування."
@@ -1393,7 +1879,9 @@ msgstr "Авторські права"
#~ msgstr "Помилка читання початкового пакету заголовку."
#~ msgid "Couldn't get enough memory to register new stream serial number."
-#~ msgstr "Не можу отримати достатньо пам’яті для реєстрації нового серійного номера потоку."
+#~ msgstr ""
+#~ "Не можу отримати достатньо пам’яті для реєстрації нового серійного номера "
+#~ "потоку."
#~ msgid "Input truncated or empty."
#~ msgstr "Вхідні дані спотворені або порожні."
@@ -1419,8 +1907,12 @@ msgstr "Авторські права"
#~ msgid "Corrupt or missing data, continuing..."
#~ msgstr "Пошкоджено або пропущено заголовки, продовжую..."
-#~ msgid "Error writing stream to output. Output stream may be corrupted or truncated."
-#~ msgstr "Помилка запису потоку до виходу. Вихідний потік, можливо, пошкоджено або спотворено."
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Помилка запису потоку до виходу. Вихідний потік, можливо, пошкоджено або "
+#~ "спотворено."
#~ msgid ""
#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
diff --git a/po/vi.po b/po/vi.po
index 30a26af6..607e7cfa 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0xDeadBeef\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2011-02-18 05:14+0200\n"
"Last-Translator: Duy Hung <nguyentieuhau@gmail.com>\n"
"Language-Team: English (United Kingdom) <yorvik.ubunto@gmail.com>\n"
@@ -21,889 +21,961 @@ msgstr ""
"X-Poedit-Language: English en_GB\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "Những định dạng âm thanh được hỗ trợ"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "Những tập tin khác (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "Mở tập tin..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "Thêm tập tin vào playlist..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "Thêm thư mục vào playlist..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "Lỗi trong khi đọc tập tin trợ giúp"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "Không thể đọc tập tin trợ giúp"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "Trợ giúp"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "Về DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, fuzzy, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s ChangeLog"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, fuzzy, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF đang phát"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "Sửa playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "Tiêu đề:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "Đổi tên Playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "Xóa Playlist"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "Thêm Playlist Mới"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
#, fuzzy
msgid "Save DeaDBeeF EQ Preset"
msgstr "Save DeaDBeeF EQ Preset"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
#, fuzzy
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ preset files (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
#, fuzzy
msgid "Load DeaDBeeF EQ Preset..."
msgstr "Load DeaDBeeF EQ Preset..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
#, fuzzy
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ presets (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
#, fuzzy
msgid "Import Foobar2000 EQ Preset..."
msgstr "Import Foobar2000 EQ Preset..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
#, fuzzy
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ presets (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+#, fuzzy
+msgid "Save Preset"
+msgstr "Save Preset"
+
+#: ../plugins/gtkui/eq.c:324
+#, fuzzy
+msgid "Load Preset"
+msgstr "Load Preset"
+
+#: ../plugins/gtkui/eq.c:332
+#, fuzzy
+msgid "Import Foobar2000 Preset"
+msgstr "Import Foobar2000 Preset"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "Bật"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
#, fuzzy
msgid "Zero All"
msgstr "Zero All"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
#, fuzzy
msgid "Zero Preamp"
msgstr "Zero Preamp"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
#, fuzzy
msgid "Zero Bands"
msgstr "Zero Bands"
-#: ../plugins/gtkui/eq.c:321
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
#, fuzzy
-msgid "Save Preset"
+msgid "Presets"
msgstr "Save Preset"
-#: ../plugins/gtkui/eq.c:328
-#, fuzzy
-msgid "Load Preset"
-msgstr "Load Preset"
-
-#: ../plugins/gtkui/eq.c:335
-#, fuzzy
-msgid "Import Foobar2000 Preset"
-msgstr "Import Foobar2000 Preset"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 ngày %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d ngày %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "Dừng phát | %d bài | Tất cả %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
#, fuzzy
msgid "Mono"
msgstr "Mono"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
#, fuzzy
msgid "Stereo"
msgstr "Stereo"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "Tạm dừng | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d bài | Tất cả %s"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "Sao chép Playlist"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
#, fuzzy
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF playlist files (*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "Nạp Playlist"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "Những tập tin khác (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "Playlist Mới"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "Playlist Mới (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "_Tập tin"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "_Mở tập tin"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "Thêm tập tin"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "Thêm thư mục"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "Thêm vị trí"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "Tạo playlist mới"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "Nạp playlist"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "Lưu playlist"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "Sao chép playlist"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "_Thoát"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "_Sửa"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "_Xóa"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "Chọn tất cả"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "Bỏ chọn tất cả"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "Đảo lựa chọn"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "Lựa chọn"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "Xóa"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "Cắt"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "_Tìm"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "Tiêu đề"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+#, fuzzy
+msgid "Track number"
+msgstr "Thứ tự"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "Album"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "Nghệ sĩ"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "Tùy chọn"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "Tùy chỉnh"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "_Hiển thị"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "Thanh trạng thái"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "Tiêu đề cột"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
#, fuzzy
msgid "Tabs"
msgstr "Thẻ"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
#, fuzzy
msgid "Equalizer"
msgstr "Equalizer"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
#, fuzzy
msgid "_Playback"
msgstr "_Playback"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "Thứ tự phát"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
#, fuzzy
msgid "Linear"
msgstr "Theo thứ tự"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
#, fuzzy
-msgid "Shuffle"
+msgid "Shuffle tracks"
msgstr "Theo vòng tròn"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
+msgstr "Theo vòng tròn"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "Ngẫu nhiên"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "Lặp lại"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "Lặp lại Tất cả"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "Lặp lại Một Bài"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "Không Lặp lại"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
#, fuzzy
msgid "Scroll follows playback"
msgstr "Trượt theo quá trình playback"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
#, fuzzy
msgid "Cursor follows playback"
msgstr "Trỏ chuột theo quá trình playback"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
#, fuzzy
msgid "Stop after current"
msgstr "Dừng sau khi kết thúc bài nhạc"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "_Trợ giúp"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
#, fuzzy
msgid "_ChangeLog"
msgstr "_ChangeLog"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "_Thông tin"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "Tìm kiếm"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "Dừng"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "Phát"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "Tạm dừng"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "Trước"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "Sau"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "Phát Ngẫu nhiên"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "Thông tin"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "Thoát"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "Thêm tập tin..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "_Hủy"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "Thông tin Bài nhạc"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-"<b>CẢNH BÁO</b>: chức năng lưu thẻ vẫn đang được phát triển.\n"
-"<b>Hãy tạo bản sao dự phòng</b> trước khi sử dụng."
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "_Áp dụng"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "_Đóng"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
#, fuzzy
msgid "Metadata"
msgstr "Metadata"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "Thuộc tính"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "editcolumndlg"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "Tiêu đề:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "Nhập tiêu đề cột mới tại đây"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "Loại:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "Thứ tự"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "Đang phát"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "Bìa Album"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "Nghệ sĩ - Album"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "Nghệ sĩ"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "Album"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "Tiêu đề"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "Độ dài"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "Thời lượng"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "Bài"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+#, fuzzy
+msgid "Track Number"
+msgstr "Bài Số"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
#, fuzzy
msgid "Band / Album Artist"
msgstr "Nhóm / Nghệ sĩ Chính"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "Tùy chọn"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "Định dạng:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "Canh chỉnh:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "Trái"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "Phải"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, fuzzy, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "_Hủy"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "_Đồng ý"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
#, fuzzy
msgid "Output plugin:"
msgstr "Output plugin:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
#, fuzzy
msgid "Output device:"
msgstr "Output device:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "Âm thanh"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-#, fuzzy
-msgid "Allow dynamic samplerate switching"
-msgstr "Allow dynamic sample-rate switching"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-#, fuzzy
-msgid "Samplerate conversion quality:"
-msgstr "Sample-rate conversion quality:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
#, fuzzy
msgid "Replaygain mode:"
msgstr "Replay-gain mode:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "Tắt"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "Bài"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
#, fuzzy
msgid "Replaygain peak scale"
msgstr "Replay-gain peak scale"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+#, fuzzy
+msgid "Replaygain preamp:"
+msgstr "Replay-gain mode:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "_Playback"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "Cấu hình"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "Save Preset"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "Thu nhỏ xuống khay hệ thống"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "Nút giữa của chuột đóng playlist"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
#, fuzzy
msgid "GUI"
msgstr "GUI"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "Ghi đè"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "Mặt trước"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "Mặt sau"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "Màu thanh trượt/thanh âm lượng"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "Giữa"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "Sáng"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "Tối"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
#, fuzzy
msgid "Base"
msgstr "Base"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "Văn bản"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
#, fuzzy
msgid "Tab strip colors"
msgstr "Tab strip colours"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
#, fuzzy
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "Override (loses GTK tree-view theming, but speeds up rendering)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "Dòng chẵn"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "Dòng lẻ"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "Văn bản"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "Dòng đã chọn"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "Văn bản đã chọn"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "Trỏ chuột"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "Màu playlist"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
#, fuzzy
msgid "Enable Proxy Server"
msgstr "Enable Proxy Server"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
#, fuzzy
msgid "Proxy Server Address:"
msgstr "Proxy Server Address:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
#, fuzzy
msgid "Proxy Server Port:"
msgstr "Proxy Server Port:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
#, fuzzy
msgid "Proxy Type:"
msgstr "Proxy Type:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
#, fuzzy
msgid "Proxy Username:"
msgstr "Proxy Username:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
#, fuzzy
msgid "Proxy Password:"
msgstr "Proxy Password:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
#, fuzzy
msgid "Network"
msgstr "Network"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+#, fuzzy
+msgid "Plugins"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "Nhóm bởi"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "Định dạng:"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "Lựa chọn"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+#, fuzzy
+msgid "Plugin"
+msgstr "Plugins"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+#, fuzzy
+msgid "Tag Writer Settings"
+msgstr "Ghi thẻ"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
#, fuzzy
msgid "Write ID3v2"
msgstr "Write ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
#, fuzzy
msgid "Write ID3v1"
msgstr "Write ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
#, fuzzy
msgid "Write APEv2"
msgstr "Write APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
#, fuzzy
msgid "Strip ID3v2"
msgstr "Strip ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
#, fuzzy
msgid "Strip ID3v1"
msgstr "Strip ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
#, fuzzy
msgid "Strip APEv2"
msgstr "Strip APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
#, fuzzy
msgid "ID3v2 version"
msgstr "ID3v2 version"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
#, fuzzy
msgid "2.3 (Recommended)"
msgstr "2.3 (Recommended)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
#, fuzzy
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 character encoding (default is iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
#, fuzzy
msgid "Write ID3v2.4"
msgstr "Write ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-#, fuzzy
-msgid "Tag writer"
-msgstr "Ghi thẻ"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "Miêu tả:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "Tác giả:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "Email:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "Website:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "Cấu hình"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-#, fuzzy
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-#, fuzzy
-msgid "editplaylistdlg"
-msgstr "editplaylistdlg"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "Nhóm bởi"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, fuzzy, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "Nghệ sĩ / Album"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "Bài Số"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "Tiêu đề / Nghệ sĩ"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "Thời lượng"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "Xóa những tập tin trong đĩa"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
#, fuzzy
msgid ""
"Files will be lost. Proceed?\n"
@@ -912,203 +984,226 @@ msgstr ""
"Những tập tin sẽ bị xóa. Tiếp tục?\n"
"(Hộp thoại này có thể được tắt trong những thiết lập GTKUI plugin)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "Cảnh báo"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
#, fuzzy
msgid "Add to playback queue"
msgstr "Thêm vào hàng đợi playback"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
#, fuzzy
msgid "Remove from playback queue"
msgstr "Xóa khỏi hàng đợi playback"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
#, fuzzy
msgid "Reload metadata"
msgstr "Reload metadata"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "Xóa khỏi đĩa"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "Thêm cột"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "Sửa cột"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "Xóa cột"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "Nhóm bởi"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "Không"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "Nghệ sĩ/Ngày/Album"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "Mở tập tin..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "Thiết lập %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, fuzzy, c-format
+msgid "Configure %s"
+msgstr "Cấu hình"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "Thiết bị Âm thanh Mặc định"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "Thêm"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "Những Phím nóng Toàn cục"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
#, fuzzy
msgid "Slot"
msgstr "Slot"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "Kết hợp phím"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-#, fuzzy
-msgid "ALSA output plugin"
-msgstr "ALSA output plugin"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "Thêm tập tin..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "Đang khởi tạo..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "Bạn đã thay đổi dữ liệu của bài nhạc này."
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "Bạn thật sự muốn đóng cửa sổ này?"
-#: ../plugins/gtkui/trkproperties.c:178
-#, fuzzy
-msgid "Tag Type(s)"
-msgstr "Loại Thẻ"
-
-#: ../plugins/gtkui/trkproperties.c:180
-#, fuzzy
-msgid "Embedded Cuesheet"
-msgstr "Embedded Cue-sheet"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "Có"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "Không"
-
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "Phím tắt"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "Giá trị"
-#: ../plugins/notify/notify.c:138
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:692
#, fuzzy
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF đang phát"
+msgid "Really remove selected field?"
+msgstr "Bạn thật sự muốn đóng cửa sổ này?"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "Thêm tập tin"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "Xóa"
+
+#: ../main.c:91
#, fuzzy, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "Usage: deadbeef [options] [file(s)]\n"
-#: ../main.c:90
+#: ../main.c:92
#, fuzzy, c-format
msgid "Options:\n"
msgstr "Options:\n"
-#: ../main.c:91
+#: ../main.c:93
#, fuzzy, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help or -h Print help (this message) and exit\n"
-#: ../main.c:92
+#: ../main.c:94
#, fuzzy, c-format
msgid " --quit Quit player\n"
msgstr " --quit Quit player\n"
-#: ../main.c:93
+#: ../main.c:95
#, fuzzy, c-format
msgid " --version Print version info and exit\n"
msgstr " --version Print version info and exit\n"
-#: ../main.c:94
+#: ../main.c:96
#, fuzzy, c-format
msgid " --play Start playback\n"
msgstr " --play Start playback\n"
-#: ../main.c:95
+#: ../main.c:97
#, fuzzy, c-format
msgid " --stop Stop playback\n"
msgstr " --stop Stop playback\n"
-#: ../main.c:96
+#: ../main.c:98
#, fuzzy, c-format
msgid " --pause Pause playback\n"
msgstr " --pause Pause playback\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, fuzzy, c-format
msgid " --next Next song in playlist\n"
msgstr " --next Next song in playlist\n"
-#: ../main.c:98
+#: ../main.c:102
#, fuzzy, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev Previous song in playlist\n"
-#: ../main.c:99
+#: ../main.c:103
#, fuzzy, c-format
msgid " --random Random song in playlist\n"
msgstr " --random Random song in playlist\n"
-#: ../main.c:100
+#: ../main.c:104
#, fuzzy, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue Append file(s) to existing playlist\n"
-#: ../main.c:101
+#: ../main.c:105
#, fuzzy, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT Print formatted track name to stdout\n"
-#: ../main.c:102
+#: ../main.c:106
#, fuzzy, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1119,7 +1214,7 @@ msgstr ""
" [l]ength, track[n]umber, [y]ear, [c]omment,\n"
" copy[r]ight, [e]lapsed\n"
-#: ../main.c:105
+#: ../main.c:109
#, fuzzy, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1128,11 +1223,26 @@ msgstr ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "Mặc định"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "Có"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "Không"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
#, fuzzy
msgid ""
"2.3 (Recommended)\n"
@@ -1141,7 +1251,13 @@ msgstr ""
"2.3 (Recommended)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1151,17 +1267,18 @@ msgstr ""
"Bài\n"
"Album"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
+#, fuzzy
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
@@ -1177,7 +1294,7 @@ msgstr ""
"Band / Nghệ sĩ Chính\n"
"Tùy chọn"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1186,86 +1303,692 @@ msgstr ""
"Phải"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, fuzzy, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "Không thể tìm tập tin pixmap: %s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "Thêm Audio CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
#, fuzzy
-msgid "Couldn't get enough memory for input buffering."
-msgstr "Couldn't get enough memory for input buffering."
+msgid "Enable scrobbler"
+msgstr "Enable Proxy Server"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
+#: ../translation/extra.c:12
#, fuzzy
-msgid "Error reading first page of Ogg bitstream."
-msgstr "Error reading first page of Ogg bitstream."
+msgid "Disable nowplaying"
+msgstr "DeaDBeeF đang phát"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
+#: ../translation/extra.c:13
#, fuzzy
-msgid "Error reading initial header packet."
-msgstr "Error reading initial header packet."
+msgid "Username"
+msgstr "Proxy Username:"
-#: ../plugins/vorbis/vcedit.c:237
+#: ../translation/extra.c:14
#, fuzzy
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "Couldn’t get enough memory to register new stream serial number."
+msgid "Password"
+msgstr "Proxy Password:"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
#, fuzzy
-msgid "Input truncated or empty."
-msgstr "Input truncated or empty."
+msgid "Ask confirmation to delete files from disk"
+msgstr "Xóa những tập tin trong đĩa"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
#, fuzzy
-msgid "Input is not an Ogg bitstream."
-msgstr "Input is not an Ogg bit-stream."
+msgid "Show album art"
+msgstr "Bìa Album"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
#, fuzzy
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg bit-stream does not contain Vorbis data."
+msgid "Track Title"
+msgstr "Bài Số"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
+#: ../translation/extra.c:72
#, fuzzy
-msgid "EOF before recognised stream."
-msgstr "EOF before recognised stream."
+msgid "Total Tracks"
+msgstr "Tiêu đề / Nghệ sĩ"
-#: ../plugins/vorbis/vcedit.c:594
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
#, fuzzy
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg bit-stream does not contain a supported data-type."
+msgid "Disc Number"
+msgstr "Thứ tự"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
+#: ../translation/extra.c:79
#, fuzzy
-msgid "Corrupt secondary header."
-msgstr "Corrupt secondary header."
+msgid "Location"
+msgstr "Thêm vị trí"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
+#: ../translation/extra.c:81
#, fuzzy
-msgid "EOF before end of Vorbis headers."
-msgstr "EOF before end of Vorbis headers."
+msgid "Tag Type(s)"
+msgstr "Loại Thẻ"
-#: ../plugins/vorbis/vcedit.c:834
+#: ../translation/extra.c:82
#, fuzzy
-msgid "Corrupt or missing data, continuing..."
-msgstr "Corrupt or missing data, continuing..."
+msgid "Embedded Cuesheet"
+msgstr "Embedded Cue-sheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr ""
+
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr ""
+
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr ""
+
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr ""
+
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr ""
+
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
#, fuzzy
+msgid "Select folder..."
+msgstr "Chọn tất cả"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+#, fuzzy
+msgid "Edit encoder"
+msgstr "Sửa cột"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "Save Preset"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "Save Preset"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "Save Preset"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "Save Preset"
+
+#: ../plugins/converter/interface.c:94
+#, fuzzy
+msgid "Output folder:"
+msgstr "Output device:"
+
+#: ../plugins/converter/interface.c:115
+#, fuzzy
+msgid "Output file name:"
+msgstr "Output plugin:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "Save Preset"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+#, fuzzy
+msgid "Overwrite"
+msgstr "Ghi đè"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "Load Preset"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+#, fuzzy
+msgid "Output file extension:"
+msgstr "Output plugin:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "Thêm Audio CD"
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+#, fuzzy
+msgid "APEv2"
+msgstr "Write APEv2"
+
+#: ../plugins/converter/interface.c:486
+#, fuzzy
+msgid "ID3v1"
+msgstr "Write ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+#, fuzzy
+msgid "ID3v2"
+msgstr "Write ID3v2"
+
+#: ../plugins/converter/interface.c:520
+#, fuzzy
+msgid "<b>Tag writer</b>"
+msgstr "Ghi thẻ"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
+
+#~ msgid "Save playlist as"
+#~ msgstr "Sao chép playlist"
+
+#~ msgid "_Abort"
+#~ msgstr "_Hủy"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>CẢNH BÁO</b>: chức năng lưu thẻ vẫn đang được phát triển.\n"
+#~ "<b>Hãy tạo bản sao dự phòng</b> trước khi sử dụng."
+
+#~ msgid "editcolumndlg"
+#~ msgstr "editcolumndlg"
+
+#~ msgid "Length"
+#~ msgstr "Độ dài"
+
+#, fuzzy
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+
+#, fuzzy
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "Allow dynamic sample-rate switching"
+
+#, fuzzy
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "Sample-rate conversion quality:"
+
+#~ msgid "Description:"
+#~ msgstr "Miêu tả:"
+
+#~ msgid "Author(s):"
+#~ msgstr "Tác giả:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Website:"
+#~ msgstr "Website:"
+
+#, fuzzy
+#~ msgid "editplaylistdlg"
+#~ msgstr "editplaylistdlg"
+
+#, fuzzy
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "Thiết lập %s"
+
+#, fuzzy
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA output plugin"
+
+#, fuzzy
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "Couldn't get enough memory for input buffering."
+
+#, fuzzy
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "Error reading first page of Ogg bitstream."
+
+#, fuzzy
+#~ msgid "Error reading initial header packet."
+#~ msgstr "Error reading initial header packet."
+
+#, fuzzy
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "Couldn’t get enough memory to register new stream serial number."
+
+#, fuzzy
+#~ msgid "Input truncated or empty."
+#~ msgstr "Input truncated or empty."
+
+#, fuzzy
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "Input is not an Ogg bit-stream."
+
+#, fuzzy
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg bit-stream does not contain Vorbis data."
+
+#, fuzzy
+#~ msgid "EOF before recognised stream."
+#~ msgstr "EOF before recognised stream."
+
+#, fuzzy
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg bit-stream does not contain a supported data-type."
+
+#, fuzzy
+#~ msgid "Corrupt secondary header."
+#~ msgstr "Corrupt secondary header."
+
+#, fuzzy
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "EOF before end of Vorbis headers."
+
+#, fuzzy
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "Corrupt or missing data, continuing..."
+
+#, fuzzy
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
#~ msgid "Sound (adv.)"
#~ msgstr "Âm thanh (adv.)"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index a0132fd1..a402052a 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
-"PO-Revision-Date: 2010-10-19 13:46+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
+"PO-Revision-Date: 2011-11-24 05:01+0200\n"
"Last-Translator: Yinghua_Wang <wantinghard@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
@@ -18,833 +18,897 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Pootle 2.0.5\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "支持的声音格式"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
-msgstr "其他文件(*)"
+#: ../plugins/gtkui/callbacks.c:134
+msgid "All files (*)"
+msgstr "所有文件(*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "打开文件..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "向播放列表添加文件..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "向播放列表添加文件夹..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr "跟随符号链接"
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr "读取帮助文件时出错"
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr "加入帮助文件失败"
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr "帮助.txt"
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "帮助"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "关于 DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s 更新记录"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format, c-format
+msgid "DeaDBeeF Translators"
+msgstr "DeaDBeeF 翻译者"
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "编辑播放列表"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr "标题:"
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "重命名播放列表"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "移除播放列表"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "添加新播放列表"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "保存 DeaDBeeF EQ 预设置"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ 预设置文件(*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "加载 DeaDBeeF EQ 预设置..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ 预设置(*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "导入 Foobar2000 EQ 预设置..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ 预设置(*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "保存预设置"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "加载预设置"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "导入 Foobar2000 预设置"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "启用"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr "清零所有"
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr "清零前置放大"
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr "清零频段"
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
-msgstr "保存预设置"
-
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "加载预设置"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+msgid "Presets"
+msgstr "预设置"
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "导入 Foobar2000 预设置"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr "1 天 %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr "%d 天 %d:%02d:%02d"
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr "已停止 | 音轨数 %d | 播放总时长 %s"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr "单声道"
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr "立体声"
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr "| %4d kbps "
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr "已暂停 | "
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr "%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | 音轨数 %d | 播放总时长 %s"
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "将播放列表保存为"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr "DeaDBeeF 播放列表文件(*.dbpl)"
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "载入播放列表"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "其他文件(*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "新播放列表"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "新播放列表(%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "文件(_F)"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "打开文件(_O)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "添加文件"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "添加文件夹"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "添加位置"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "新播放列表"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr "加载播放列表"
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr "保存播放列表"
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr "将播放列表保存为"
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "退出(_Q)"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "编辑(_E)"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "清除(_C)"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "选择所有"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "去选所有"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "反转选择"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "选择"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "移除"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "剪切"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "查找(_F)"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr "排序依据"
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr "标题"
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr "音轨号"
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr "专辑"
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr "艺人"
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr "日期"
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr "自定义"
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "偏好设置"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "查看(_V)"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "状态栏"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "列标题"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "标签"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "均衡器"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "播放(_P)"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "顺序"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "线性"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
-msgstr "打乱"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+msgid "Shuffle tracks"
+msgstr "打乱音轨"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+msgid "Shuffle albums"
+msgstr "打乱专辑"
+
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "随机"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "循环"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "全部循环"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "单曲循环"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "不循环"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr "随播放滚动列表"
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr "光标定位在播放的曲目"
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr "当前曲目后停止"
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr "跳到当前音轨"
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "帮助(_H)"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "更新记录(_C)"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr "_GPLv2"
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr "_LGPLv2.1"
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "关于(_A)"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr "翻译者(_T)"
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "搜索"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "停止"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "播放"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "暂停"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "上一曲"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "下一曲"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr "随机播放"
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr "关于"
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr "退出"
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr "正在添加文件..."
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr "中止(_A)"
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr "音轨属性"
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
-msgstr ""
-"<b>警告</b>:编辑标签功能尚在开发中。\n"
-"使用前请<b>做好备份</b>。"
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
+msgstr "设置"
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr "应用(_A)"
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr "关闭(_C)"
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr "元数据"
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr "属性"
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr "编辑列对话框"
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr "标题:"
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr "在此输入新的列标题"
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr "类型:"
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
-msgstr "文件号"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
+msgstr "项目索引"
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr "正在播放"
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr "专辑封面"
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr "艺人 - 专辑"
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr "艺人"
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr "专辑"
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
-msgstr "标题"
-
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
-msgstr "长度"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
+msgstr "时长"
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr "音轨"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
+msgstr "音轨号"
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr "乐队 / 专辑艺人"
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr "自定义"
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "格式:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "对齐:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "左"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "右"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"格式规定(start with %):\n"
-" [a]艺人, [t]标题, [b]专辑, [B]乐队, [C]作曲\n"
-" [n]音轨号, [N]总音轨数,\n"
-" [l]时长, [y]年份, [g]流派, [c]注释,\n"
-" [r]版权, [f]文件名, [F]完整路径, [T]标签,\n"
-" [d]目录, [D]带路径的目录\n"
-"例:%a - %t [%l]"
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "取消(_C)"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "确定(_O)"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr "输出插件:"
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr "输出设备:"
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
+msgstr "总是将 8 位音频转换为 16 位"
+
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
msgid "Sound"
msgstr "声音"
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
-msgstr "允许动态采样率切换"
-
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
-msgstr "采样率转换质量:"
-
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr "回放增益方式:"
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr "禁用"
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr "音轨"
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr "回放增益峰值均衡"
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr "-12 dB"
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr "+12 dB"
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr "回放预增益:"
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr "全局预增益:"
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr "通过命令行(或文件管理器)向此播放列表添加文件:"
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr "启动时恢复上一次会话"
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr "在添加文件夹时排除归档"
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
msgid "Playback"
msgstr "回放"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr "配置"
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+msgid "DSP Chain Preset"
+msgstr "DSP 链预设置"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr "加载(_L)"
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr "DSP(数字信号处理)"
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr "点击关闭时最小化到托盘"
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr "鼠标中键关闭播放列表"
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr "隐藏系统托盘图标"
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr "用粗体显示当前正在播放的音轨"
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr "隐藏“从磁盘删除”右键菜单项"
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr "在添加单个文件夹时自动命名播放列表"
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr "界面刷新频率(每秒的次数):"
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr "播放时的标题栏文本:"
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr "停止时的标题栏文本:"
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr "图形用户界面插件(更改后需重启程序):"
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr "用户界面"
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr "覆盖"
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr "前景色"
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr "背景色"
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr "搜索条/音量条颜色"
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr "中"
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr "右"
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr "暗"
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr "基础"
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr "文本"
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr "标签条颜色"
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr "覆盖(不同于 GTK 树状视图风格,但渲染更快)"
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr "偶数行"
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr "奇数行"
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr "文本"
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr "选择的行"
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr "选择的文本"
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr "光标"
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr "播放列表颜色"
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr "颜色"
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr "启用代理服务器"
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr "代理服务器地址:"
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr "代理服务器端口:"
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr "代理类型:"
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr "代理用户名:"
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr "代理密码:"
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr "网络"
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
+msgstr "版本:"
+
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
+msgstr "版权"
+
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
+msgstr "插件"
+
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
+msgstr "URL:"
+
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
+msgstr "分组依据"
+
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
+msgstr "排序依据..."
+
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+msgid "Format"
+msgstr "格式"
+
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
+msgstr "升序"
+
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
+msgstr "降序"
+
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+msgid "Select DSP Plugin"
+msgstr "选择 DSP 插件"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
+msgstr "插件"
+
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
+msgstr "标签编辑器设置"
+
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
msgid "Write ID3v2"
msgstr "写 ID3v2"
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
msgid "Write ID3v1"
msgstr "写 ID3v1"
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
msgid "Write APEv2"
msgstr "写 APEv2"
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
msgid "Strip ID3v2"
msgstr "清除 ID3v2"
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
msgid "Strip ID3v1"
msgstr "清除 ID3v1"
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
msgid "Strip APEv2"
msgstr "清除 APEv2"
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
msgid "ID3v2 version"
msgstr "ID3v2 版本"
-#: ../plugins/gtkui/interface.c:2247
+#: ../plugins/gtkui/interface.c:3531
msgid "2.3 (Recommended)"
msgstr "2.3 (推荐)"
-#: ../plugins/gtkui/interface.c:2248
+#: ../plugins/gtkui/interface.c:3532
msgid "2.4"
msgstr "2.4"
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr "ID3v1 字符编码(默认为 iso8859-1)"
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
msgid "Write ID3v2.4"
msgstr "写 ID3v2.4"
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
-msgstr "标签编辑器"
-
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
-msgstr "描述:"
-
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
-msgstr "作者:"
-
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
-msgstr "电子邮箱:"
-
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
-msgstr "网站:"
-
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
-msgstr "配置"
-
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
-msgstr "插件"
-
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
-msgstr "编辑播放列表对话框"
-
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
-msgstr "URL:"
-
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
-msgstr "分组依据"
-
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
-msgstr ""
-"格式规定(用 % 开头):\n"
-" [a]艺人, [t]标题, [b]专辑, [B]乐队, [C]作曲\n"
-" [n]音轨号, [N]总音轨数,\n"
-" [l]时长, [y]年份, [g]流派, [c]注释,\n"
-" [r]版权, [f]文件名, [T]标签\n"
-"例:%a - %t [%l]"
-
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr "艺人 / 专辑"
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr "音轨号"
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr "标题 / 音轨艺人"
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr "时长"
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr "从磁盘中删除文件"
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
@@ -852,195 +916,219 @@ msgstr ""
"文件将消失。继续吗?\n"
"(可以在 GTKUI 插件设置中禁用此对话框)"
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr "警告"
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr "添加到播放列表"
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr "从播放队列中移除"
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr "重新载入元数据"
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr "从磁盘中删除"
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr "添加列"
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr "编辑列"
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr "移除列"
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr "分组依据"
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr "无"
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr "艺人/日期/专辑"
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr "打开文件..."
-#: ../plugins/gtkui/pluginconf.c:142
-#, c-format
-msgid "Setup %s"
-msgstr "设置 %s"
+#: ../plugins/gtkui/pluginconf.c:217
+#, c-format, c-format
+msgid "Configure %s"
+msgstr "配置 %s"
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr "默认音频设备"
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr "添加"
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr "全局热键"
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr "槽"
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr "按键组合"
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
-msgstr "ALSA 输出插件"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
+msgstr "正在添加文件..."
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr "正在初始化..."
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr "您修改了此音轨的数据。"
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr "真的关闭该窗口吗?"
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
-msgstr "标签类型"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
-msgstr "嵌入的 Cuesheet"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
-msgstr "是"
-
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
-msgstr "否"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
+msgstr "[多个值] "
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
-msgstr "编解码器"
-
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
msgid "Key"
msgstr "键"
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
msgid "Value"
msgstr "值"
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
-msgstr "DeaDBeeF 正在播放"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
+msgstr "正在写入标签..."
+
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
+msgstr "名称:"
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
+msgstr "字段名称不能以 : 或 _ 开头"
+
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr "无法添加字段"
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
+msgstr "同名的字段已经存在,请尝试其他名称。"
+
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
+msgstr "真的移除所选字段吗?"
+
+#: ../plugins/gtkui/trkproperties.c:734
+msgid "Add field"
+msgstr "添加字段"
+
+#: ../plugins/gtkui/trkproperties.c:737
+msgid "Remove field"
+msgstr "移除字段"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr "用法:deadbeef [选项] [文件]\n"
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr "选项:\n"
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr " --help 或 -h 打印帮助(这条消息)并退出\n"
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr " --quit 退出播放器\n"
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr " --version 打印版本信息并退出\n"
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr " --play 开始播放\n"
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr " --stop 停止播放\n"
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr " --pause 暂停播放\n"
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr " --toggle-pause 切换暂停状态\n"
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr " --play-pause 若停止则开始播放,否则切换暂停状态\n"
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr " --next 播放列表中的下一首歌曲\n"
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr " --prev 播放列表中的上一首歌曲\n"
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr " --random 播放列表中的任一首歌曲\n"
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr " --queue 向现有的播放列表中追加文件\n"
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr " --nowplaying FMT 向标准输出打印格式化的音轨名称\n"
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1051,7 +1139,7 @@ msgstr ""
" [l]时长, [n]音轨号, [y]年代, [c]注释,\n"
" [r]版权, [e]已播放时间\n"
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
@@ -1059,11 +1147,27 @@ msgid ""
msgstr ""
" 例:--nowplaying \"%%a - %%t\" 将打印“艺人 - 标题”\n"
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr " 更多信息请参阅 http://sourceforge.net/apps/mediawiki/deadbeef"
+"/index.php?title=Title_Formatting\n"
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr "默认"
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr "是"
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr "否"
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
@@ -1071,7 +1175,15 @@ msgstr ""
"2.3 (推荐)\n"
"2.4"
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+"升序\n"
+"降序"
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
@@ -1081,21 +1193,21 @@ msgstr ""
"音轨\n"
"专辑"
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-"文件号\n"
+"项目序号\n"
"正在播放\n"
"专辑封面\n"
"艺人 - 专辑\n"
@@ -1103,11 +1215,11 @@ msgstr ""
"专辑\n"
"标题\n"
"时长\n"
-"音轨\n"
+"音轨号\n"
"乐队 / 专辑艺人\n"
"自定义"
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
@@ -1116,67 +1228,649 @@ msgstr ""
"右"
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr "找不到位图文件:%s"
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
-msgstr "无法获取足够的输入缓冲区内存。"
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+"wildmidi:找不到 freepats 配置文件。请安装 timidity-freepats 软件包,或在插件"
+"设置中指定 freepats.cfg 的路径。"
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "添加音频 CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr "在 Last.fm 上查找"
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr "使用 ALSA 重采样"
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr "停止时释放设备"
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr "首选的缓存大小"
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr "首选的周期长度"
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr "启用 scrobbler"
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr "禁用现在播放"
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr "用户名"
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr "密码"
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr "Scrobble URL"
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr "设备文件"
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr "修正 OSS4 采样率问题"
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr "缓存更新周期(小时)"
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr "从内嵌标签中提取"
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr "从本地文件夹提取"
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr "本地封面文件掩码"
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr "从 last.fm 获取"
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr "从 albumart.org 获取"
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr "按较长的边拉伸图片"
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr "使用 CDDB/FreeDB"
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr "首选 CD-Text 而非 CDDB"
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr "CDDB url (如“freedb.org”)"
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr "CDDB 端口号 (如“888”)"
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr "首选 CDDB 协议而非 HTTP"
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr "启用 NRG 图像支持"
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr "重采样品质(0~2,越大品质越好)"
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr "最大歌曲长度(分钟)"
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr "从磁盘中删除文件时让我确认"
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr "状态图标音量控制灵敏度"
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr "自定义状态图标"
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr "以 --sync 参数运行 gtk_init (调试模式)"
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr "在插件环境菜单项间添加分隔线"
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr "通知标题格式"
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr "通知内容格式"
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr "显示专辑封面"
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr "专辑封面尺寸(像素)"
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr "PulseAudio 服务器"
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr "采样率"
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr "相对搜寻表路径"
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr "绝对搜寻表路径"
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr "交换音频字节(如果所听到的没有变化可切回)"
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr "启用 HVSC 歌曲长度数据库"
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr "Songlengths.txt (来自 HVSC)"
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr "采样位数(8 或 16)"
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr "默认歌曲长度(秒)"
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr "Timidity++ 音色库配置文件"
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr "音轨标题"
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr "演奏/演唱"
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr "总音轨数"
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr "流派"
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr "作曲"
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr "盘片号"
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr "注释"
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr "编码器 / 厂商"
+
+#: ../translation/extra.c:79
+msgid "Location"
+msgstr "位置"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr "次音轨索引"
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
+msgstr "标签类型"
+
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
+msgstr "嵌入的 Cuesheet"
+
+#: ../translation/extra.c:83
+msgid "Codec"
+msgstr "编解码器"
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
-msgstr "读取 Ogg 位流第一页出错。"
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
+msgstr "文件扩展名(用;分隔)"
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
-msgstr "读取初始数据头包出错。"
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
+msgstr "转换"
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
-msgstr "无法获取足够的内存来注册新的流序列号码。"
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
+msgstr "目标采样率"
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
-msgstr "输入被截断或为空。"
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
+msgstr "品质 / 算法"
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
-msgstr "输入不是一个 Ogg 位流。"
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
+msgstr "自动采样率(替代目标采样率)"
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
-msgstr "Ogg 位流不包含 Vorbis 数据。"
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
+msgstr "文件已存在。覆盖吗?"
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
-msgstr "在识别的流之前遇到了文件尾(EOF)。"
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
+msgstr "转换器警告"
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
-msgstr "Ogg 位流不包含支持的数据类型。"
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
+msgstr "请选择编码器"
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
-msgstr "损坏的次要数据头。"
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr "转换器错误"
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
-msgstr "在 Vorbis 数据头之前遇到了文件尾(EOF)。"
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr "正在转换..."
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
-msgstr "损坏或缺少数据,继续..."
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+msgid "Select folder..."
+msgstr "选择文件夹..."
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
+msgstr "保存编码器预设置失败"
+
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
-msgstr "将流写入输出出错。输出流可能被损坏或截断。"
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
+msgstr "请检查预设置文件夹权限,选择其他标题或清理出一些磁盘空间"
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr "同名的预设置已经存在。请另选一个标题。"
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr "错误"
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr "添加新编码器"
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr "编辑编码器"
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+msgid "Remove preset"
+msgstr "移除预设置"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr "此操作将删除所选的预设置。您确定吗?"
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr "编码器"
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr "向 DSP 链上添加插件"
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr "保存 DSP 预设置失败"
+
+#: ../plugins/converter/convgui.c:1098
+msgid "New DSP Preset"
+msgstr "新建 DSP 预设置"
+
+#: ../plugins/converter/convgui.c:1183
+msgid "Edit DSP Preset"
+msgstr "编辑 DSP 预设置"
+
+#: ../plugins/converter/convgui.c:1203
+msgid "DSP Presets"
+msgstr "DSP 预设置"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr "输出文件夹:"
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr "输出文件名:"
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+"扩展名(如 .mp3)会自动追加。\n"
+"不填则使用默认(%a - %t)。"
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr "编码器:"
+
+#: ../plugins/converter/interface.c:163
+msgid "DSP preset:"
+msgstr "DSP 预设置:"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr "线程数:"
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr "输出采样格式:"
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr "保持源格式"
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr "8 位有符号整型"
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr "16 位有符号整型"
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr "24 位有符号整型"
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr "32 位有符号整型"
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr "32 位浮点型"
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr "若文件存在:"
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr "提示"
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr "覆盖"
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr "保持文件夹结构,开始于:"
+
+#: ../plugins/converter/interface.c:379
+msgid "Edit Encoder Preset"
+msgstr "编辑编码器预设置"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr "无标题编码器"
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr "输出文件扩展名:"
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr "如 mp3"
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr "命令行:"
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
-msgstr "wildmidi:找不到 freepats 配置文件。请安装 timidity-freepats 软件包,"
-"或在插件设置中指定 freepats.cfg 的路径。"
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+"例如:lame - %o\n"
+"%i 为输入文件,%o 为输出文件,- 为标准输入"
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
+msgstr ""
+"<small>%o - 输出文件名\n"
+"%i - 临时输入文件名</small>"
+
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr "方法:"
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr "管道"
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr "临时文件"
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr "APEv2"
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr "ID3v1"
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr "OggVorbis"
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr "FLAC"
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr "ID3v2"
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr "<b>标签编辑器</b>"
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr "DSP 预设置编辑器"
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr "无标题的 DSP 预设置"
+
+#~ msgid "Save playlist as"
+#~ msgstr "将播放列表保存为"
+
+#~ msgid "_Abort"
+#~ msgstr "中止(_A)"
+
+#~ msgid ""
+#~ "<b>WARNING</b>: tag writing feature is still in development.\n"
+#~ "<b>Make backup copies</b> before using."
+#~ msgstr ""
+#~ "<b>警告</b>:编辑标签功能尚在开发中。\n"
+#~ "使用前请<b>做好备份</b>。"
+
+#~ msgid "editcolumndlg"
+#~ msgstr "编辑列对话框"
+
+#~ msgid "Length"
+#~ msgstr "长度"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
+#~ " [d]irectory, [D]irectoryWithPath\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "格式规定(start with %):\n"
+#~ " [a]艺人, [t]标题, [b]专辑, [B]乐队, [C]作曲\n"
+#~ " [n]音轨号, [N]总音轨数,\n"
+#~ " [l]时长, [y]年份, [g]流派, [c]注释,\n"
+#~ " [r]版权, [f]文件名, [F]完整路径, [T]标签,\n"
+#~ " [d]目录, [D]带路径的目录\n"
+#~ "例:%a - %t [%l]"
+
+#~ msgid "Allow dynamic samplerate switching"
+#~ msgstr "允许动态采样率切换"
+
+#~ msgid "Samplerate conversion quality:"
+#~ msgstr "采样率转换质量:"
+
+#~ msgid "Description:"
+#~ msgstr "描述:"
+
+#~ msgid "Author(s):"
+#~ msgstr "作者:"
+
+#~ msgid "Email:"
+#~ msgstr "电子邮箱:"
+
+#~ msgid "Website:"
+#~ msgstr "网站:"
+
+#~ msgid "editplaylistdlg"
+#~ msgstr "编辑播放列表对话框"
+
+#~ msgid ""
+#~ "Format conversions (start with %):\n"
+#~ " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
+#~ " track[n]umber, [N]totaltracks,\n"
+#~ " [l]ength, [y]ear, [g]enre, [c]omment,\n"
+#~ " copy[r]ight, [f]ilename, [T]ags\n"
+#~ "Example: %a - %t [%l]"
+#~ msgstr ""
+#~ "格式规定(用 % 开头):\n"
+#~ " [a]艺人, [t]标题, [b]专辑, [B]乐队, [C]作曲\n"
+#~ " [n]音轨号, [N]总音轨数,\n"
+#~ " [l]时长, [y]年份, [g]流派, [c]注释,\n"
+#~ " [r]版权, [f]文件名, [T]标签\n"
+#~ "例:%a - %t [%l]"
+
+#~ msgid "Setup %s"
+#~ msgstr "设置 %s"
+
+#~ msgid "ALSA output plugin"
+#~ msgstr "ALSA 输出插件"
+
+#~ msgid "Couldn't get enough memory for input buffering."
+#~ msgstr "无法获取足够的输入缓冲区内存。"
+
+#~ msgid "Error reading first page of Ogg bitstream."
+#~ msgstr "读取 Ogg 位流第一页出错。"
+
+#~ msgid "Error reading initial header packet."
+#~ msgstr "读取初始数据头包出错。"
+
+#~ msgid "Couldn't get enough memory to register new stream serial number."
+#~ msgstr "无法获取足够的内存来注册新的流序列号码。"
+
+#~ msgid "Input truncated or empty."
+#~ msgstr "输入被截断或为空。"
+
+#~ msgid "Input is not an Ogg bitstream."
+#~ msgstr "输入不是一个 Ogg 位流。"
+
+#~ msgid "Ogg bitstream does not contain Vorbis data."
+#~ msgstr "Ogg 位流不包含 Vorbis 数据。"
+
+#~ msgid "EOF before recognised stream."
+#~ msgstr "在识别的流之前遇到了文件尾(EOF)。"
+
+#~ msgid "Ogg bitstream does not contain a supported data-type."
+#~ msgstr "Ogg 位流不包含支持的数据类型。"
+
+#~ msgid "Corrupt secondary header."
+#~ msgstr "损坏的次要数据头。"
+
+#~ msgid "EOF before end of Vorbis headers."
+#~ msgstr "在 Vorbis 数据头之前遇到了文件尾(EOF)。"
+
+#~ msgid "Corrupt or missing data, continuing..."
+#~ msgstr "损坏或缺少数据,继续..."
+
+#~ msgid ""
+#~ "Error writing stream to output. Output stream may be corrupted or "
+#~ "truncated."
+#~ msgstr "将流写入输出出错。输出流可能被损坏或截断。"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 13140a40..0e914100 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-10 15:02+0200\n"
+"POT-Creation-Date: 2011-11-23 14:16+0100\n"
"PO-Revision-Date: 2010-05-30 16:19+0800\n"
"Last-Translator: Hong Jen Yee <pcman.tw@gmail.com>\n"
"Language-Team: zh_TW <zh@li.org>\n"
@@ -18,1013 +18,1125 @@ msgstr ""
"X-Poedit-Language: Chinese\n"
"X-Poedit-Country: TAIWAN\n"
-#: ../plugins/gtkui/callbacks.c:97
+#: ../plugins/gtkui/callbacks.c:123
msgid "Supported sound formats"
msgstr "支援的聲音格式"
-#: ../plugins/gtkui/callbacks.c:108
-msgid "Other files (*)"
+#: ../plugins/gtkui/callbacks.c:134
+#, fuzzy
+msgid "All files (*)"
msgstr "其他檔案 (*)"
-#: ../plugins/gtkui/callbacks.c:118
+#: ../plugins/gtkui/callbacks.c:144
msgid "Open file(s)..."
msgstr "開啟檔案..."
-#: ../plugins/gtkui/callbacks.c:151
+#: ../plugins/gtkui/callbacks.c:179
msgid "Add file(s) to playlist..."
msgstr "加入檔案到播放清單..."
-#: ../plugins/gtkui/callbacks.c:190
+#: ../plugins/gtkui/callbacks.c:220
msgid "Add folder(s) to playlist..."
msgstr "加入資料夾到播放清單..."
-#: ../plugins/gtkui/callbacks.c:192
+#: ../plugins/gtkui/callbacks.c:225
msgid "Follow symlinks"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:677
+#: ../plugins/gtkui/callbacks.c:711
msgid "Failed while reading help file"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:687
+#: ../plugins/gtkui/callbacks.c:721
msgid "Failed to load help file"
msgstr ""
-#: ../plugins/gtkui/callbacks.c:701 ../plugins/gtkui/interface.c:1090
-#: ../plugins/gtkui/deadbeef.glade.h:65
+#: ../plugins/gtkui/callbacks.c:736
+msgid "help.txt"
+msgstr ""
+
+#: ../plugins/gtkui/callbacks.c:737 ../plugins/gtkui/interface.c:1155
+#: ../plugins/gtkui/deadbeef.glade.h:49 ../plugins/converter/convgui.c:1240
+#: ../plugins/converter/convgui.c:1248
msgid "Help"
msgstr "說明"
-#: ../plugins/gtkui/callbacks.c:711
+#: ../plugins/gtkui/callbacks.c:747
#, c-format
msgid "About DeaDBeeF %s"
msgstr "關於 DeaDBeeF %s"
-#: ../plugins/gtkui/callbacks.c:722
+#: ../plugins/gtkui/callbacks.c:760
#, c-format
msgid "DeaDBeeF %s ChangeLog"
msgstr "DeaDBeeF %s ChangeLog"
-#: ../plugins/gtkui/ddbtabstrip.c:527
+#: ../plugins/gtkui/callbacks.c:1116
+#, c-format
+msgid "DeaDBeeF Translators"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:755 ../plugins/gtkui/trkproperties.c:618
msgid "Edit playlist"
msgstr "編輯播放清單"
-#: ../plugins/gtkui/ddbtabstrip.c:604
+#: ../plugins/gtkui/ddbtabstrip.c:758 ../plugins/gtkui/interface.c:1486
+#: ../plugins/gtkui/interface.c:2922 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/converter/interface.c:395
+msgid "Title:"
+msgstr ""
+
+#: ../plugins/gtkui/ddbtabstrip.c:814
msgid "Rename Playlist"
msgstr "重新命名播放清單"
-#: ../plugins/gtkui/ddbtabstrip.c:608
+#: ../plugins/gtkui/ddbtabstrip.c:821
msgid "Remove Playlist"
msgstr "移除播放清單"
-#: ../plugins/gtkui/ddbtabstrip.c:612
+#: ../plugins/gtkui/ddbtabstrip.c:828
msgid "Add New Playlist"
msgstr "新增播放清單"
-#: ../plugins/gtkui/eq.c:113
+#: ../plugins/gtkui/eq.c:136
msgid "Save DeaDBeeF EQ Preset"
msgstr "儲存 DeaDBeeF EQ Preset"
-#: ../plugins/gtkui/eq.c:120
+#: ../plugins/gtkui/eq.c:143
msgid "DeaDBeeF EQ preset files (*.ddbeq)"
msgstr "DeaDBeeF EQ preset 檔案 (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:151
+#: ../plugins/gtkui/eq.c:182
msgid "Load DeaDBeeF EQ Preset..."
msgstr "載入 DeaDBeeF EQ Preset..."
-#: ../plugins/gtkui/eq.c:155
+#: ../plugins/gtkui/eq.c:186
msgid "DeaDBeeF EQ presets (*.ddbeq)"
msgstr "DeaDBeeF EQ presets (*.ddbeq)"
-#: ../plugins/gtkui/eq.c:214
+#: ../plugins/gtkui/eq.c:247
msgid "Import Foobar2000 EQ Preset..."
msgstr "匯入 Foobar2000 EQ Preset..."
-#: ../plugins/gtkui/eq.c:218
+#: ../plugins/gtkui/eq.c:251
msgid "Foobar2000 EQ presets (*.feq)"
msgstr "Foobar2000 EQ presets (*.feq)"
-#: ../plugins/gtkui/eq.c:292
+#: ../plugins/gtkui/eq.c:316
+msgid "Save Preset"
+msgstr "儲存 Preset"
+
+#: ../plugins/gtkui/eq.c:324
+msgid "Load Preset"
+msgstr "載入 Preset"
+
+#: ../plugins/gtkui/eq.c:332
+msgid "Import Foobar2000 Preset"
+msgstr "載入 Foobar2000 Preset"
+
+#: ../plugins/gtkui/eq.c:357
msgid "Enable"
msgstr "啟用"
-#: ../plugins/gtkui/eq.c:300
+#: ../plugins/gtkui/eq.c:366
msgid "Zero All"
msgstr ""
-#: ../plugins/gtkui/eq.c:307
+#: ../plugins/gtkui/eq.c:373
msgid "Zero Preamp"
msgstr ""
-#: ../plugins/gtkui/eq.c:314
+#: ../plugins/gtkui/eq.c:380
msgid "Zero Bands"
msgstr ""
-#: ../plugins/gtkui/eq.c:321
-msgid "Save Preset"
+#: ../plugins/gtkui/eq.c:387 ../plugins/converter/interface.c:820
+#, fuzzy
+msgid "Presets"
msgstr "儲存 Preset"
-#: ../plugins/gtkui/eq.c:328
-msgid "Load Preset"
-msgstr "載入 Preset"
-
-#: ../plugins/gtkui/eq.c:335
-msgid "Import Foobar2000 Preset"
-msgstr "載入 Foobar2000 Preset"
-
-#: ../plugins/gtkui/gtkui.c:133
+#: ../plugins/gtkui/gtkui.c:137
#, c-format
msgid "1 day %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:136
+#: ../plugins/gtkui/gtkui.c:140
#, c-format
msgid "%d days %d:%02d:%02d"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:145
+#: ../plugins/gtkui/gtkui.c:149
#, c-format
msgid "Stopped | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Mono"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:158
+#: ../plugins/gtkui/gtkui.c:162
msgid "Stereo"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:183
+#: ../plugins/gtkui/gtkui.c:187
#, c-format
msgid "| %4d kbps "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:189
+#: ../plugins/gtkui/gtkui.c:193
msgid "Paused | "
msgstr ""
-#: ../plugins/gtkui/gtkui.c:190
+#: ../plugins/gtkui/gtkui.c:198
#, c-format
msgid ""
"%s%s %s| %dHz | %d bit | %s | %d:%02d / %s | %d tracks | %s total playtime"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:660
+#: ../plugins/gtkui/gtkui.c:644
msgid "Save Playlist As"
msgstr "另存播放清單"
-#: ../plugins/gtkui/gtkui.c:669 ../plugins/gtkui/gtkui.c:730
+#: ../plugins/gtkui/gtkui.c:655
msgid "DeaDBeeF playlist files (*.dbpl)"
msgstr ""
-#: ../plugins/gtkui/gtkui.c:723
+#: ../plugins/gtkui/gtkui.c:773
msgid "Load Playlist"
msgstr "載入播放清單"
-#: ../plugins/gtkui/gtkui.c:863
+#: ../plugins/gtkui/gtkui.c:788
+msgid "Other files (*)"
+msgstr "其他檔案 (*)"
+
+#: ../plugins/gtkui/gtkui.c:926 ../plugins/gtkui/fileman.c:40
msgid "New Playlist"
msgstr "新增播放清單"
-#: ../plugins/gtkui/gtkui.c:866
+#: ../plugins/gtkui/gtkui.c:929
#, c-format
msgid "New Playlist (%d)"
msgstr "新增播放清單 (%d)"
-#: ../plugins/gtkui/interface.c:138 ../plugins/gtkui/deadbeef.glade.h:153
+#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:156
msgid "_File"
msgstr "檔案(_F)"
-#: ../plugins/gtkui/interface.c:145 ../plugins/gtkui/deadbeef.glade.h:157
+#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:163
msgid "_Open file(s)"
msgstr "開啟檔案(_O)"
-#: ../plugins/gtkui/interface.c:161 ../plugins/gtkui/deadbeef.glade.h:6
+#: ../plugins/gtkui/interface.c:173 ../plugins/gtkui/deadbeef.glade.h:6
msgid "Add file(s)"
msgstr "加入檔案"
-#: ../plugins/gtkui/interface.c:169 ../plugins/gtkui/deadbeef.glade.h:8
+#: ../plugins/gtkui/interface.c:181 ../plugins/gtkui/deadbeef.glade.h:8
msgid "Add folder(s)"
msgstr "加入資料夾"
-#: ../plugins/gtkui/interface.c:177 ../plugins/gtkui/interface.c:2969
+#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:3022
#: ../plugins/gtkui/deadbeef.glade.h:9
msgid "Add location"
msgstr "加入位址"
-#: ../plugins/gtkui/interface.c:186 ../plugins/gtkui/deadbeef.glade.h:83
+#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:80
msgid "New playlist"
msgstr "新播放清單"
-#: ../plugins/gtkui/interface.c:193 ../plugins/gtkui/deadbeef.glade.h:75
+#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:72
msgid "Load playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:197 ../plugins/gtkui/deadbeef.glade.h:112
+#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:110
msgid "Save playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:201 ../plugins/gtkui/deadbeef.glade.h:113
-msgid "Save playlist as"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:210 ../plugins/gtkui/deadbeef.glade.h:159
+#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:165
msgid "_Quit"
msgstr "離開(_Q)"
-#: ../plugins/gtkui/interface.c:221 ../plugins/gtkui/deadbeef.glade.h:152
+#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:155
msgid "_Edit"
msgstr "編輯(_E)"
-#: ../plugins/gtkui/interface.c:228 ../plugins/gtkui/deadbeef.glade.h:150
+#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:153
msgid "_Clear"
msgstr "清除(_C)"
-#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:117
+#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:115
msgid "Select all"
msgstr "全選"
-#: ../plugins/gtkui/interface.c:243 ../plugins/gtkui/deadbeef.glade.h:25
+#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:32
msgid "Deselect all"
msgstr "全部取消選取"
-#: ../plugins/gtkui/interface.c:250 ../plugins/gtkui/deadbeef.glade.h:70
+#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:55
msgid "Invert selection"
msgstr "反向選取"
-#: ../plugins/gtkui/interface.c:254 ../plugins/gtkui/deadbeef.glade.h:120
+#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:118
msgid "Selection"
msgstr "選取"
-#: ../plugins/gtkui/interface.c:261 ../plugins/gtkui/plcommon.c:425
-#: ../plugins/gtkui/prefwin.c:317 ../plugins/gtkui/deadbeef.glade.h:107
+#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:468
+#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/converter/interface.c:645
msgid "Remove"
msgstr "移除"
-#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/deadbeef.glade.h:20
+#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24
msgid "Crop"
msgstr "剪裁"
-#: ../plugins/gtkui/interface.c:273 ../plugins/gtkui/deadbeef.glade.h:154
+#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:157
msgid "_Find"
msgstr "尋找(_F)"
-#: ../plugins/gtkui/interface.c:285 ../plugins/gtkui/interface.c:1705
-#: ../plugins/gtkui/deadbeef.glade.h:97
+#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:122
+msgid "Sort By"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516
+#: ../plugins/gtkui/mainplaylist.c:318 ../plugins/gtkui/prefwin.c:626
+#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/converter/convgui.c:790 ../plugins/converter/convgui.c:1211
+#: ../plugins/converter/interface.c:622
+msgid "Title"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:140
+msgid "Track number"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515
+#: ../plugins/gtkui/interface.c:1875 ../plugins/gtkui/deadbeef.glade.h:10
+#: ../translation/extra.c:69
+msgid "Album"
+msgstr ""
+
+#. Track properties dialog
+#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514
+#: ../plugins/gtkui/plcommon.c:1013 ../plugins/gtkui/deadbeef.glade.h:13
+#: ../translation/extra.c:65
+msgid "Artist"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../translation/extra.c:70
+msgid "Date"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520
+#: ../plugins/gtkui/plcommon.c:1017 ../plugins/gtkui/deadbeef.glade.h:27
+msgid "Custom"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1804
+#: ../plugins/gtkui/deadbeef.glade.h:95
msgid "Preferences"
msgstr "偏好設定"
-#: ../plugins/gtkui/interface.c:289 ../plugins/gtkui/deadbeef.glade.h:160
+#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:167
msgid "_View"
msgstr "檢視(_V)"
-#: ../plugins/gtkui/interface.c:296 ../plugins/gtkui/deadbeef.glade.h:123
+#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:125
msgid "Status bar"
msgstr "狀態列"
-#: ../plugins/gtkui/interface.c:300 ../plugins/gtkui/deadbeef.glade.h:18
+#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:21
msgid "Column headers"
msgstr "標題欄"
-#: ../plugins/gtkui/interface.c:304 ../plugins/gtkui/deadbeef.glade.h:130
+#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:132
msgid "Tabs"
msgstr "分頁"
-#: ../plugins/gtkui/interface.c:308 ../plugins/gtkui/deadbeef.glade.h:33
+#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40
msgid "Equalizer"
msgstr "等化器"
-#: ../plugins/gtkui/interface.c:312 ../plugins/gtkui/deadbeef.glade.h:158
+#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:164
msgid "_Playback"
msgstr "播放(_P)"
-#: ../plugins/gtkui/interface.c:319 ../plugins/gtkui/deadbeef.glade.h:86
+#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3298
+#: ../plugins/gtkui/deadbeef.glade.h:83
msgid "Order"
msgstr "順序"
-#: ../plugins/gtkui/interface.c:326 ../plugins/gtkui/deadbeef.glade.h:74
+#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:71
msgid "Linear"
msgstr "線性"
-#: ../plugins/gtkui/interface.c:332 ../plugins/gtkui/deadbeef.glade.h:121
-msgid "Shuffle"
+#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:121
+#, fuzzy
+msgid "Shuffle tracks"
+msgstr "洗牌"
+
+#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:120
+#, fuzzy
+msgid "Shuffle albums"
msgstr "洗牌"
-#: ../plugins/gtkui/interface.c:338 ../plugins/gtkui/deadbeef.glade.h:106
+#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:104
msgid "Random"
msgstr "隨機"
-#: ../plugins/gtkui/interface.c:344 ../plugins/gtkui/deadbeef.glade.h:78
+#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:75
msgid "Looping"
msgstr "重複"
-#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:76
+#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:73
msgid "Loop All"
msgstr "重複全部"
-#: ../plugins/gtkui/interface.c:357 ../plugins/gtkui/deadbeef.glade.h:77
+#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:74
msgid "Loop Single Song"
msgstr "重複單一曲目"
-#: ../plugins/gtkui/interface.c:363 ../plugins/gtkui/deadbeef.glade.h:29
+#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:36
msgid "Don't Loop"
msgstr "不要重複播放"
-#: ../plugins/gtkui/interface.c:369 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:111
msgid "Scroll follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:374 ../plugins/gtkui/deadbeef.glade.h:22
+#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:26
msgid "Cursor follows playback"
msgstr ""
-#: ../plugins/gtkui/interface.c:378 ../plugins/gtkui/deadbeef.glade.h:125
+#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:127
msgid "Stop after current"
msgstr ""
-#: ../plugins/gtkui/interface.c:385 ../plugins/gtkui/interface.c:392
-#: ../plugins/gtkui/deadbeef.glade.h:155
+#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:67
+msgid "Jump to current track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444
+#: ../plugins/gtkui/deadbeef.glade.h:159
msgid "_Help"
msgstr "說明(_H)"
-#: ../plugins/gtkui/interface.c:400 ../plugins/gtkui/deadbeef.glade.h:149
+#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:152
msgid "_ChangeLog"
msgstr "_ChangeLog"
-#: ../plugins/gtkui/interface.c:422 ../plugins/gtkui/deadbeef.glade.h:146
+#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:158
+msgid "_GPLv2"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:160
+msgid "_LGPLv2.1"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:149
msgid "_About"
msgstr "關於(_A)"
-#: ../plugins/gtkui/interface.c:801 ../plugins/gtkui/deadbeef.glade.h:115
+#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:166
+msgid "_Translators"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:112
msgid "Search"
msgstr "搜尋"
-#: ../plugins/gtkui/interface.c:876 ../plugins/gtkui/deadbeef.glade.h:124
+#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:126
msgid "Stop"
msgstr "停止"
-#: ../plugins/gtkui/interface.c:884 ../plugins/gtkui/deadbeef.glade.h:92
+#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:89
msgid "Play"
msgstr "播放"
-#: ../plugins/gtkui/interface.c:892 ../plugins/gtkui/deadbeef.glade.h:91
+#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:88
msgid "Pause"
msgstr "暫停"
-#: ../plugins/gtkui/interface.c:900 ../plugins/gtkui/deadbeef.glade.h:98
+#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:96
msgid "Previous"
msgstr "上一個"
-#: ../plugins/gtkui/interface.c:908 ../plugins/gtkui/deadbeef.glade.h:84
+#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:81
msgid "Next"
msgstr "下一首"
-#: ../plugins/gtkui/interface.c:916 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:90
msgid "Play Random"
msgstr ""
-#: ../plugins/gtkui/interface.c:925 ../plugins/gtkui/deadbeef.glade.h:5
+#: ../plugins/gtkui/interface.c:1022 ../plugins/gtkui/deadbeef.glade.h:5
msgid "About"
msgstr ""
-#: ../plugins/gtkui/interface.c:938 ../plugins/gtkui/deadbeef.glade.h:105
+#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:103
msgid "Quit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1010 ../plugins/gtkui/deadbeef.glade.h:10
-msgid "Adding files..."
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1054 ../plugins/gtkui/deadbeef.glade.h:145
-msgid "_Abort"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1155 ../plugins/gtkui/deadbeef.glade.h:136
+#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:139
msgid "Track Properties"
msgstr ""
-#: ../plugins/gtkui/interface.c:1179 ../plugins/gtkui/deadbeef.glade.h:3
-msgid ""
-"<b>WARNING</b>: tag writing feature is still in development.\n"
-"<b>Make backup copies</b> before using."
+#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:119
+msgid "Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:1206 ../plugins/gtkui/deadbeef.glade.h:147
+#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:150
msgid "_Apply"
msgstr ""
-#: ../plugins/gtkui/interface.c:1227 ../plugins/gtkui/interface.c:1273
-#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:151
+#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363
+#: ../plugins/gtkui/deadbeef.glade.h:154
msgid "_Close"
msgstr ""
-#: ../plugins/gtkui/interface.c:1231 ../plugins/gtkui/deadbeef.glade.h:79
+#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:76
msgid "Metadata"
msgstr ""
-#: ../plugins/gtkui/interface.c:1277 ../plugins/gtkui/plcommon.c:503
-#: ../plugins/gtkui/deadbeef.glade.h:99
+#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:618
+#: ../plugins/gtkui/deadbeef.glade.h:97
msgid "Properties"
msgstr ""
-#: ../plugins/gtkui/interface.c:1363 ../plugins/gtkui/deadbeef.glade.h:161
-msgid "editcolumndlg"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1378 ../plugins/gtkui/interface.c:2869
-#: ../plugins/gtkui/deadbeef.glade.h:133
-msgid "Title:"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1386 ../plugins/gtkui/deadbeef.glade.h:32
+#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:39
msgid "Enter new column title here"
msgstr ""
-#: ../plugins/gtkui/interface.c:1394 ../plugins/gtkui/deadbeef.glade.h:137
+#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:141
msgid "Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1402
-msgid "File number"
+#: ../plugins/gtkui/interface.c:1510
+msgid "Item Index"
msgstr ""
#. create default set of columns
-#: ../plugins/gtkui/interface.c:1403 ../plugins/gtkui/mainplaylist.c:300
+#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:315
msgid "Playing"
msgstr ""
-#: ../plugins/gtkui/interface.c:1404
+#: ../plugins/gtkui/interface.c:1512
msgid "Album Art"
msgstr ""
-#: ../plugins/gtkui/interface.c:1405
+#: ../plugins/gtkui/interface.c:1513
msgid "Artist - Album"
msgstr ""
-#: ../plugins/gtkui/interface.c:1406 ../plugins/gtkui/plcommon.c:877
-msgid "Artist"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1407 ../plugins/gtkui/interface.c:1794
-msgid "Album"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1408 ../plugins/gtkui/prefwin.c:595
-msgid "Title"
+#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:319
+#: ../plugins/gtkui/search.c:394
+msgid "Duration"
msgstr ""
-#: ../plugins/gtkui/interface.c:1409
-msgid "Length"
+#: ../plugins/gtkui/interface.c:1518 ../translation/extra.c:71
+msgid "Track Number"
msgstr ""
-#: ../plugins/gtkui/interface.c:1410 ../plugins/gtkui/interface.c:1793
-msgid "Track"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1411
+#: ../plugins/gtkui/interface.c:1519 ../translation/extra.c:68
msgid "Band / Album Artist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1412 ../plugins/gtkui/plcommon.c:881
-msgid "Custom"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1418 ../plugins/gtkui/interface.c:3096
-#: ../plugins/gtkui/deadbeef.glade.h:62
+#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3150
+#: ../plugins/gtkui/deadbeef.glade.h:44
msgid "Format:"
msgstr "格式:"
-#: ../plugins/gtkui/interface.c:1433 ../plugins/gtkui/deadbeef.glade.h:11
+#: ../plugins/gtkui/interface.c:1551 ../plugins/gtkui/deadbeef.glade.h:11
msgid "Alignment:"
msgstr "對齊:"
-#: ../plugins/gtkui/interface.c:1441
+#: ../plugins/gtkui/interface.c:1559
msgid "Left"
msgstr "左"
-#: ../plugins/gtkui/interface.c:1442
+#: ../plugins/gtkui/interface.c:1560
msgid "Right"
msgstr "右"
-#: ../plugins/gtkui/interface.c:1444 ../plugins/gtkui/deadbeef.glade.h:48
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [F]ullPathname, [T]ags,\n"
-" [d]irectory, [D]irectoryWithPath\n"
-"Example: %a - %t [%l]"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1473 ../plugins/gtkui/interface.c:2900
-#: ../plugins/gtkui/interface.c:3012 ../plugins/gtkui/interface.c:3135
-#: ../plugins/gtkui/deadbeef.glade.h:148
+#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2953
+#: ../plugins/gtkui/interface.c:3065 ../plugins/gtkui/interface.c:3191
+#: ../plugins/gtkui/deadbeef.glade.h:151
msgid "_Cancel"
msgstr "取消(_C)"
-#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/interface.c:2921
-#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/interface.c:3156
-#: ../plugins/gtkui/deadbeef.glade.h:156
+#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2974
+#: ../plugins/gtkui/interface.c:3086 ../plugins/gtkui/interface.c:3212
+#: ../plugins/gtkui/deadbeef.glade.h:162
msgid "_OK"
msgstr "確定(_O)"
-#: ../plugins/gtkui/interface.c:1725 ../plugins/gtkui/deadbeef.glade.h:88
+#: ../plugins/gtkui/interface.c:1825 ../plugins/gtkui/deadbeef.glade.h:85
msgid "Output plugin:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1738 ../plugins/gtkui/deadbeef.glade.h:87
+#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:84
msgid "Output device:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1747 ../plugins/gtkui/deadbeef.glade.h:122
-msgid "Sound"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:1756 ../plugins/gtkui/deadbeef.glade.h:12
-msgid "Allow dynamic samplerate switching"
+#: ../plugins/gtkui/interface.c:1847 ../plugins/gtkui/deadbeef.glade.h:12
+msgid "Always convert 8 bit audio to 16 bit"
msgstr ""
-#: ../plugins/gtkui/interface.c:1764 ../plugins/gtkui/deadbeef.glade.h:111
-msgid "Samplerate conversion quality:"
+#: ../plugins/gtkui/interface.c:1851 ../plugins/gtkui/deadbeef.glade.h:124
+msgid "Sound"
msgstr ""
-#: ../plugins/gtkui/interface.c:1783 ../plugins/gtkui/deadbeef.glade.h:108
+#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:106
msgid "Replaygain mode:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1792
+#: ../plugins/gtkui/interface.c:1873
msgid "Disable"
msgstr ""
-#: ../plugins/gtkui/interface.c:1796 ../plugins/gtkui/deadbeef.glade.h:109
+#: ../plugins/gtkui/interface.c:1874
+msgid "Track"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1877 ../plugins/gtkui/deadbeef.glade.h:107
msgid "Replaygain peak scale"
msgstr ""
-#: ../plugins/gtkui/interface.c:1804 ../plugins/gtkui/deadbeef.glade.h:7
+#: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/interface.c:1926
+#: ../plugins/gtkui/deadbeef.glade.h:2
+msgid "-12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/interface.c:1936
+#: ../plugins/gtkui/deadbeef.glade.h:1
+msgid "+12 dB"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1906 ../plugins/gtkui/deadbeef.glade.h:108
+msgid "Replaygain preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:47
+msgid "Global preamp:"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1944 ../plugins/gtkui/deadbeef.glade.h:7
msgid "Add files from command line (or file manager) to this playlist:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1813 ../plugins/gtkui/deadbeef.glade.h:110
+#: ../plugins/gtkui/interface.c:1953 ../plugins/gtkui/deadbeef.glade.h:109
msgid "Resume previous session on startup"
msgstr ""
-#: ../plugins/gtkui/interface.c:1817 ../plugins/gtkui/deadbeef.glade.h:94
+#: ../plugins/gtkui/interface.c:1957 ../plugins/gtkui/deadbeef.glade.h:37
+msgid "Don't add from archives when adding folders"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:1961 ../plugins/gtkui/deadbeef.glade.h:91
#, fuzzy
msgid "Playback"
msgstr "播放(_P)"
-#: ../plugins/gtkui/interface.c:1826 ../plugins/gtkui/deadbeef.glade.h:16
+#: ../plugins/gtkui/interface.c:1982 ../plugins/gtkui/interface.c:2514
+#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:649
+msgid "Configure"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2017 ../plugins/gtkui/deadbeef.glade.h:29
+#, fuzzy
+msgid "DSP Chain Preset"
+msgstr "儲存 Preset"
+
+#: ../plugins/gtkui/interface.c:2029 ../plugins/gtkui/deadbeef.glade.h:161
+msgid "_Load"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2033 ../plugins/gtkui/deadbeef.glade.h:28
+msgid "DSP"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2042 ../plugins/gtkui/deadbeef.glade.h:19
msgid "Close minimizes to tray"
msgstr ""
-#: ../plugins/gtkui/interface.c:1830 ../plugins/gtkui/deadbeef.glade.h:81
+#: ../plugins/gtkui/interface.c:2046 ../plugins/gtkui/deadbeef.glade.h:78
msgid "Middle mouse button closes playlist"
msgstr ""
-#: ../plugins/gtkui/interface.c:1834 ../plugins/gtkui/deadbeef.glade.h:67
+#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:51
msgid "Hide system tray icon"
msgstr ""
-#: ../plugins/gtkui/interface.c:1838 ../plugins/gtkui/deadbeef.glade.h:139
+#: ../plugins/gtkui/interface.c:2054 ../plugins/gtkui/deadbeef.glade.h:143
msgid "Use bold font for currently playing track"
msgstr ""
-#: ../plugins/gtkui/interface.c:1842 ../plugins/gtkui/deadbeef.glade.h:66
+#: ../plugins/gtkui/interface.c:2058 ../plugins/gtkui/deadbeef.glade.h:50
msgid "Hide \"Delete from disk\" context menu item"
msgstr ""
-#: ../plugins/gtkui/interface.c:1850 ../plugins/gtkui/deadbeef.glade.h:134
+#: ../plugins/gtkui/interface.c:2062 ../plugins/gtkui/deadbeef.glade.h:16
+msgid "Auto-name playlists when adding a single folder"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2070 ../plugins/gtkui/deadbeef.glade.h:54
+msgid "Interface refresh rate (times per second):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2084 ../plugins/gtkui/deadbeef.glade.h:137
msgid "Titlebar text while playing:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:135
+#: ../plugins/gtkui/interface.c:2098 ../plugins/gtkui/deadbeef.glade.h:138
msgid "Titlebar text while stopped:"
msgstr ""
-#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:63
+#: ../plugins/gtkui/interface.c:2112 ../plugins/gtkui/deadbeef.glade.h:46
+msgid "GUI Plugin (changing requires restart):"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2120 ../plugins/gtkui/deadbeef.glade.h:45
msgid "GUI"
msgstr ""
-#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/interface.c:1932
-#: ../plugins/gtkui/deadbeef.glade.h:89
+#: ../plugins/gtkui/interface.c:2135 ../plugins/gtkui/interface.c:2179
+#: ../plugins/gtkui/deadbeef.glade.h:86
msgid "Override"
msgstr ""
-#: ../plugins/gtkui/interface.c:1897 ../plugins/gtkui/deadbeef.glade.h:46
+#: ../plugins/gtkui/interface.c:2144 ../plugins/gtkui/deadbeef.glade.h:42
msgid "Foreground"
msgstr ""
-#: ../plugins/gtkui/interface.c:1904 ../plugins/gtkui/deadbeef.glade.h:14
+#: ../plugins/gtkui/interface.c:2151 ../plugins/gtkui/deadbeef.glade.h:17
msgid "Background"
msgstr ""
-#: ../plugins/gtkui/interface.c:1923 ../plugins/gtkui/deadbeef.glade.h:116
+#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:113
msgid "Seekbar/Volumebar colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:1941 ../plugins/gtkui/deadbeef.glade.h:80
+#: ../plugins/gtkui/interface.c:2188 ../plugins/gtkui/deadbeef.glade.h:77
msgid "Middle"
msgstr ""
-#: ../plugins/gtkui/interface.c:1948 ../plugins/gtkui/deadbeef.glade.h:73
+#: ../plugins/gtkui/interface.c:2195 ../plugins/gtkui/deadbeef.glade.h:70
msgid "Light"
msgstr ""
-#: ../plugins/gtkui/interface.c:1955 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../plugins/gtkui/interface.c:2202 ../plugins/gtkui/deadbeef.glade.h:30
msgid "Dark"
msgstr ""
-#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:15
+#: ../plugins/gtkui/interface.c:2233 ../plugins/gtkui/deadbeef.glade.h:18
msgid "Base"
msgstr ""
-#: ../plugins/gtkui/interface.c:1993 ../plugins/gtkui/deadbeef.glade.h:129
+#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/interface.c:2297
+#: ../plugins/gtkui/deadbeef.glade.h:134
+msgid "Text"
+msgstr ""
+
+#: ../plugins/gtkui/interface.c:2253 ../plugins/gtkui/deadbeef.glade.h:131
msgid "Tab strip colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:90
+#: ../plugins/gtkui/interface.c:2262 ../plugins/gtkui/deadbeef.glade.h:87
msgid "Override (looses GTK treeview theming, but speeds up rendering)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:34
+#: ../plugins/gtkui/interface.c:2271 ../plugins/gtkui/deadbeef.glade.h:41
msgid "Even row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2018 ../plugins/gtkui/deadbeef.glade.h:85
+#: ../plugins/gtkui/interface.c:2278 ../plugins/gtkui/deadbeef.glade.h:82
msgid "Odd row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2037 ../plugins/gtkui/deadbeef.glade.h:132
-msgid "Text"
-msgstr ""
-
-#: ../plugins/gtkui/interface.c:2044 ../plugins/gtkui/deadbeef.glade.h:118
+#: ../plugins/gtkui/interface.c:2304 ../plugins/gtkui/deadbeef.glade.h:116
msgid "Selected row"
msgstr ""
-#: ../plugins/gtkui/interface.c:2063 ../plugins/gtkui/deadbeef.glade.h:119
+#: ../plugins/gtkui/interface.c:2323 ../plugins/gtkui/deadbeef.glade.h:117
msgid "Selected text"
msgstr ""
-#: ../plugins/gtkui/interface.c:2076 ../plugins/gtkui/deadbeef.glade.h:21
+#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:25
msgid "Cursor"
msgstr ""
-#: ../plugins/gtkui/interface.c:2089 ../plugins/gtkui/deadbeef.glade.h:95
+#: ../plugins/gtkui/interface.c:2349 ../plugins/gtkui/deadbeef.glade.h:92
msgid "Playlist colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2093 ../plugins/gtkui/deadbeef.glade.h:17
+#: ../plugins/gtkui/interface.c:2353 ../plugins/gtkui/deadbeef.glade.h:20
msgid "Colors"
msgstr ""
-#: ../plugins/gtkui/interface.c:2102 ../plugins/gtkui/deadbeef.glade.h:31
+#: ../plugins/gtkui/interface.c:2362 ../plugins/gtkui/deadbeef.glade.h:38
msgid "Enable Proxy Server"
msgstr ""
-#: ../plugins/gtkui/interface.c:2110 ../plugins/gtkui/deadbeef.glade.h:101
+#: ../plugins/gtkui/interface.c:2370 ../plugins/gtkui/deadbeef.glade.h:99
msgid "Proxy Server Address:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2124 ../plugins/gtkui/deadbeef.glade.h:102
+#: ../plugins/gtkui/interface.c:2384 ../plugins/gtkui/deadbeef.glade.h:100
msgid "Proxy Server Port:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2138 ../plugins/gtkui/deadbeef.glade.h:103
+#: ../plugins/gtkui/interface.c:2398 ../plugins/gtkui/deadbeef.glade.h:101
msgid "Proxy Type:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2157 ../plugins/gtkui/deadbeef.glade.h:104
+#: ../plugins/gtkui/interface.c:2417 ../plugins/gtkui/deadbeef.glade.h:102
msgid "Proxy Username:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2170 ../plugins/gtkui/deadbeef.glade.h:100
+#: ../plugins/gtkui/interface.c:2430 ../plugins/gtkui/deadbeef.glade.h:98
msgid "Proxy Password:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2180 ../plugins/gtkui/deadbeef.glade.h:82
+#: ../plugins/gtkui/interface.c:2440 ../plugins/gtkui/deadbeef.glade.h:79
msgid "Network"
msgstr ""
-#: ../plugins/gtkui/interface.c:2208 ../plugins/gtkui/deadbeef.glade.h:143
-msgid "Write ID3v2"
+#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:144
+msgid "Version: "
msgstr ""
-#: ../plugins/gtkui/interface.c:2212 ../plugins/gtkui/interface.c:2339
-#: ../plugins/gtkui/deadbeef.glade.h:142
-msgid "Write ID3v1"
+#: ../plugins/gtkui/interface.c:2535 ../plugins/gtkui/deadbeef.glade.h:23
+#: ../translation/extra.c:78
+msgid "Copyright"
msgstr ""
-#: ../plugins/gtkui/interface.c:2216 ../plugins/gtkui/interface.c:2295
-#: ../plugins/gtkui/interface.c:2335 ../plugins/gtkui/deadbeef.glade.h:141
-msgid "Write APEv2"
+#: ../plugins/gtkui/interface.c:2545 ../plugins/gtkui/deadbeef.glade.h:94
+msgid "Plugins"
msgstr ""
-#: ../plugins/gtkui/interface.c:2224 ../plugins/gtkui/interface.c:2303
-#: ../plugins/gtkui/deadbeef.glade.h:128
-msgid "Strip ID3v2"
+#: ../plugins/gtkui/interface.c:3033 ../plugins/gtkui/deadbeef.glade.h:142
+msgid "URL:"
msgstr ""
-#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/interface.c:2351
-#: ../plugins/gtkui/deadbeef.glade.h:127
-msgid "Strip ID3v1"
+#: ../plugins/gtkui/interface.c:3135 ../plugins/gtkui/deadbeef.glade.h:48
+msgid "Group By"
msgstr ""
-#: ../plugins/gtkui/interface.c:2232 ../plugins/gtkui/interface.c:2307
-#: ../plugins/gtkui/interface.c:2347 ../plugins/gtkui/deadbeef.glade.h:126
-msgid "Strip APEv2"
+#: ../plugins/gtkui/interface.c:3259 ../plugins/gtkui/deadbeef.glade.h:123
+msgid "Sort by..."
msgstr ""
-#: ../plugins/gtkui/interface.c:2240 ../plugins/gtkui/deadbeef.glade.h:69
-msgid "ID3v2 version"
-msgstr ""
+#: ../plugins/gtkui/interface.c:3275 ../plugins/gtkui/deadbeef.glade.h:43
+#, fuzzy
+msgid "Format"
+msgstr "格式:"
-#: ../plugins/gtkui/interface.c:2247
-msgid "2.3 (Recommended)"
+#: ../plugins/gtkui/interface.c:3305
+msgid "Ascending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2248
-msgid "2.4"
+#: ../plugins/gtkui/interface.c:3306
+msgid "Descending"
msgstr ""
-#: ../plugins/gtkui/interface.c:2254 ../plugins/gtkui/deadbeef.glade.h:68
-msgid "ID3v1 character encoding (default is iso8859-1)"
+#: ../plugins/gtkui/interface.c:3359 ../plugins/gtkui/deadbeef.glade.h:114
+#: ../plugins/converter/interface.c:750
+#, fuzzy
+msgid "Select DSP Plugin"
+msgstr "選取"
+
+#: ../plugins/gtkui/interface.c:3375 ../plugins/gtkui/deadbeef.glade.h:93
+#: ../plugins/converter/convgui.c:1016 ../plugins/converter/interface.c:766
+#: ../plugins/gtkui/dspconfig.c:139
+msgid "Plugin"
msgstr ""
-#: ../plugins/gtkui/interface.c:2291 ../plugins/gtkui/deadbeef.glade.h:144
-msgid "Write ID3v2.4"
+#: ../plugins/gtkui/interface.c:3461 ../plugins/gtkui/deadbeef.glade.h:133
+msgid "Tag Writer Settings"
msgstr ""
-#: ../plugins/gtkui/interface.c:2360 ../plugins/gtkui/deadbeef.glade.h:131
-msgid "Tag writer"
+#: ../plugins/gtkui/interface.c:3492 ../plugins/gtkui/deadbeef.glade.h:147
+msgid "Write ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2391 ../plugins/gtkui/deadbeef.glade.h:24
-msgid "Description:"
+#: ../plugins/gtkui/interface.c:3496 ../plugins/gtkui/interface.c:3623
+#: ../plugins/gtkui/deadbeef.glade.h:146
+msgid "Write ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2406 ../plugins/gtkui/deadbeef.glade.h:13
-msgid "Author(s):"
+#: ../plugins/gtkui/interface.c:3500 ../plugins/gtkui/interface.c:3579
+#: ../plugins/gtkui/interface.c:3619 ../plugins/gtkui/deadbeef.glade.h:145
+msgid "Write APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2421 ../plugins/gtkui/deadbeef.glade.h:30
-msgid "Email:"
+#: ../plugins/gtkui/interface.c:3508 ../plugins/gtkui/interface.c:3587
+#: ../plugins/gtkui/deadbeef.glade.h:130
+msgid "Strip ID3v2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2436 ../plugins/gtkui/deadbeef.glade.h:140
-msgid "Website:"
+#: ../plugins/gtkui/interface.c:3512 ../plugins/gtkui/interface.c:3635
+#: ../plugins/gtkui/deadbeef.glade.h:129
+msgid "Strip ID3v1"
msgstr ""
-#: ../plugins/gtkui/interface.c:2467 ../plugins/gtkui/deadbeef.glade.h:19
-msgid "Configure"
+#: ../plugins/gtkui/interface.c:3516 ../plugins/gtkui/interface.c:3591
+#: ../plugins/gtkui/interface.c:3631 ../plugins/gtkui/deadbeef.glade.h:128
+msgid "Strip APEv2"
msgstr ""
-#: ../plugins/gtkui/interface.c:2471 ../plugins/gtkui/deadbeef.glade.h:96
-msgid "Plugins"
+#: ../plugins/gtkui/interface.c:3524 ../plugins/gtkui/deadbeef.glade.h:53
+msgid "ID3v2 version"
msgstr ""
-#: ../plugins/gtkui/interface.c:2853 ../plugins/gtkui/deadbeef.glade.h:162
-msgid "editplaylistdlg"
+#: ../plugins/gtkui/interface.c:3531
+msgid "2.3 (Recommended)"
msgstr ""
-#: ../plugins/gtkui/interface.c:2980 ../plugins/gtkui/deadbeef.glade.h:138
-msgid "URL:"
+#: ../plugins/gtkui/interface.c:3532
+msgid "2.4"
msgstr ""
-#: ../plugins/gtkui/interface.c:3081 ../plugins/gtkui/deadbeef.glade.h:64
-msgid "Group By"
+#: ../plugins/gtkui/interface.c:3538 ../plugins/gtkui/deadbeef.glade.h:52
+msgid "ID3v1 character encoding (default is iso8859-1)"
msgstr ""
-#: ../plugins/gtkui/interface.c:3106 ../plugins/gtkui/deadbeef.glade.h:56
-#, no-c-format
-msgid ""
-"Format conversions (start with %):\n"
-" [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n"
-" track[n]umber, [N]totaltracks,\n"
-" [l]ength, [y]ear, [g]enre, [c]omment,\n"
-" copy[r]ight, [f]ilename, [T]ags\n"
-"Example: %a - %t [%l]"
+#: ../plugins/gtkui/interface.c:3575 ../plugins/gtkui/deadbeef.glade.h:148
+msgid "Write ID3v2.4"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:301 ../plugins/gtkui/search.c:434
+#: ../plugins/gtkui/mainplaylist.c:316 ../plugins/gtkui/search.c:391
msgid "Artist / Album"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:302 ../plugins/gtkui/search.c:435
+#: ../plugins/gtkui/mainplaylist.c:317 ../plugins/gtkui/search.c:392
msgid "Track No"
msgstr ""
-#: ../plugins/gtkui/mainplaylist.c:303 ../plugins/gtkui/search.c:436
-msgid "Title / Track Artist"
-msgstr ""
-
-#: ../plugins/gtkui/mainplaylist.c:304 ../plugins/gtkui/search.c:437
-#: ../plugins/gtkui/trkproperties.c:175
-msgid "Duration"
-msgstr ""
-
-#: ../plugins/gtkui/plcommon.c:323
+#: ../plugins/gtkui/plcommon.c:338
msgid "Delete files from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:324
+#: ../plugins/gtkui/plcommon.c:339
msgid ""
"Files will be lost. Proceed?\n"
"(This dialog can be turned off in GTKUI plugin settings)"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:325 ../plugins/gtkui/trkproperties.c:56
+#: ../plugins/gtkui/plcommon.c:340 ../plugins/gtkui/trkproperties.c:162
+#: ../plugins/gtkui/trkproperties.c:693 ../plugins/converter/convgui.c:759
+#: ../plugins/converter/convgui.c:1136
msgid "Warning"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:401
+#: ../plugins/gtkui/plcommon.c:444
msgid "Add to playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:406
+#: ../plugins/gtkui/plcommon.c:449
msgid "Remove from playback queue"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:414
+#: ../plugins/gtkui/plcommon.c:457
msgid "Reload metadata"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:433
+#: ../plugins/gtkui/plcommon.c:476
msgid "Remove from disk"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:719 ../plugins/gtkui/plcommon.c:844
+#: ../plugins/gtkui/plcommon.c:855 ../plugins/gtkui/plcommon.c:980
msgid "Add column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:749 ../plugins/gtkui/plcommon.c:848
+#: ../plugins/gtkui/plcommon.c:885 ../plugins/gtkui/plcommon.c:984
msgid "Edit column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:852
+#: ../plugins/gtkui/plcommon.c:988
msgid "Remove column"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:862
+#: ../plugins/gtkui/plcommon.c:998
msgid "Group by"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:869
+#: ../plugins/gtkui/plcommon.c:1005
msgid "None"
msgstr ""
-#: ../plugins/gtkui/plcommon.c:873
+#: ../plugins/gtkui/plcommon.c:1009
msgid "Artist/Date/Album"
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:41
+#: ../plugins/gtkui/pluginconf.c:42
msgid "Open file..."
msgstr ""
-#: ../plugins/gtkui/pluginconf.c:142
+#: ../plugins/gtkui/pluginconf.c:217
#, c-format
-msgid "Setup %s"
+msgid "Configure %s"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:98
+#: ../plugins/gtkui/prefwin.c:82
msgid "Default Audio Device"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:312
+#: ../plugins/gtkui/prefwin.c:318 ../plugins/converter/interface.c:641
msgid "Add"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:322
+#: ../plugins/gtkui/prefwin.c:328
msgid "Global Hotkeys"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:384
+#: ../plugins/gtkui/prefwin.c:390
msgid "Slot"
msgstr ""
-#: ../plugins/gtkui/prefwin.c:385
+#: ../plugins/gtkui/prefwin.c:391
msgid "Key combination"
msgstr ""
-#. output plugin selection
-#: ../plugins/gtkui/prefwin.c:464 ../plugins/gtkui/prefwin.c:676
-#: ../plugins.c:872
-msgid "ALSA output plugin"
+#: ../plugins/gtkui/progress.c:56
+msgid "Adding files..."
msgstr ""
-#: ../plugins/gtkui/progress.c:64
+#: ../plugins/gtkui/progress.c:90
msgid "Initializing..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:53
+#: ../plugins/gtkui/trkproperties.c:159
msgid "You've modified data for this track."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:55
+#: ../plugins/gtkui/trkproperties.c:161
msgid "Really close the window?"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:178
-msgid "Tag Type(s)"
+#. get value to edit
+#: ../plugins/gtkui/trkproperties.c:254
+msgid "[Multiple values] "
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Embedded Cuesheet"
+#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419
+msgid "Key"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "Yes"
+#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420
+msgid "Value"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:180
-msgid "No"
+#: ../plugins/gtkui/trkproperties.c:594
+msgid "Writing tags..."
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:182
-msgid "Codec"
+#: ../plugins/gtkui/trkproperties.c:621
+msgid "Name:"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262
-msgid "Key"
+#: ../plugins/gtkui/trkproperties.c:633
+msgid "Field names must not start with : or _"
msgstr ""
-#: ../plugins/gtkui/trkproperties.c:251 ../plugins/gtkui/trkproperties.c:263
-msgid "Value"
+#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668
+msgid "Cannot add field"
+msgstr ""
+
+#: ../plugins/gtkui/trkproperties.c:667
+msgid "Field with such name already exists, please try different name."
msgstr ""
-#: ../plugins/notify/notify.c:138
-msgid "DeaDBeeF now playing"
+#: ../plugins/gtkui/trkproperties.c:692
+msgid "Really remove selected field?"
msgstr ""
-#: ../main.c:89
+#: ../plugins/gtkui/trkproperties.c:734
+#, fuzzy
+msgid "Add field"
+msgstr "加入檔案"
+
+#: ../plugins/gtkui/trkproperties.c:737
+#, fuzzy
+msgid "Remove field"
+msgstr "移除"
+
+#: ../main.c:91
#, c-format
msgid "Usage: deadbeef [options] [file(s)]\n"
msgstr ""
-#: ../main.c:90
+#: ../main.c:92
#, c-format
msgid "Options:\n"
msgstr ""
-#: ../main.c:91
+#: ../main.c:93
#, c-format
msgid " --help or -h Print help (this message) and exit\n"
msgstr ""
-#: ../main.c:92
+#: ../main.c:94
#, c-format
msgid " --quit Quit player\n"
msgstr ""
-#: ../main.c:93
+#: ../main.c:95
#, c-format
msgid " --version Print version info and exit\n"
msgstr ""
-#: ../main.c:94
+#: ../main.c:96
#, c-format
msgid " --play Start playback\n"
msgstr ""
-#: ../main.c:95
+#: ../main.c:97
#, c-format
msgid " --stop Stop playback\n"
msgstr ""
-#: ../main.c:96
+#: ../main.c:98
#, c-format
msgid " --pause Pause playback\n"
msgstr ""
-#: ../main.c:97
+#: ../main.c:99
+#, c-format
+msgid " --toggle-pause Toggle pause\n"
+msgstr ""
+
+#: ../main.c:100
+#, c-format
+msgid ""
+" --play-pause Start playback if stopped, toggle pause otherwise\n"
+msgstr ""
+
+#: ../main.c:101
#, c-format
msgid " --next Next song in playlist\n"
msgstr ""
-#: ../main.c:98
+#: ../main.c:102
#, c-format
msgid " --prev Previous song in playlist\n"
msgstr ""
-#: ../main.c:99
+#: ../main.c:103
#, c-format
msgid " --random Random song in playlist\n"
msgstr ""
-#: ../main.c:100
+#: ../main.c:104
#, c-format
msgid " --queue Append file(s) to existing playlist\n"
msgstr ""
-#: ../main.c:101
+#: ../main.c:105
#, c-format
msgid " --nowplaying FMT Print formatted track name to stdout\n"
msgstr ""
-#: ../main.c:102
+#: ../main.c:106
#, c-format
msgid ""
" FMT %%-syntax: [a]rtist, [t]itle, al[b]um,\n"
@@ -1032,115 +1144,597 @@ msgid ""
" copy[r]ight, [e]lapsed\n"
msgstr ""
-#: ../main.c:105
+#: ../main.c:109
#, c-format
msgid ""
" e.g.: --nowplaying \"%%a - %%t\" should print \"artist "
"- title\"\n"
msgstr ""
-#: ../playlist.c:377 ../playlist.c:2289
+#: ../main.c:110
+#, c-format
+msgid ""
+" for more info, see http://sourceforge.net/apps/"
+"mediawiki/deadbeef/index.php?title=Title_Formatting\n"
+msgstr ""
+
+#: ../playlist.c:454 ../playlist.c:2398
msgid "Default"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:1
+#: ../playlist.c:3664
+msgid "Yes"
+msgstr ""
+
+#: ../playlist.c:3664
+msgid "No"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:3
msgid ""
"2.3 (Recommended)\n"
"2.4"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:26
+#: ../plugins/gtkui/deadbeef.glade.h:14
+msgid ""
+"Ascending\n"
+"Descending"
+msgstr ""
+
+#: ../plugins/gtkui/deadbeef.glade.h:33
msgid ""
"Disable\n"
"Track\n"
"Album"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:35
+#: ../plugins/gtkui/deadbeef.glade.h:56
msgid ""
-"File number\n"
+"Item Index\n"
"Playing\n"
"Album Art\n"
"Artist - Album\n"
"Artist\n"
"Album\n"
"Title\n"
-"Length\n"
-"Track\n"
+"Duration\n"
+"Track Number\n"
"Band / Album Artist\n"
"Custom"
msgstr ""
-#: ../plugins/gtkui/deadbeef.glade.h:71
+#: ../plugins/gtkui/deadbeef.glade.h:68
msgid ""
"Left\n"
"Right"
msgstr ""
#: ../plugins/gtkui/support.c:90 ../plugins/gtkui/support.c:114
+#: ../plugins/converter/support.c:90 ../plugins/converter/support.c:114
#, c-format
msgid "Couldn't find pixmap file: %s"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:129 ../plugins/vorbis/vcedit.c:155
-msgid "Couldn't get enough memory for input buffering."
+#: ../plugins/wildmidi/wildmidiplug.c:162
+#, c-format
+msgid ""
+"wildmidi: freepats config file not found. Please install timidity-freepats "
+"package, or specify path to freepats.cfg in the plugin settings."
+msgstr ""
+
+#. this file should list extra translatable strings that are not referenced
+#. directly in source code, e.g. scripted plugin configuration strings
+#: ../translation/extra.c:3
+msgid "Add Audio CD"
+msgstr "加入音樂 CD"
+
+#: ../translation/extra.c:4
+msgid "Lookup on Last.fm"
+msgstr ""
+
+#. ALSA output plugin
+#: ../translation/extra.c:6
+msgid "Use ALSA resampling"
+msgstr ""
+
+#: ../translation/extra.c:7
+msgid "Release device while stopped"
+msgstr ""
+
+#: ../translation/extra.c:8 ../translation/extra.c:51
+msgid "Preferred buffer size"
+msgstr ""
+
+#: ../translation/extra.c:9
+msgid "Preferred period size"
+msgstr ""
+
+#. Last.fm plugin
+#: ../translation/extra.c:11
+msgid "Enable scrobbler"
+msgstr ""
+
+#: ../translation/extra.c:12
+msgid "Disable nowplaying"
+msgstr ""
+
+#: ../translation/extra.c:13
+msgid "Username"
+msgstr ""
+
+#: ../translation/extra.c:14
+msgid "Password"
+msgstr ""
+
+#: ../translation/extra.c:15
+msgid "Scrobble URL"
+msgstr ""
+
+#. OSS output plugin
+#: ../translation/extra.c:17
+msgid "Device file"
+msgstr ""
+
+#: ../translation/extra.c:18
+msgid "OSS4 samplerate bug workaround"
+msgstr ""
+
+#. Album Artwork plugin
+#: ../translation/extra.c:20
+msgid "Cache update period (hr)"
+msgstr ""
+
+#: ../translation/extra.c:21
+msgid "Fetch from embedded tags"
+msgstr ""
+
+#: ../translation/extra.c:22
+msgid "Fetch from local folder"
+msgstr ""
+
+#: ../translation/extra.c:23
+msgid "Local cover file mask"
+msgstr ""
+
+#: ../translation/extra.c:24
+msgid "Fetch from last.fm"
+msgstr ""
+
+#: ../translation/extra.c:25
+msgid "Fetch from albumart.org"
+msgstr ""
+
+#: ../translation/extra.c:26
+msgid "Scale artwork towards longer side"
+msgstr ""
+
+#. Audio CD player
+#: ../translation/extra.c:28
+msgid "Use CDDB/FreeDB"
+msgstr ""
+
+#: ../translation/extra.c:29
+msgid "Prefer CD-Text over CDDB"
+msgstr ""
+
+#: ../translation/extra.c:30
+msgid "CDDB url (e.g. 'freedb.org')"
+msgstr ""
+
+#: ../translation/extra.c:31
+msgid "CDDB port number (e.g. '888')"
+msgstr ""
+
+#: ../translation/extra.c:32
+msgid "Prefer CDDB protocol over HTTP"
+msgstr ""
+
+#: ../translation/extra.c:33
+msgid "Enable NRG image support"
+msgstr ""
+
+#. DUMB module player plugin
+#: ../translation/extra.c:35
+msgid "Resampling quality (0..2, higher is better)"
+msgstr ""
+
+#. Game_Music_Emu decoder plugin
+#: ../translation/extra.c:37
+msgid "Max song length (in minutes)"
+msgstr ""
+
+#. Standard GTK2 user interface plugin
+#: ../translation/extra.c:39
+msgid "Ask confirmation to delete files from disk"
+msgstr ""
+
+#: ../translation/extra.c:40
+msgid "Status icon volume control sensitivity"
+msgstr ""
+
+#: ../translation/extra.c:41
+msgid "Custom status icon"
+msgstr ""
+
+#: ../translation/extra.c:42
+msgid "Run gtk_init with --sync (debug mode)"
+msgstr ""
+
+#: ../translation/extra.c:43
+msgid "Add separators between plugin context menu items"
+msgstr ""
+
+#. OSD Notify plugin
+#: ../translation/extra.c:45
+msgid "Notification title format"
+msgstr ""
+
+#: ../translation/extra.c:46
+msgid "Notification content format"
+msgstr ""
+
+#: ../translation/extra.c:47
+msgid "Show album art"
+msgstr ""
+
+#: ../translation/extra.c:48
+msgid "Album art size (px)"
+msgstr ""
+
+#. PulseAudio output plugin
+#: ../translation/extra.c:50
+msgid "PulseAudio server"
+msgstr ""
+
+#: ../translation/extra.c:52
+msgid "Samplerate"
+msgstr ""
+
+#. SHN player plugin
+#: ../translation/extra.c:54
+msgid "Relative seek table path"
+msgstr ""
+
+#: ../translation/extra.c:55
+msgid "Absolute seek table path"
+msgstr ""
+
+#: ../translation/extra.c:56
+msgid "Swap audio bytes (toggle if all you hear is static)"
+msgstr ""
+
+#. SID decoder plugin
+#: ../translation/extra.c:58
+msgid "Enable HVSC Songlength DB"
+msgstr ""
+
+#: ../translation/extra.c:59
+msgid "Songlengths.txt (from HVSC)"
+msgstr ""
+
+#: ../translation/extra.c:60
+msgid "Bits per sample (8 or 16)"
+msgstr ""
+
+#: ../translation/extra.c:61
+msgid "Default song length (sec)"
+msgstr ""
+
+#. WildMidi player plugin
+#: ../translation/extra.c:63
+msgid "Timidity++ bank configuration file"
+msgstr ""
+
+#: ../translation/extra.c:66
+msgid "Track Title"
+msgstr ""
+
+#: ../translation/extra.c:67
+msgid "Performer"
+msgstr ""
+
+#: ../translation/extra.c:72
+msgid "Total Tracks"
+msgstr ""
+
+#: ../translation/extra.c:73
+msgid "Genre"
+msgstr ""
+
+#: ../translation/extra.c:74
+msgid "Composer"
+msgstr ""
+
+#: ../translation/extra.c:75
+msgid "Disc Number"
+msgstr ""
+
+#: ../translation/extra.c:76
+msgid "Comment"
+msgstr ""
+
+#: ../translation/extra.c:77
+msgid "Encoder / Vendor"
+msgstr ""
+
+#: ../translation/extra.c:79
+#, fuzzy
+msgid "Location"
+msgstr "加入位址"
+
+#: ../translation/extra.c:80
+msgid "Subtrack Index"
+msgstr ""
+
+#: ../translation/extra.c:81
+msgid "Tag Type(s)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:179 ../plugins/vorbis/vcedit.c:550
-msgid "Error reading first page of Ogg bitstream."
+#: ../translation/extra.c:82
+msgid "Embedded Cuesheet"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:185 ../plugins/vorbis/vcedit.c:557
-msgid "Error reading initial header packet."
+#: ../translation/extra.c:83
+msgid "Codec"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:237
-msgid "Couldn't get enough memory to register new stream serial number."
+#. FFmpeg deocder plugin
+#: ../translation/extra.c:85
+msgid "File Extensions (separate with ';')"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:505
-msgid "Input truncated or empty."
+#. Converter GUI
+#: ../translation/extra.c:87
+msgid "Convert"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:507
-msgid "Input is not an Ogg bitstream."
+#. Resampler (Secret Rabbit Code)
+#: ../translation/extra.c:89
+msgid "Target Samplerate"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:565
-msgid "Ogg bitstream does not contain Vorbis data."
+#: ../translation/extra.c:90
+msgid "Quality / Algorythm"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:578
-msgid "EOF before recognised stream."
+#: ../translation/extra.c:91
+msgid "Automatic Samplerate (overrides Target Samplerate)"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:594
-msgid "Ogg bitstream does not contain a supported data-type."
+#: ../plugins/converter/convgui.c:108
+msgid "The file already exists. Overwrite?"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:638
-msgid "Corrupt secondary header."
+#: ../plugins/converter/convgui.c:110
+msgid "Converter warning"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:659
-msgid "EOF before end of Vorbis headers."
+#: ../plugins/converter/convgui.c:222
+msgid "Please select encoder"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:834
-msgid "Corrupt or missing data, continuing..."
+#: ../plugins/converter/convgui.c:224
+msgid "Converter error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:248
+msgid "Converting..."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496
+#, fuzzy
+msgid "Select folder..."
+msgstr "全選"
+
+#: ../plugins/converter/convgui.c:635
+msgid "Failed to save encoder preset"
msgstr ""
-#: ../plugins/vorbis/vcedit.c:874
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
msgid ""
-"Error writing stream to output. Output stream may be corrupted or truncated."
+"Check preset folder permissions, try to pick different title, or free up "
+"some disk space"
msgstr ""
-#: ../plugins/wildmidi/wildmidiplug.c:162
+#: ../plugins/converter/convgui.c:637 ../plugins/converter/convgui.c:1035
+msgid "Preset with the same name already exists. Try to pick another title."
+msgstr ""
+
+#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036
+msgid "Error"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:692
+msgid "Add new encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:724
+msgid "Edit encoder"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133
+#, fuzzy
+msgid "Remove preset"
+msgstr "儲存 Preset"
+
+#: ../plugins/converter/convgui.c:758 ../plugins/converter/convgui.c:1135
+msgid "This action will delete the selected preset. Are you sure?"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:782
+msgid "Encoders"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183
+msgid "Add plugin to DSP chain"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1034
+msgid "Failed to save DSP preset"
+msgstr ""
+
+#: ../plugins/converter/convgui.c:1098
+#, fuzzy
+msgid "New DSP Preset"
+msgstr "儲存 Preset"
+
+#: ../plugins/converter/convgui.c:1183
+#, fuzzy
+msgid "Edit DSP Preset"
+msgstr "儲存 Preset"
+
+#: ../plugins/converter/convgui.c:1203
+#, fuzzy
+msgid "DSP Presets"
+msgstr "儲存 Preset"
+
+#: ../plugins/converter/interface.c:94
+msgid "Output folder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:115
+msgid "Output file name:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:126
+msgid ""
+"Extension (e.g. .mp3) will be appended automatically.\n"
+"Leave the field empty for default (%a - %t)."
+msgstr ""
+
+#: ../plugins/converter/interface.c:139
+msgid "Encoder:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:163
+#, fuzzy
+msgid "DSP preset:"
+msgstr "儲存 Preset"
+
+#: ../plugins/converter/interface.c:186
+msgid "Number of threads:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:199
+msgid "Output sample format:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:206
+msgid "Keep source format"
+msgstr ""
+
+#: ../plugins/converter/interface.c:207
+msgid "8 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:208
+msgid "16 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:209
+msgid "24 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:210
+msgid "32 bit signed int"
+msgstr ""
+
+#: ../plugins/converter/interface.c:211
+msgid "32 bit float"
+msgstr ""
+
+#: ../plugins/converter/interface.c:217
+msgid "When file exists:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:224
+msgid "Prompt"
+msgstr ""
+
+#: ../plugins/converter/interface.c:225
+msgid "Overwrite"
+msgstr ""
+
+#: ../plugins/converter/interface.c:227
+msgid "Preserve folder structure, starting from:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:379
+#, fuzzy
+msgid "Edit Encoder Preset"
+msgstr "載入 Preset"
+
+#: ../plugins/converter/interface.c:402
+msgid "Untitled Encoder"
+msgstr ""
+
+#: ../plugins/converter/interface.c:410
+msgid "Output file extension:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:417
+msgid "E.g. mp3"
+msgstr ""
+
+#: ../plugins/converter/interface.c:425
+msgid "Command line:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:436
#, c-format
msgid ""
-"wildmidi: freepats config file not found. Please install timidity-freepats "
-"package, or specify path to freepats.cfg in the plugin settings."
+"Example: lame - %o\n"
+"%i for input file, %o for output file, - for stdin"
+msgstr ""
+
+#: ../plugins/converter/interface.c:446
+#, c-format
+msgid ""
+"<small>%o - output file name\n"
+"%i - temporary input file name</small>"
msgstr ""
-#~ msgid "Add Audio CD"
-#~ msgstr "加入音樂 CD"
+#: ../plugins/converter/interface.c:455
+msgid "Method:"
+msgstr ""
+
+#: ../plugins/converter/interface.c:462
+msgid "Pipe"
+msgstr ""
+
+#: ../plugins/converter/interface.c:463
+msgid "Temporary file"
+msgstr ""
+
+#: ../plugins/converter/interface.c:480
+msgid "APEv2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:486
+msgid "ID3v1"
+msgstr ""
+
+#: ../plugins/converter/interface.c:492
+msgid "OggVorbis"
+msgstr ""
+
+#: ../plugins/converter/interface.c:498
+msgid "FLAC"
+msgstr ""
+
+#: ../plugins/converter/interface.c:510
+msgid "ID3v2"
+msgstr ""
+
+#: ../plugins/converter/interface.c:520
+msgid "<b>Tag writer</b>"
+msgstr ""
+
+#: ../plugins/converter/interface.c:606
+msgid "DSP Preset Editor"
+msgstr ""
+
+#: ../plugins/converter/interface.c:629
+msgid "Untitled DSP Preset"
+msgstr ""
diff --git a/premix.c b/premix.c
index e8748a74..67b3b18a 100644
--- a/premix.c
+++ b/premix.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/premix.h b/premix.h
index 39d1700d..7d0d1422 100644
--- a/premix.h
+++ b/premix.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/replaygain.c b/replaygain.c
index b2791b4c..ba8d5e37 100644
--- a/replaygain.c
+++ b/replaygain.c
@@ -1,7 +1,7 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/replaygain.h b/replaygain.h
index f7027230..00ab3493 100644
--- a/replaygain.h
+++ b/replaygain.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/ringbuf.c b/ringbuf.c
index be82945e..b06da6c0 100644
--- a/ringbuf.c
+++ b/ringbuf.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/ringbuf.h b/ringbuf.h
index e7008bf8..2c349d13 100644
--- a/ringbuf.h
+++ b/ringbuf.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/scripts/extract_translators.pl b/scripts/extract_translators.pl
index a3ad02a2..b233e86f 100755
--- a/scripts/extract_translators.pl
+++ b/scripts/extract_translators.pl
@@ -34,7 +34,7 @@ foreach my $f (@files) {
if ($script) {
print " ($script)";
}
- print "\n";
+ print " $code\n";
while (<F>) {
if (/^#/) {
if (/\@/ && !(/Yakovenko/) && !(/EMAIL/)) {
diff --git a/scripts/portable_build.sh b/scripts/portable_build.sh
index 36f2665e..6a047023 100755
--- a/scripts/portable_build.sh
+++ b/scripts/portable_build.sh
@@ -13,7 +13,7 @@ sed -i 's/-lstdc++ -lm -lgcc_s -lc -lgcc_s/-lm -lc/g' libtool
make clean
make -j9
-./scripts/portable_extraplugs.sh
+#./scripts/portable_extraplugs.sh
cd $ORIGIN
diff --git a/scripts/portable_package_static.sh b/scripts/portable_package_static.sh
index be8c75b6..2b8e5465 100755
--- a/scripts/portable_package_static.sh
+++ b/scripts/portable_package_static.sh
@@ -49,11 +49,11 @@ tar jcvf ../portable_out/build/deadbeef-$VERSION-static-i686.tar.bz2\
$PLUGDIR/vtx.so\
$PLUGDIR/wavpack.so\
$PLUGDIR/wildmidi.so\
- $PLUGDIR/ao.so\
- $PLUGDIR/shn.so\
- $PLUGDIR/dumb.so\
+ $PLUGDIR/ddb_ao.so\
+ $PLUGDIR/ddb_shn.so\
+ $PLUGDIR/ddb_dumb.so\
$PLUGDIR/converter.so\
- $PLUGDIR/converter_gtkui.so\
+ $PLUGDIR/converter_gtk2.so\
$PLUGDIR/convpresets\
$PLUGDIR/pulse.so\
$PLUGDIR/dsp_libsrc.so\
diff --git a/scripts/portable_postbuild.sh b/scripts/portable_postbuild.sh
index ae9b7ec1..f572240f 100755
--- a/scripts/portable_postbuild.sh
+++ b/scripts/portable_postbuild.sh
@@ -24,12 +24,17 @@ for i in nullout cdda flac alsa mpgmad hotkeys vtx \
cp ./plugins/$i/.libs/$i.so $PLUGDIR/
elif [ -f ./plugins/$i/$i.so ]; then
cp ./plugins/$i/$i.so $PLUGDIR/
+ elif [ -f ./plugins/$i/.libs/ddb_$i.so ]; then
+ cp ./plugins/$i/.libs/ddb_$i.so $PLUGDIR/
else
echo ./plugins/$i/.libs/$i.so not found
fi
- if [ -f ./plugins/$i/.libs/${i}_gtkui.so ]; then
- cp ./plugins/$i/.libs/${i}_gtkui.so $PLUGDIR/
+ if [ -f ./plugins/$i/.libs/${i}_gtk2.so ]; then
+ cp ./plugins/$i/.libs/${i}_gtk2.so $PLUGDIR/
+ fi
+ if [ -f ./plugins/$i/.libs/${i}_gtk3.so ]; then
+ cp ./plugins/$i/.libs/${i}_gtk3.so $PLUGDIR/
fi
if [ -f ./plugins/$i/.libs/$i.fallback.so ]; then
diff --git a/shortlicense b/shortlicense
index 09c9da8b..8d9c6d9f 100644
--- a/shortlicense
+++ b/shortlicense
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/streamer.c b/streamer.c
index cfb61090..69db8029 100644
--- a/streamer.c
+++ b/streamer.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -145,6 +145,7 @@ streamer_unlock (void) {
static void
streamer_abort_files (void) {
trace ("\033[0;33mstreamer_abort_files\033[37;0m\n");
+ mutex_lock (decodemutex);
if (fileinfo && fileinfo->file) {
deadbeef->fabort (fileinfo->file);
}
@@ -154,6 +155,7 @@ streamer_abort_files (void) {
if (streamer_file) {
deadbeef->fabort (streamer_file);
}
+ mutex_unlock (decodemutex);
}
@@ -711,18 +713,22 @@ streamer_set_current (playItem_t *it) {
const char *plug = NULL;
trace ("\033[0;34mgetting content-type\033[37;0m\n");
if (!fp) {
+ err = -1;
goto error;
}
const char *ct = vfs_get_content_type (fp);
if (!ct) {
vfs_fclose (fp);
+ fp = NULL;
+ streamer_file = NULL;
+ err = -1;
goto error;
}
trace ("got content-type: %s\n", ct);
if (!strcmp (ct, "audio/mpeg")) {
plug = "stdmpg";
}
- else if (!strcmp (ct, "application/ogg")) {
+ else if (!strcmp (ct, "application/ogg") || !strcmp (ct, "audio/ogg")) {
plug = "stdogg";
}
else if (!strcmp (ct, "audio/aacp")) {
@@ -734,7 +740,7 @@ streamer_set_current (playItem_t *it) {
else if (!strcmp (ct, "audio/wma")) {
plug = "ffmpeg";
}
- else if (!strcmp (ct, "audio/x-mpegurl") || !strncmp (ct, "text/html", 9)) {
+ else if (!strcmp (ct, "audio/x-mpegurl") || !strncmp (ct, "text/html", 9) || !strncmp (ct, "audio/x-scpls", 13)) {
// download playlist into temp file
char *buf = NULL;
int fd = -1;
@@ -889,12 +895,16 @@ m3u_error:
}
if (dec) {
trace ("\033[0;33minit decoder for %s (%s)\033[37;0m\n", pl_find_meta (it, ":URI"), decoder_id);
+ mutex_lock (decodemutex);
new_fileinfo = dec->open (0);
+ mutex_unlock (decodemutex);
if (new_fileinfo && dec->init (new_fileinfo, DB_PLAYITEM (it)) != 0) {
- trace ("\033[0;31mfailed to init decoder\033[37;0m\n")
+ trace ("\033[0;31mfailed to init decoder\033[37;0m\n");
+ mutex_lock (decodemutex);
dec->free (new_fileinfo);
new_fileinfo = NULL;
- goto error;
+ mutex_unlock (decodemutex);
+// goto error;
}
}
@@ -941,11 +951,11 @@ m3u_error:
}
success:
mutex_lock (decodemutex);
+ if (fileinfo) {
+ fileinfo->plugin->free (fileinfo);
+ fileinfo = NULL;
+ }
if (new_fileinfo) {
- if (fileinfo) {
- fileinfo->plugin->free (fileinfo);
- fileinfo = NULL;
- }
fileinfo = new_fileinfo;
new_fileinfo = NULL;
}
@@ -1148,6 +1158,10 @@ streamer_next (int bytesread) {
if (conf_get_int ("playlist.stop_after_current", 0)) {
streamer_buffering = 0;
streamer_set_nextsong (-2, -2);
+ if (conf_get_int ("playlist.stop_after_current_reset", 0)) {
+ conf_set_int ("playlist.stop_after_current", 0);
+ deadbeef->sendmessage (DB_EV_CONFIGCHANGED, 0, 0, 0);
+ }
}
else {
streamer_move_to_nextsong (0);
@@ -1246,45 +1260,6 @@ streamer_thread (void *ctx) {
memcpy (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t));
memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t));
formatchanged = 1;
-#if 0
- // FIXME: this breaks gapless playback if output sampletate was
- // changed by dsp plugin
- memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t));
- streamer_unlock (); // prevent race-condition in output plugins
- output->setformat (&fileinfo->fmt);
- streamer_lock ();
- // check if the format actually changed
- if (memcmp (&output->fmt, &prevfmt, sizeof (ddb_waveformat_t))) {
- // restart streaming of current track
- trace ("streamer: output samplerate changed from %d to %d; restarting track\n", prevfmt.samplerate, output->fmt.samplerate);
- mutex_lock (decodemutex);
- fileinfo->plugin->free (fileinfo);
- fileinfo = NULL;
- DB_decoder_t *dec = NULL;
- dec = plug_get_decoder_for_id (streaming_track->decoder_id);
- if (dec) {
- fileinfo = dec->open (0);
- if (fileinfo && dec->init (fileinfo, DB_PLAYITEM (streaming_track)) < 0) {
- dec->free (fileinfo);
- fileinfo = NULL;
- }
- }
- if (!dec || !fileinfo) {
- // FIXME: handle error
- }
- mutex_unlock (decodemutex);
- bytes_until_next_song = -1;
- streamer_buffering = 1;
- streamer_reset (1);
- if (output->state () != OUTPUT_STATE_PLAYING) {
- if (0 != output->play ()) {
- memset (&output_format, 0, sizeof (output_format));
- fprintf (stderr, "streamer: failed to start playback (track transition format change)\n");
- streamer_set_nextsong (-2, 0);
- }
- }
- }
-#endif
}
streamer_unlock ();
}
@@ -1329,12 +1304,17 @@ streamer_thread (void *ctx) {
pl_unlock ();
if (dec) {
fileinfo = dec->open (0);
+ mutex_unlock (decodemutex);
if (fileinfo && dec->init (fileinfo, DB_PLAYITEM (streaming_track)) != 0) {
+ mutex_lock (decodemutex);
dec->free (fileinfo);
fileinfo = NULL;
+ mutex_unlock (decodemutex);
}
}
- mutex_unlock (decodemutex);
+ else {
+ mutex_unlock (decodemutex);
+ }
if (!dec || !fileinfo) {
if (streaming_track) {
@@ -1569,7 +1549,7 @@ error:
}
int
-streamer_dsp_chain_save (const char *fname, ddb_dsp_context_t *chain) {
+streamer_dsp_chain_save_internal (const char *fname, ddb_dsp_context_t *chain) {
FILE *fp = fopen (fname, "w+t");
if (!fp) {
return -1;
@@ -1595,6 +1575,13 @@ streamer_dsp_chain_save (const char *fname, ddb_dsp_context_t *chain) {
return 0;
}
+int
+streamer_dsp_chain_save (void) {
+ char fname[PATH_MAX];
+ snprintf (fname, sizeof (fname), "%s/dspconfig", plug_get_config_dir ());
+ return streamer_dsp_chain_save_internal (fname, dsp_chain);
+}
+
void
streamer_dsp_postinit (void) {
// note about EQ hack:
@@ -1665,7 +1652,7 @@ streamer_dsp_init (void) {
DB_dsp_t *src = (DB_dsp_t *)plug_get_for_id ("SRC");
if (src) {
ddb_dsp_context_t *inst = src->open ();
- inst->enabled = 0;
+ inst->enabled = 1;
src->set_param (inst, 0, "48000"); // samplerate
src->set_param (inst, 1, "2"); // quality=SINC_FASTEST
src->set_param (inst, 2, "1"); // auto
@@ -1748,9 +1735,7 @@ streamer_free (void) {
mutex_free (mutex);
mutex = 0;
- char fname[PATH_MAX];
- snprintf (fname, sizeof (fname), "%s/dspconfig", plug_get_config_dir ());
- streamer_dsp_chain_save (fname, dsp_chain);
+ streamer_dsp_chain_save();
streamer_dsp_chain_free (dsp_chain);
dsp_chain = NULL;
@@ -1804,6 +1789,7 @@ streamer_set_output_format (void) {
return -1;
}
}
+ return 0;
}
// decodes data and converts to current output format
@@ -2227,9 +2213,7 @@ streamer_set_dsp_chain (ddb_dsp_context_t *chain) {
formatchanged = 1;
}
- char fname[PATH_MAX];
- snprintf (fname, sizeof (fname), "%s/dspconfig", plug_get_config_dir ());
- streamer_dsp_chain_save (fname, dsp_chain);
+ streamer_dsp_chain_save();
streamer_reset (1);
mutex_unlock (decodemutex);
diff --git a/streamer.h b/streamer.h
index 8703c661..6b77f382 100644
--- a/streamer.h
+++ b/streamer.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
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
@@ -125,7 +125,7 @@ void
streamer_dsp_postinit (void);
int
-streamer_dsp_chain_save (const char *fname, ddb_dsp_context_t *chain);
+streamer_dsp_chain_save (void);
void
streamer_notify_order_changed (int prev_order, int new_order);
diff --git a/threading.h b/threading.h
index d7ff5686..00dd6e0c 100644
--- a/threading.h
+++ b/threading.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/threading_pthread.c b/threading_pthread.c
index d870ac36..d5fcc9e7 100644
--- a/threading_pthread.c
+++ b/threading_pthread.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tools/pluginfo/pluginfo.c b/tools/pluginfo/pluginfo.c
index 09cbeb78..d1e4f4b9 100644
--- a/tools/pluginfo/pluginfo.c
+++ b/tools/pluginfo/pluginfo.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/translators.txt b/translators.txt
index e3a17f3f..93f3822a 100644
--- a/translators.txt
+++ b/translators.txt
@@ -11,6 +11,9 @@ Bulgarian
Catalan
sisco <sisco.garcia@ubuntu.cat>
+Czech
+ Vašek Kovářík <l3d9z6@seznam.cz>
+
Chinese (Simplified)
Yinghua_Wang <wantinghard@gmail.com>
@@ -30,12 +33,21 @@ Hungarian
English (United Kingdom)
Steve (Yorvyk) Cook <yorvik.ubunto@googlemail.com>
+Esperanto
+ Kristjan <kristjan.schmidt@googlemail.com>
+
Spanish
depaz <depazzz@gmail.com>
+Estonian
+ Anari <anari.jalakas@gmail.com>
+
Persian
Ali <aysabzevar@gmail.com>
+Finnish
+ Juhani <juhaninumminen0@gmail.com>
+
French
Cilyan Olowen <gaknar@gmail.com>
@@ -60,12 +72,18 @@ Japanese
Kazakh
Baurzhan Muftakhidinov <baurthefirst@gmail.com>
-Khmer
+Central Khmer
SatyaN <satyathavy@gmail.com>
-Luganda
+Ganda
kizito <kbirabwa@yahoo.co.uk>
+Lithuanian
+ Julius <zadintuvas@gmail.com>
+
+Bokmal, Norwegian
+ Sam <wilsonsamm@hotmail.com>
+
Dutch
depaz <depazzz@gmail.com>
@@ -80,12 +98,21 @@ Portuguese (Brazil)
Henrique P. Machado <hpmachado@gnome.org>
Sérgio Cipolla <secipolla@gmail.com>
+Romanian
+ Mișu Moldovan <dumol@xfce.org>
+
Russian
Dmitriy Simbiriatin <slpiv@mail.ru>
+Sinhala
+ danishka <danishka@gmail.com>
+
Slovak
Ivan Masár <helix84@centrum.sk>
+Slovenian
+ Klemen Košir <klemen.kosir@gmx.com>
+
Serbian
Jay A. Fleming <tito.nehru.naser@gmail.com>
@@ -95,8 +122,14 @@ Serbian (latin)
Swedish
Martin <brother@bsnet.se>
+Telugu
+ PraveenIlla <mail2ipn@gmail.com>
+
Turkish
- bahadiroglu <bahadiroglu33@gmail.com>
+ decent <bahadiroglu33@gmail.com>
+
+Uighur
+ Gheyret Kenji <gheyret@gmail.com>
Ukrainian
Yarema aka Knedlyk <yupadmin@gmail.com>
diff --git a/utf8.c b/utf8.c
index 6165742e..bcbfa4a1 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/utf8.h b/utf8.h
index d72d14a1..fab4ac1e 100644
--- a/utf8.h
+++ b/utf8.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/vfs.c b/vfs.c
index 08badec1..7c8a39f2 100644
--- a/vfs.c
+++ b/vfs.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/vfs.h b/vfs.h
index b07bcaf3..8c0981c9 100644
--- a/vfs.h
+++ b/vfs.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/vfs_stdio.c b/vfs_stdio.c
index 6f006efa..46ea47f8 100644
--- a/vfs_stdio.c
+++ b/vfs_stdio.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -172,7 +172,7 @@ static DB_vfs_t plugin = {
.plugin.id = "vfs_stdio",
.plugin.descr = "Standard IO plugin\nUsed for reading normal local files\nIt is statically linked, so you can't delete it.",
.plugin.copyright =
- "Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
+ "Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
diff --git a/volume.c b/volume.c
index db32ed99..acd84cf3 100644
--- a/volume.c
+++ b/volume.c
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/volume.h b/volume.h
index 593088e2..7670f5fc 100644
--- a/volume.h
+++ b/volume.h
@@ -1,6 +1,6 @@
/*
DeaDBeeF - ultimate music player for GNU/Linux systems with X11
- Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>
+ Copyright (C) 2009-2012 Alexey Yakovenko <waker@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License