Projects
Multimedia
deadbeef
Sign Up
Log In
Username
Password
Problem getting expanded diff: bad link: conflict in file deadbeef.spec
×
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
deadbeef.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Sat Jun 4 16:16:16 UTC 2011 - andrea@opensuse.org + +- New upstream version 0.5.1 + +------------------------------------------------------------------- Mon May 16 09:02:32 UTC 2011 - andrea@opensuse.org - New upstream version 0.5.0
View file
deadbeef.spec
Changed
@@ -3,7 +3,7 @@ %bcond_with restricted Name: deadbeef -Version: 0.5.0 +Version: 0.5.1 Release: 1 Summary: GTK2 audio player Group: Productivity/Multimedia/Sound/Players
View file
deadbeef-0.5.0-fix-strcmp.patch
Added
@@ -0,0 +1,12 @@ +diff -uNr old-deadbeef-0.5.0/plugins/aac/aac.c deadbeef-0.5.0/plugins/aac/aac.c +--- old-deadbeef-0.5.0/plugins/aac/aac.c 2011-05-09 09:00:07.000000000 +0200 ++++ deadbeef-0.5.0/plugins/aac/aac.c 2011-05-22 11:33:52.256709089 +0200 +@@ -1256,7 +1256,7 @@ + MP4Close (mp4); + #endif + } +- else if (ftype == "aac") { ++ else if (strcmp(ftype, "aac") == 0) { + int apeerr = deadbeef->junk_apev2_read (it, fp); + int v2err = deadbeef->junk_id3v2_read (it, fp); + int v1err = deadbeef->junk_id3v1_read (it, fp);
View file
_link
Changed
@@ -1,4 +1,4 @@ -<link project="openSUSE.org:X11:lxde" package="deadbeef" baserev="b35f0447b73b99a94797bcf8a1d42260"> +<link project="openSUSE.org:X11:lxde" package="deadbeef" baserev="6f9878fb977f49bb3986a84124e3668a"> <patches> <branch/> </patches>
View file
deadbeef-0.5.0.tar.bz2/ChangeLog -> deadbeef-0.5.1.tar.bz2/ChangeLog
Changed
@@ -1,3 +1,32 @@ +version 0.5.1 + fixed crash bug after deleting playlists + fixed importing fb2k EQ presets + fixed bug causing garbage output when DSP plugins were changing channels count + added oggenc --ignorelength bug workaround to converter + added new mono2stereo DSP plugin + fixed numerous bugs in multichannel support, down/upmixing, sampleformat conversions, etc + fixed updating window titlebar after editing current track metadata + fixed wrong middle mouse button double-click reaction in tray icon + fixed scrobbling last track in "don't loop" mode + fixed shuffle albums mode when user starts album from the middle + added connection timeout to libmms to prevent several-minutes freezes on unresolved hosts + fixed inconsistent gui reaction when going from 1st track to previos in "don't loop" mode + removed -s option from bundled AAC encoder preset, for compatibility with older versions of FAAC + fixed multiple selection "sticking" when pressing left+right mouse buttons, or trying to play missing file + fixed syncing converter DSP preset list with the list from Preferences DSP tab + FLAC plugin can now play files which report zero size, but have samples in them + fixed playback of U8 wav files, and all the libsndfile formats that were not working in raw reading mode + added option (on by default) to convert 8 bit samples to 16 bit + added automatic samplerate option to SRC plugin + restored "use ALSA resampling" option in ALSA plugin + fixed several output format bugs in ALSA plugin + added support for creating directory tree in converter plugin (Jan D. Behrens) + set converter output folder to $HOME when it's empty + added new DSP plugin method "can_bypass", to detect when DSP plugins can be bypassed by streamer + improved check for multiple instances + fixed loading cuesheets from archives + added automatic resampler setup on 1st run with empty dsp chain, to simulate 0.4.4 behaviour + version 0.5.0 added support for multichannel output added support for output in 8,24,32,float32 bits per sample formats
View file
deadbeef-0.5.0.tar.bz2/configure -> deadbeef-0.5.1.tar.bz2/configure
Changed
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for deadbeef 0.5.0. +# Generated by GNU Autoconf 2.68 for deadbeef 0.5.1. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -627,8 +627,8 @@ # Identity of this package. PACKAGE_NAME='deadbeef' PACKAGE_TARNAME='deadbeef' -PACKAGE_VERSION='0.5.0' -PACKAGE_STRING='deadbeef 0.5.0' +PACKAGE_VERSION='0.5.1' +PACKAGE_STRING='deadbeef 0.5.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1617,7 +1617,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures deadbeef 0.5.0 to adapt to many kinds of systems. +\`configure' configures deadbeef 0.5.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1687,7 +1687,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of deadbeef 0.5.0:";; + short | recursive ) echo "Configuration of deadbeef 0.5.1:";; esac cat <<\_ACEOF @@ -1889,7 +1889,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -deadbeef configure 0.5.0 +deadbeef configure 0.5.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2607,7 +2607,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by deadbeef $as_me 0.5.0, which was +It was created by deadbeef $as_me 0.5.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3430,7 +3430,7 @@ # Define the identity of the package. PACKAGE='deadbeef' - VERSION='0.5.0' + VERSION='0.5.1' cat >>confdefs.h <<_ACEOF @@ -25799,7 +25799,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by deadbeef $as_me 0.5.0, which was +This file was extended by deadbeef $as_me 0.5.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25865,7 +25865,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -deadbeef config.status 0.5.0 +deadbeef config.status 0.5.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\"
View file
deadbeef-0.5.0.tar.bz2/configure.ac -> deadbeef-0.5.1.tar.bz2/configure.ac
Changed
@@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([deadbeef], [0.5.0]) +AC_INIT([deadbeef], [0.5.1]) AC_CONFIG_HEADER(config.h)
View file
deadbeef-0.5.0.tar.bz2/deadbeef.desktop -> deadbeef-0.5.1.tar.bz2/deadbeef.desktop
Changed
@@ -1,5 +1,4 @@ [Desktop Entry] -Encoding=UTF-8 Name=DeaDBeeF GenericName=Audio Player GenericName[pt_BR]=Reprodutor de áudio
View file
deadbeef-0.5.0.tar.bz2/deadbeef.desktop.in -> deadbeef-0.5.1.tar.bz2/deadbeef.desktop.in
Changed
@@ -1,5 +1,4 @@ [Desktop Entry] -Encoding=UTF-8 Name=DeaDBeeF GenericName=Audio Player GenericName[pt_BR]=Reprodutor de áudio
View file
deadbeef-0.5.0.tar.bz2/deadbeef.h -> deadbeef-0.5.1.tar.bz2/deadbeef.h
Changed
@@ -61,6 +61,8 @@ // api version history: // 9.9 -- devel +// 1.1 -- deadbeef-0.5.1 +// adds pass_through method to dsp plugins for optimization purposes // 1.0 -- deadbeef-0.5.0 // 0.10 -- deadbeef-0.4.4-portable-r1 (note: 0.4.4 uses api v0.9) // 0.9 -- deadbeef-0.4.3-portable-build3 @@ -74,7 +76,7 @@ // 0.1 -- deadbeef-0.2.0 #define DB_API_VERSION_MAJOR 1 -#define DB_API_VERSION_MINOR 0 +#define DB_API_VERSION_MINOR 1 #define DDB_PLUGIN_SET_API_VERSION\ .plugin.api_vmajor = DB_API_VERSION_MAJOR,\ @@ -212,7 +214,7 @@ ddb_event_t ev; DB_playItem_t *track; float playtime; // for SONGFINISHED event -- for how many seconds track was playing - time_t started_timestamp; // result of calling time(NULL) on playback start + time_t started_timestamp; // time when "track" started playing } ddb_event_track_t; typedef struct { @@ -220,7 +222,7 @@ DB_playItem_t *from; DB_playItem_t *to; float playtime; // for SONGCHANGED event -- for how many seconds prev track was playing - time_t started_timestamp; // result of calling time(NULL) on playback start + time_t started_timestamp; // time when "from" started playing } ddb_event_trackchange_t; typedef struct { @@ -986,6 +988,12 @@ // config dialog implementation uses set/get param, so they must be // implemented if this is nonzero const char *configdialog; + + // can_bypass is available since 1.1 api + // can be NULL + // should return 1 if the DSP plugin will not touch data with the current parameters; + // 0 otherwise + int (*can_bypass) (ddb_dsp_context_t *ctx, ddb_waveformat_t *fmt); } DB_dsp_t; // misc plugin
View file
deadbeef-0.5.0.tar.bz2/junklib.c -> deadbeef-0.5.1.tar.bz2/junklib.c
Changed
@@ -2999,6 +2999,7 @@ uint8_t *tag = malloc (size); if (!tag) { fprintf (stderr, "junklib: out of memory while reading id3v2, tried to alloc %d bytes\n", size); + goto error; } if (deadbeef->fread (tag, 1, size, fp) != size) { goto error; // bad size
View file
deadbeef-0.5.0.tar.bz2/main.c -> deadbeef-0.5.1.tar.bz2/main.c
Changed
@@ -421,6 +421,7 @@ switch (msg) { case DB_EV_REINIT_SOUND: plug_reinit_sound (); + streamer_reset (1); conf_save (); break; case DB_EV_TERMINATE: @@ -440,6 +441,12 @@ output->stop (); pl_playqueue_clear (); streamer_set_nextsong (p1, 1); + if (pl_get_order () == PLAYBACK_ORDER_SHUFFLE_ALBUMS) { + int pl = streamer_get_current_playlist (); + playlist_t *plt = plt_get_for_idx (pl); + plt_init_shuffle_albums (plt, p1); + plt_unref (plt); + } break; case DB_EV_STOP: streamer_set_nextsong (-2, 0); @@ -599,6 +606,8 @@ e--; } *e = 0; +#else + strcpy (dbinstalldir, PREFIX); #endif #ifdef __linux__ @@ -812,6 +821,11 @@ // } close(s); + // become a server + if (server_start () < 0) { + exit (-1); + } + // hack: report nowplaying if (!strcmp (cmdline, "--nowplaying")) { char nothing[] = "nothing"; @@ -819,7 +833,6 @@ return 0; } - pl_init (); conf_init (); conf_load (); // required by some plugins at startup @@ -850,10 +863,6 @@ } } - // become a server - if (server_start () < 0) { - exit (-1); - } #if 0 signal (SIGTERM, sigterm_handler); atexit (atexit_handler); // helps to save in simple cases
View file
deadbeef-0.5.0.tar.bz2/playlist.c -> deadbeef-0.5.1.tar.bz2/playlist.c
Changed
@@ -109,7 +109,7 @@ void pl_set_order (int order) { - if (pl_order != order && (pl_order == PLAYBACK_ORDER_SHUFFLE_TRACKS || PLAYBACK_ORDER_SHUFFLE_ALBUMS)) { + if (pl_order != order || pl_order == PLAYBACK_ORDER_SHUFFLE_TRACKS || pl_order == PLAYBACK_ORDER_SHUFFLE_ALBUMS) { pl_order = order; for (playlist_t *plt = playlists_head; plt; plt = plt->next) { plt_reshuffle (plt, NULL, NULL); @@ -274,6 +274,7 @@ void plt_unref (playlist_t *plt) { LOCK; + assert (plt->refc > 0); plt->refc--; if (plt->refc < 0) { trace ("\033[0;31mplaylist: bad refcount on playlist %p (%s)\033[37;0m\n", plt, plt->title); @@ -410,6 +411,7 @@ prev = p; p = p->next; } + streamer_notify_playlist_deleted (p); if (!plt_loading) { // move files (will decrease number of files by 1) for (int i = plt+1; i < playlists_count; i++) { @@ -603,7 +605,6 @@ void plt_free (playlist_t *plt) { LOCK; - streamer_notify_playlist_deleted (plt); plt_clear (plt); free (plt->title); @@ -1129,31 +1130,33 @@ char cuename[len+5]; strcpy (cuename, fname); strcpy (cuename+len, ".cue"); - FILE *fp = fopen (cuename, "rb"); + DB_FILE *fp = vfs_fopen (cuename); if (!fp) { char *ptr = cuename + len-1; while (ptr >= cuename && *ptr != '.') { ptr--; } strcpy (ptr+1, "cue"); - fp = fopen (cuename, "rb"); + fp = vfs_fopen (cuename); if (!fp) { return NULL; } } - fseek (fp, 0, SEEK_END); - size_t sz = ftell (fp); + size_t sz = vfs_fgetlength (fp); if (sz == 0) { - fclose (fp); + vfs_fclose (fp); return NULL; } - rewind (fp); - uint8_t buf[sz]; - if (fread (buf, 1, sz, fp) != sz) { - fclose (fp); + uint8_t *buf = alloca(sz); + if (!buf) { + vfs_fclose (fp); return NULL; } - fclose (fp); + if (vfs_fread (buf, 1, sz, fp) != sz) { + vfs_fclose (fp); + return NULL; + } + vfs_fclose (fp); return plt_insert_cue_from_buffer (plt, after, origin, buf, sz, numsamples, samplerate); } @@ -1936,6 +1939,7 @@ pl_item_alloc (void) { playItem_t *it = malloc (sizeof (playItem_t)); memset (it, 0, sizeof (playItem_t)); + it->_duration = -1; it->_refc = 1; return it; } @@ -2702,11 +2706,6 @@ } void -pl_reshuffle (playItem_t **ppmin, playItem_t **ppmax) { - plt_reshuffle (playlist, ppmin, ppmax); -} - -void plt_set_item_duration (playlist_t *playlist, playItem_t *it, float duration) { LOCK; if (it->in_playlist) { @@ -3872,3 +3871,25 @@ UNLOCK; return NULL; } + +// this function must be called user starts track manually in shuffle albums mode +// r is an index of current track +// mark previous songs in the album as played +void +plt_init_shuffle_albums (playlist_t *plt, int r) { + pl_lock (); + playItem_t *first = plt_get_item_for_idx (plt, r, PL_MAIN); + if (first->played) { + plt_reshuffle (plt, NULL, NULL); + } + if (first) { + int rating = first->shufflerating; + playItem_t *it = first->prev[PL_MAIN]; + pl_item_unref (first); + while (it && rating == it->shufflerating) { + it->played = 1; + it = it->prev[PL_MAIN]; + } + } + pl_unlock (); +}
View file
deadbeef-0.5.0.tar.bz2/playlist.h -> deadbeef-0.5.1.tar.bz2/playlist.h
Changed
@@ -304,9 +304,6 @@ void plt_reshuffle (playlist_t *playlist, playItem_t **ppmin, playItem_t **ppmax); -void -pl_reshuffle (playItem_t **ppmin, playItem_t **ppmax); - // required to calculate total playtime void plt_set_item_duration (playlist_t *playlist, playItem_t *it, float duration); @@ -437,4 +434,7 @@ playlist_t * pl_get_playlist (playItem_t *it); +void +plt_init_shuffle_albums (playlist_t *plt, int r); + #endif // __PLAYLIST_H
View file
deadbeef-0.5.0.tar.bz2/plugins.c -> deadbeef-0.5.1.tar.bz2/plugins.c
Changed
@@ -57,8 +57,8 @@ // deadbeef api static DB_functions_t deadbeef_api = { - .vmajor = 1, - .vminor = 0, + .vmajor = DB_API_VERSION_MAJOR, + .vminor = DB_API_VERSION_MINOR, .md5 = plug_md5, .md5_to_str = plug_md5_to_str, .md5_init = (void (*)(DB_md5_t *s))md5_init,
View file
deadbeef-0.5.0.tar.bz2/plugins/aac/aac.c -> deadbeef-0.5.1.tar.bz2/plugins/aac/aac.c
Changed
@@ -1314,7 +1314,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/adplug/Makefile.am -> deadbeef-0.5.1.tar.bz2/plugins/adplug/Makefile.am
Changed
@@ -4,10 +4,10 @@ adlibdir = $(libdir)/$(PACKAGE) pkglib_LTLIBRARIES = adplug.la -AM_CFLAGS = $(CFLAGS) -std=c99 -I$(adplugpath)/adplug -I$(adplugpath)/libbinio +AM_CFLAGS = $(CFLAGS) -std=c99 -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fPIC adplug_la_LDFLAGS = -module -nostdlib -lsupc++ -AM_CPPFLAGS = $(CXXFLAGS) -Dstricmp=strcasecmp -DVERSION=\"2.1\" -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fno-exceptions -fno-rtti -nostdlib -fno-unwind-tables +AM_CPPFLAGS = $(CXXFLAGS) -Dstricmp=strcasecmp -DVERSION=\"2.1\" -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fno-exceptions -fno-rtti -nostdlib -fno-unwind-tables -fPIC adplug_la_SOURCES = plugin.c\ adplug-db.cpp\
View file
deadbeef-0.5.0.tar.bz2/plugins/adplug/Makefile.in -> deadbeef-0.5.1.tar.bz2/plugins/adplug/Makefile.in
Changed
@@ -367,9 +367,9 @@ @HAVE_ADPLUG_TRUE@adplugpath = @top_srcdir@/plugins/adplug @HAVE_ADPLUG_TRUE@adlibdir = $(libdir)/$(PACKAGE) @HAVE_ADPLUG_TRUE@pkglib_LTLIBRARIES = adplug.la -@HAVE_ADPLUG_TRUE@AM_CFLAGS = $(CFLAGS) -std=c99 -I$(adplugpath)/adplug -I$(adplugpath)/libbinio +@HAVE_ADPLUG_TRUE@AM_CFLAGS = $(CFLAGS) -std=c99 -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fPIC @HAVE_ADPLUG_TRUE@adplug_la_LDFLAGS = -module -nostdlib -lsupc++ -@HAVE_ADPLUG_TRUE@AM_CPPFLAGS = $(CXXFLAGS) -Dstricmp=strcasecmp -DVERSION=\"2.1\" -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fno-exceptions -fno-rtti -nostdlib -fno-unwind-tables +@HAVE_ADPLUG_TRUE@AM_CPPFLAGS = $(CXXFLAGS) -Dstricmp=strcasecmp -DVERSION=\"2.1\" -I$(adplugpath)/adplug -I$(adplugpath)/libbinio -fno-exceptions -fno-rtti -nostdlib -fno-unwind-tables -fPIC @HAVE_ADPLUG_TRUE@adplug_la_SOURCES = plugin.c\ @HAVE_ADPLUG_TRUE@ adplug-db.cpp\ @HAVE_ADPLUG_TRUE@ libbinio/binfile.h\
View file
deadbeef-0.5.0.tar.bz2/plugins/adplug/plugin.c -> deadbeef-0.5.1.tar.bz2/plugins/adplug/plugin.c
Changed
@@ -45,7 +45,8 @@ // define plugin interface DB_decoder_t adplug_plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/alsa/alsa.c -> deadbeef-0.5.1.tar.bz2/plugins/alsa/alsa.c
Changed
@@ -23,8 +23,8 @@ #include "../../deadbeef.h" #include "../../config.h" -//#define trace(...) { fprintf(stderr, __VA_ARGS__); } -#define trace(fmt,...) +#define trace(...) { fprintf(stderr, __VA_ARGS__); } +//#define trace(fmt,...) #define min(x,y) ((x)<(y)?(x):(y)) @@ -52,33 +52,12 @@ static snd_pcm_uframes_t req_buffer_size; static snd_pcm_uframes_t req_period_size; +static int conf_alsa_resample = 1; static char conf_alsa_soundcard[100] = "default"; -//static snd_async_handler_t *pcm_callback; - static int palsa_callback (char *stream, int len); -#if 0 -static void -alsa_callback (snd_async_handler_t *pcm_callback) { - snd_pcm_t *pcm_handle = snd_async_handler_get_pcm(pcm_callback); - snd_pcm_sframes_t avail; - int err; - printf ("alsa_callback\n"); - - avail = snd_pcm_avail_update(pcm_handle); - while (avail >= period_size) { - char buf[avail * 4]; - palsa_callback (buf, avail * 4); - if ((err = snd_pcm_writei (pcm_handle, buf, period_size)) < 0) { - perror ("snd_pcm_writei"); - } - avail = snd_pcm_avail_update(pcm_handle); - } -} -#endif - static void palsa_thread (void *context); @@ -147,7 +126,6 @@ } snd_pcm_format_t sample_fmt; - switch (plugin.fmt.bps) { case 8: sample_fmt = SND_PCM_FORMAT_S8; @@ -182,7 +160,7 @@ #endif } break; - }; + } if ((err = snd_pcm_hw_params_set_format (audio, hw_params, sample_fmt)) < 0) { fprintf (stderr, "cannot set sample format (%s), trying all supported formats\n", snd_strerror (err)); @@ -228,7 +206,7 @@ int val = plugin.fmt.samplerate; int ret = 0; - if ((err = snd_pcm_hw_params_set_rate_resample (audio, hw_params, 1)) < 0) { + if ((err = snd_pcm_hw_params_set_rate_resample (audio, hw_params, conf_alsa_resample)) < 0) { fprintf (stderr, "cannot setup resampling (%s)\n", snd_strerror (err)); goto error; @@ -242,13 +220,24 @@ plugin.fmt.samplerate = val; trace ("chosen samplerate: %d Hz\n", val); - if ((err = snd_pcm_hw_params_set_channels (audio, hw_params, plugin.fmt.channels)) < 0) { + int chanmin, chanmax; + snd_pcm_hw_params_get_channels_min (hw_params, &chanmin); + snd_pcm_hw_params_get_channels_max (hw_params, &chanmax); + + trace ("minchan: %d, maxchan: %d\n", chanmin, chanmax); + int nchan = plugin.fmt.channels; + if (nchan > chanmax) { + nchan = chanmax; + } + else if (nchan < chanmin) { + nchan = chanmin; + } + trace ("setting chan=%d\n", nchan); + if ((err = snd_pcm_hw_params_set_channels (audio, hw_params, nchan)) < 0) { fprintf (stderr, "cannot set channel count (%s)\n", snd_strerror (err)); - goto error; } - int nchan; snd_pcm_hw_params_get_channels (hw_params, &nchan); trace ("alsa channels: %d\n", nchan); @@ -267,12 +256,6 @@ fprintf (stderr, "cannot set parameters (%s)\n", snd_strerror (err)); goto error; - -// if (plugin.fmt.channels > 2 && plugin.fmt.samplerate >= 96000) { -// plugin.fmt.samplerate = 48000; -// fprintf (stderr, "falling back to 48000KHz\n"); -// goto retry; -// } } plugin.fmt.is_float = 0; @@ -344,6 +327,7 @@ mutex = 0; // get and cache conf variables + conf_alsa_resample = deadbeef->conf_get_int ("alsa.resample", 1); deadbeef->conf_get_str ("alsa_soundcard", "default", conf_alsa_soundcard, sizeof (conf_alsa_soundcard)); trace ("alsa_soundcard: %s\n", conf_alsa_soundcard); @@ -469,7 +453,7 @@ snd_pcm_drop (audio); int ret = palsa_set_hw_params (fmt); if (ret < 0) { - trace ("palsa_change_rate: impossible to set requested format\n"); + trace ("palsa_setformat: impossible to set requested format\n"); // even if it failed -- copy the format memcpy (&plugin.fmt, fmt, sizeof (ddb_waveformat_t)); UNLOCK; @@ -698,11 +682,13 @@ static int alsa_configchanged (void) { deadbeef->conf_lock (); + int alsa_resample = deadbeef->conf_get_int ("alsa.resample", 1); const char *alsa_soundcard = deadbeef->conf_get_str_fast ("alsa_soundcard", "default"); int buffer = deadbeef->conf_get_int ("alsa.buffer", DEFAULT_BUFFER_SIZE); int period = deadbeef->conf_get_int ("alsa.period", DEFAULT_PERIOD_SIZE); if (audio && - (strcmp (alsa_soundcard, conf_alsa_soundcard) + (alsa_resample != conf_alsa_resample + || strcmp (alsa_soundcard, conf_alsa_soundcard) || buffer != req_buffer_size || period != req_period_size)) { trace ("alsa: config option changed, restarting\n"); @@ -773,6 +759,7 @@ } static const char settings_dlg[] = + "property \"Use ALSA resampling\" checkbox alsa.resample 1;\n" "property \"Release device while stopped\" checkbox alsa.freeonstop 0;\n" "property \"Preferred buffer size\" entry alsa.buffer " DEFAULT_BUFFER_SIZE_STR ";\n" "property \"Preferred period size\" entry alsa.period " DEFAULT_PERIOD_SIZE_STR ";\n" @@ -780,7 +767,8 @@ // define plugin interface static DB_output_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_OUTPUT,
View file
deadbeef-0.5.0.tar.bz2/plugins/artwork/artwork.c -> deadbeef-0.5.1.tar.bz2/plugins/artwork/artwork.c
Changed
@@ -141,10 +141,18 @@ queue_pop (void) { deadbeef->mutex_lock (mutex); cover_query_t *next = queue ? queue->next : NULL; - free (queue->fname); - free (queue->artist); - free (queue->album); - free (queue); + if (queue) { + if (queue->fname) { + free (queue->fname); + } + if (queue->artist) { + free (queue->artist); + } + if (queue->album) { + free (queue->album); + } + free (queue); + } queue = next; if (!queue) { queue_tail = NULL; @@ -1278,8 +1286,8 @@ // define plugin interface static DB_artwork_plugin_t plugin = { - .plugin.plugin.api_vmajor = DB_API_VERSION_MAJOR, - .plugin.plugin.api_vminor = DB_API_VERSION_MINOR, + .plugin.plugin.api_vmajor = 1, + .plugin.plugin.api_vminor = 0, .plugin.plugin.version_major = 1, .plugin.plugin.version_minor = 0, .plugin.plugin.type = DB_PLUGIN_MISC,
View file
deadbeef-0.5.0.tar.bz2/plugins/cdda/cdda.c -> deadbeef-0.5.1.tar.bz2/plugins/cdda/cdda.c
Changed
@@ -624,7 +624,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/converter/Makefile.am -> deadbeef-0.5.1.tar.bz2/plugins/converter/Makefile.am
Changed
@@ -1,8 +1,5 @@ if HAVE_CONVERTER -if STATICLINK -pkglib_LTLIBRARIES = converter.la converter_gtkui.la converter_gtkui.fallback.la -else pkglib_LTLIBRARIES = converter.la converter_gtkui.la convdatadir = $(libdir)/deadbeef/convpresets @@ -19,25 +16,21 @@ EXTRA_DIST = $(convdata_DATA) -endif - AM_CFLAGS = $(CFLAGS) -std=c99 -fPIC converter_la_SOURCES = converter.c converter.h converter_la_LDFLAGS = -module converter_gtkui_la_SOURCES = convgui.c interface.c support.c callbacks.h converter.h interface.h support.h converter_gtkui_la_LDFLAGS = -module -converter_gtkui_la_LIBADD = $(LDADD) $(GTKUI_DEPS_LIBS) -converter_gtkui_la_CFLAGS = -std=c99 $(GTKUI_DEPS_CFLAGS) -# fallback lib if STATICLINK GTK_ROOT=@top_srcdir@/$(LIB)/gtk-2.12.12/usr -converter_gtkui_fallback_la_SOURCES = convgui.c interface.c support.c callbacks.h converter.h interface.h support.h -converter_gtkui_fallback_la_LDFLAGS = -module -converter_gtkui_fallback_la_LIBADD = $(LDADD) -L$(GTK_ROOT)/lib $(GTK_ROOT)/lib/libgtk-x11-2.0.la $(GTK_ROOT)/lib/libgdk-x11-2.0.la $(GTK_ROOT)/lib/libpangoft2-1.0.la $(GTK_ROOT)/lib/libpangocairo-1.0.la $(GTK_ROOT)/lib/libgdk_pixbuf-2.0.la -lm $(GTK_ROOT)/lib/libcairo.la $(GTK_ROOT)/lib/libpango-1.0.la $(GTK_ROOT)/lib/libgobject-2.0.la $(GTK_ROOT)/lib/libgmodule-2.0.la $(GTK_ROOT)/lib/libgthread-2.0.la -lrt $(GTK_ROOT)/lib/libglib-2.0.la +converter_gtkui_la_LIBADD = $(LDADD) -L$(GTK_ROOT)/lib $(GTK_ROOT)/lib/libgtk-x11-2.0.la $(GTK_ROOT)/lib/libgdk-x11-2.0.la $(GTK_ROOT)/lib/libpangoft2-1.0.la $(GTK_ROOT)/lib/libpangocairo-1.0.la $(GTK_ROOT)/lib/libgdk_pixbuf-2.0.la -lm $(GTK_ROOT)/lib/libcairo.la $(GTK_ROOT)/lib/libpango-1.0.la $(GTK_ROOT)/lib/libgobject-2.0.la $(GTK_ROOT)/lib/libgmodule-2.0.la $(GTK_ROOT)/lib/libgthread-2.0.la -lrt $(GTK_ROOT)/lib/libglib-2.0.la -converter_gtkui_fallback_la_CFLAGS = -std=c99 -I $(GTK_ROOT)/include -I $(GTK_ROOT)/lib/gtk-2.0/include -I $(GTK_ROOT)/include/glib-2.0 -I $(GTK_ROOT)/include/gtk-2.0 -I $(GTK_ROOT)/include/cairo -I $(GTK_ROOT)/lib/glib-2.0/include/ -I $(GTK_ROOT)/include/pango-1.0 -I $(GTK_ROOT)/include/atk-1.0 -DULTRA_COMPATIBLE=1 +converter_gtkui_la_CFLAGS = -std=c99 -I $(GTK_ROOT)/include -I $(GTK_ROOT)/lib/gtk-2.0/include -I $(GTK_ROOT)/include/glib-2.0 -I $(GTK_ROOT)/include/gtk-2.0 -I $(GTK_ROOT)/include/cairo -I $(GTK_ROOT)/lib/glib-2.0/include/ -I $(GTK_ROOT)/include/pango-1.0 -I $(GTK_ROOT)/include/atk-1.0 -DULTRA_COMPATIBLE=1 +else +converter_gtkui_la_LIBADD = $(LDADD) $(GTKUI_DEPS_LIBS) +converter_gtkui_la_CFLAGS = -std=c99 $(GTKUI_DEPS_CFLAGS) endif
View file
deadbeef-0.5.0.tar.bz2/plugins/converter/Makefile.in -> deadbeef-0.5.1.tar.bz2/plugins/converter/Makefile.in
Changed
@@ -76,11 +76,11 @@ converter_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(converter_la_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@am_converter_la_rpath = -rpath \ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ $(pkglibdir) -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@am_converter_la_rpath = -rpath \ -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(pkglibdir) -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_fallback_la_DEPENDENCIES = $(GTK_ROOT)/lib/libgtk-x11-2.0.la \ +@HAVE_CONVERTER_TRUE@am_converter_la_rpath = -rpath $(pkglibdir) +am__DEPENDENCIES_1 = +@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@converter_gtkui_la_DEPENDENCIES = \ +@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ $(am__DEPENDENCIES_1) +@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_la_DEPENDENCIES = $(GTK_ROOT)/lib/libgtk-x11-2.0.la \ @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(GTK_ROOT)/lib/libgdk-x11-2.0.la \ @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(GTK_ROOT)/lib/libpangoft2-1.0.la \ @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(GTK_ROOT)/lib/libpangocairo-1.0.la \ @@ -91,22 +91,6 @@ @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(GTK_ROOT)/lib/libgmodule-2.0.la \ @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(GTK_ROOT)/lib/libgthread-2.0.la \ @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ $(GTK_ROOT)/lib/libglib-2.0.la -am__converter_gtkui_fallback_la_SOURCES_DIST = convgui.c interface.c \ - support.c callbacks.h converter.h interface.h support.h -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@am_converter_gtkui_fallback_la_OBJECTS = converter_gtkui_fallback_la-convgui.lo \ -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ converter_gtkui_fallback_la-interface.lo \ -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ converter_gtkui_fallback_la-support.lo -converter_gtkui_fallback_la_OBJECTS = \ - $(am_converter_gtkui_fallback_la_OBJECTS) -converter_gtkui_fallback_la_LINK = $(LIBTOOL) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) \ - $(converter_gtkui_fallback_la_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@am_converter_gtkui_fallback_la_rpath = \ -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ -rpath $(pkglibdir) -am__DEPENDENCIES_1 = -@HAVE_CONVERTER_TRUE@converter_gtkui_la_DEPENDENCIES = \ -@HAVE_CONVERTER_TRUE@ $(am__DEPENDENCIES_1) am__converter_gtkui_la_SOURCES_DIST = convgui.c interface.c support.c \ callbacks.h converter.h interface.h support.h @HAVE_CONVERTER_TRUE@am_converter_gtkui_la_OBJECTS = \ @@ -118,10 +102,7 @@ $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(converter_gtkui_la_CFLAGS) $(CFLAGS) \ $(converter_gtkui_la_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@am_converter_gtkui_la_rpath = \ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ -rpath $(pkglibdir) -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@am_converter_gtkui_la_rpath = \ -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@ -rpath $(pkglibdir) +@HAVE_CONVERTER_TRUE@am_converter_gtkui_la_rpath = -rpath $(pkglibdir) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -135,11 +116,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(converter_la_SOURCES) \ - $(converter_gtkui_fallback_la_SOURCES) \ - $(converter_gtkui_la_SOURCES) +SOURCES = $(converter_la_SOURCES) $(converter_gtkui_la_SOURCES) DIST_SOURCES = $(am__converter_la_SOURCES_DIST) \ - $(am__converter_gtkui_fallback_la_SOURCES_DIST) \ $(am__converter_gtkui_la_SOURCES_DIST) DATA = $(convdata_DATA) ETAGS = etags @@ -361,35 +339,30 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@pkglib_LTLIBRARIES = converter.la converter_gtkui.la -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@pkglib_LTLIBRARIES = converter.la converter_gtkui.la converter_gtkui.fallback.la -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@convdatadir = $(libdir)/deadbeef/convpresets -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@convdata_DATA = \ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/AAC_(Nero_FAAC).txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/FLAC_(compression_level_5).txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/MP3_CBR_320_Kbps_(Lame).txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/MP3_VBR_192Kbps_(Lame).txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/MS_RIFF_WAV.txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/MusePack.txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/Ogg_Vorbis_(-q_5).txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/TTA.txt\ -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@ presets/WavPack.txt - -@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@EXTRA_DIST = $(convdata_DATA) +@HAVE_CONVERTER_TRUE@pkglib_LTLIBRARIES = converter.la converter_gtkui.la +@HAVE_CONVERTER_TRUE@convdatadir = $(libdir)/deadbeef/convpresets +@HAVE_CONVERTER_TRUE@convdata_DATA = \ +@HAVE_CONVERTER_TRUE@ presets/AAC_(Nero_FAAC).txt\ +@HAVE_CONVERTER_TRUE@ presets/FLAC_(compression_level_5).txt\ +@HAVE_CONVERTER_TRUE@ presets/MP3_CBR_320_Kbps_(Lame).txt\ +@HAVE_CONVERTER_TRUE@ presets/MP3_VBR_192Kbps_(Lame).txt\ +@HAVE_CONVERTER_TRUE@ presets/MS_RIFF_WAV.txt\ +@HAVE_CONVERTER_TRUE@ presets/MusePack.txt\ +@HAVE_CONVERTER_TRUE@ presets/Ogg_Vorbis_(-q_5).txt\ +@HAVE_CONVERTER_TRUE@ presets/TTA.txt\ +@HAVE_CONVERTER_TRUE@ presets/WavPack.txt + +@HAVE_CONVERTER_TRUE@EXTRA_DIST = $(convdata_DATA) @HAVE_CONVERTER_TRUE@AM_CFLAGS = $(CFLAGS) -std=c99 -fPIC @HAVE_CONVERTER_TRUE@converter_la_SOURCES = converter.c converter.h @HAVE_CONVERTER_TRUE@converter_la_LDFLAGS = -module @HAVE_CONVERTER_TRUE@converter_gtkui_la_SOURCES = convgui.c interface.c support.c callbacks.h converter.h interface.h support.h @HAVE_CONVERTER_TRUE@converter_gtkui_la_LDFLAGS = -module -@HAVE_CONVERTER_TRUE@converter_gtkui_la_LIBADD = $(LDADD) $(GTKUI_DEPS_LIBS) -@HAVE_CONVERTER_TRUE@converter_gtkui_la_CFLAGS = -std=c99 $(GTKUI_DEPS_CFLAGS) - -# fallback lib @HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@GTK_ROOT = @top_srcdir@/$(LIB)/gtk-2.12.12/usr -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_fallback_la_SOURCES = convgui.c interface.c support.c callbacks.h converter.h interface.h support.h -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_fallback_la_LDFLAGS = -module -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_fallback_la_LIBADD = $(LDADD) -L$(GTK_ROOT)/lib $(GTK_ROOT)/lib/libgtk-x11-2.0.la $(GTK_ROOT)/lib/libgdk-x11-2.0.la $(GTK_ROOT)/lib/libpangoft2-1.0.la $(GTK_ROOT)/lib/libpangocairo-1.0.la $(GTK_ROOT)/lib/libgdk_pixbuf-2.0.la -lm $(GTK_ROOT)/lib/libcairo.la $(GTK_ROOT)/lib/libpango-1.0.la $(GTK_ROOT)/lib/libgobject-2.0.la $(GTK_ROOT)/lib/libgmodule-2.0.la $(GTK_ROOT)/lib/libgthread-2.0.la -lrt $(GTK_ROOT)/lib/libglib-2.0.la -@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_fallback_la_CFLAGS = -std=c99 -I $(GTK_ROOT)/include -I $(GTK_ROOT)/lib/gtk-2.0/include -I $(GTK_ROOT)/include/glib-2.0 -I $(GTK_ROOT)/include/gtk-2.0 -I $(GTK_ROOT)/include/cairo -I $(GTK_ROOT)/lib/glib-2.0/include/ -I $(GTK_ROOT)/include/pango-1.0 -I $(GTK_ROOT)/include/atk-1.0 -DULTRA_COMPATIBLE=1 +@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@converter_gtkui_la_LIBADD = $(LDADD) $(GTKUI_DEPS_LIBS) +@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_la_LIBADD = $(LDADD) -L$(GTK_ROOT)/lib $(GTK_ROOT)/lib/libgtk-x11-2.0.la $(GTK_ROOT)/lib/libgdk-x11-2.0.la $(GTK_ROOT)/lib/libpangoft2-1.0.la $(GTK_ROOT)/lib/libpangocairo-1.0.la $(GTK_ROOT)/lib/libgdk_pixbuf-2.0.la -lm $(GTK_ROOT)/lib/libcairo.la $(GTK_ROOT)/lib/libpango-1.0.la $(GTK_ROOT)/lib/libgobject-2.0.la $(GTK_ROOT)/lib/libgmodule-2.0.la $(GTK_ROOT)/lib/libgthread-2.0.la -lrt $(GTK_ROOT)/lib/libglib-2.0.la +@HAVE_CONVERTER_TRUE@@STATICLINK_FALSE@converter_gtkui_la_CFLAGS = -std=c99 $(GTKUI_DEPS_CFLAGS) +@HAVE_CONVERTER_TRUE@@STATICLINK_TRUE@converter_gtkui_la_CFLAGS = -std=c99 -I $(GTK_ROOT)/include -I $(GTK_ROOT)/lib/gtk-2.0/include -I $(GTK_ROOT)/include/glib-2.0 -I $(GTK_ROOT)/include/gtk-2.0 -I $(GTK_ROOT)/include/cairo -I $(GTK_ROOT)/lib/glib-2.0/include/ -I $(GTK_ROOT)/include/pango-1.0 -I $(GTK_ROOT)/include/atk-1.0 -DULTRA_COMPATIBLE=1 all: all-am .SUFFIXES: @@ -457,8 +430,6 @@ done converter.la: $(converter_la_OBJECTS) $(converter_la_DEPENDENCIES) $(converter_la_LINK) $(am_converter_la_rpath) $(converter_la_OBJECTS) $(converter_la_LIBADD) $(LIBS) -converter_gtkui.fallback.la: $(converter_gtkui_fallback_la_OBJECTS) $(converter_gtkui_fallback_la_DEPENDENCIES) - $(converter_gtkui_fallback_la_LINK) $(am_converter_gtkui_fallback_la_rpath) $(converter_gtkui_fallback_la_OBJECTS) $(converter_gtkui_fallback_la_LIBADD) $(LIBS) converter_gtkui.la: $(converter_gtkui_la_OBJECTS) $(converter_gtkui_la_DEPENDENCIES) $(converter_gtkui_la_LINK) $(am_converter_gtkui_la_rpath) $(converter_gtkui_la_OBJECTS) $(converter_gtkui_la_LIBADD) $(LIBS) @@ -469,9 +440,6 @@ -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter_gtkui_fallback_la-convgui.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter_gtkui_fallback_la-interface.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter_gtkui_fallback_la-support.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter_gtkui_la-convgui.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter_gtkui_la-interface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/converter_gtkui_la-support.Plo@am__quote@ @@ -497,27 +465,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -converter_gtkui_fallback_la-convgui.lo: convgui.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) -MT converter_gtkui_fallback_la-convgui.lo -MD -MP -MF $(DEPDIR)/converter_gtkui_fallback_la-convgui.Tpo -c -o converter_gtkui_fallback_la-convgui.lo `test -f 'convgui.c' || echo '$(srcdir)/'`convgui.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/converter_gtkui_fallback_la-convgui.Tpo $(DEPDIR)/converter_gtkui_fallback_la-convgui.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='convgui.c' object='converter_gtkui_fallback_la-convgui.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) -c -o converter_gtkui_fallback_la-convgui.lo `test -f 'convgui.c' || echo '$(srcdir)/'`convgui.c - -converter_gtkui_fallback_la-interface.lo: interface.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) -MT converter_gtkui_fallback_la-interface.lo -MD -MP -MF $(DEPDIR)/converter_gtkui_fallback_la-interface.Tpo -c -o converter_gtkui_fallback_la-interface.lo `test -f 'interface.c' || echo '$(srcdir)/'`interface.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/converter_gtkui_fallback_la-interface.Tpo $(DEPDIR)/converter_gtkui_fallback_la-interface.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interface.c' object='converter_gtkui_fallback_la-interface.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) -c -o converter_gtkui_fallback_la-interface.lo `test -f 'interface.c' || echo '$(srcdir)/'`interface.c - -converter_gtkui_fallback_la-support.lo: support.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) -MT converter_gtkui_fallback_la-support.lo -MD -MP -MF $(DEPDIR)/converter_gtkui_fallback_la-support.Tpo -c -o converter_gtkui_fallback_la-support.lo `test -f 'support.c' || echo '$(srcdir)/'`support.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/converter_gtkui_fallback_la-support.Tpo $(DEPDIR)/converter_gtkui_fallback_la-support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='support.c' object='converter_gtkui_fallback_la-support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_fallback_la_CFLAGS) $(CFLAGS) -c -o converter_gtkui_fallback_la-support.lo `test -f 'support.c' || echo '$(srcdir)/'`support.c - converter_gtkui_la-convgui.lo: convgui.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(converter_gtkui_la_CFLAGS) $(CFLAGS) -MT converter_gtkui_la-convgui.lo -MD -MP -MF $(DEPDIR)/converter_gtkui_la-convgui.Tpo -c -o converter_gtkui_la-convgui.lo `test -f 'convgui.c' || echo '$(srcdir)/'`convgui.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/converter_gtkui_la-convgui.Tpo $(DEPDIR)/converter_gtkui_la-convgui.Plo
View file
deadbeef-0.5.0.tar.bz2/plugins/converter/converter.c -> deadbeef-0.5.1.tar.bz2/plugins/converter/converter.c
Changed
@@ -29,8 +29,8 @@ #endif #define min(x,y) ((x)<(y)?(x):(y)) -#define trace(...) { fprintf(stderr, __VA_ARGS__); } -//#define trace(fmt,...) +//#define trace(...) { fprintf(stderr, __VA_ARGS__); } +#define trace(fmt,...) static ddb_converter_t plugin; static DB_functions_t *deadbeef; @@ -392,18 +392,18 @@ int BUFFER_SIZE = 1000; FILE *fin = fopen (in, "rb"); if (!fin) { - trace ("converter: failed to open file %s for reading\n", in); + fprintf (stderr, "converter: failed to open file %s for reading\n", in); return -1; } FILE *fout = fopen (out, "w+b"); if (!fout) { fclose (fin); - trace ("converter: failed to open file %s for writing\n", out); + fprintf (stderr, "converter: failed to open file %s for writing\n", out); return -1; } char *buf = malloc (BUFFER_SIZE); if (!buf) { - trace ("converter: failed to alloc %d bytes\n", BUFFER_SIZE); + fprintf (stderr, "converter: failed to alloc %d bytes\n", BUFFER_SIZE); fclose (fin); fclose (fout); return -1; @@ -416,11 +416,11 @@ while (sz > 0) { int rs = min (sz, BUFFER_SIZE); if (fread (buf, rs, 1, fin) != 1) { - trace ("converter: failed to read file %s\n", in); + fprintf (stderr, "converter: failed to read file %s\n", in); break; } if (fwrite (buf, rs, 1, fout) != 1) { - trace ("converter: failed to write file %s\n", out); + fprintf (stderr, "converter: failed to write file %s\n", out); break; } sz -= rs; @@ -631,22 +631,66 @@ to->next = from->next; } + 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) { - char fname[PATH_MAX]; +get_output_field (DB_playItem_t *it, const char *field, char *out, int sz) +{ int idx = deadbeef->pl_get_idx_of (it); - deadbeef->pl_format_title (it, idx, fname, sizeof (fname), -1, outfile); + deadbeef->pl_format_title (it, idx, out, sz, -1, field); + // replace invalid chars - char *p = fname; char invalid[] = "/\\?%*:|\"<>"; + char *p = out; + while (*p) { + if (strchr (invalid, *p)) { + *p = '_'; + } + p++; + } + 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) { + int l; + char fname[PATH_MAX]; + char *path = outfolder[0] ? strdupa (outfolder) : strdupa (getenv("HOME")); + char *pattern = strdupa (outfile); + + // replace invalid chars + char invalid[] = "?%*:|\"<>"; + char *p = path; while (*p) { if (strchr (invalid, *p)) { *p = '_'; } p++; } - snprintf (out, sz, "%s/%s.%s", outfolder, fname, encoder_preset->ext); + snprintf (out, sz, "%s/", path); + + // split path and create directories + char *field = pattern; + char *s = pattern; + while (*s) { + if ((*s == '/') || (*s == '\\')) { + *s = '\0'; + get_output_field (it, field, fname, sizeof(fname)); + + l = strlen (out); + snprintf (out+l, sz-l, "%s/", fname); + mkdir (out, 0755); + + field = s+1; + } + s++; + } + + // last part of outfile is the filename + get_output_field (it, field, fname, sizeof(fname)); + l = strlen (out); + snprintf (out+l, sz-l, "%s.%s", fname, encoder_preset->ext); + trace ("converter output file is '%s'\n", out); } int @@ -706,7 +750,7 @@ int len = sizeof (enc); while (e && *e) { if (len <= 0) { - fprintf (stderr, "converter: failed to assemble encoder command line - buffer is not big enough, try to shorten your parameters. max allowed length is %d characters\n", sizeof (enc)); + fprintf (stderr, "converter: failed to assemble encoder command line - buffer is not big enough, try to shorten your parameters. max allowed length is %lu characters\n", sizeof (enc)); goto error; } if (e[0] == '%' && e[1]) { @@ -734,7 +778,7 @@ } } - fprintf (stderr, "converter: will encode using: %s\n", enc); + fprintf (stderr, "converter: will encode using: %s\n", enc[0] ? enc : "internal RIFF WAVE writer"); if (!encoder_preset->encoder[0]) { // write to wave file @@ -858,12 +902,16 @@ memcpy (&wavehdr[34], &output_bps, 2); fwrite (wavehdr, 1, wavehdr_size, temp_file); + if (encoder_preset->method == DDB_ENCODER_METHOD_PIPE) { + size = 0; + } fwrite (&size, 1, sizeof (size), temp_file); header_written = 1; } - if (sz != fwrite (buffer, 1, sz, temp_file)) { - fprintf (stderr, "converter: write error\n"); + int64_t res = fwrite (buffer, 1, sz, temp_file); + if (sz != res) { + fprintf (stderr, "converter: write error (%lld bytes written out of %d)\n", res, sz); goto error; } } @@ -992,10 +1040,10 @@ // define plugin interface static ddb_converter_t plugin = { - .misc.plugin.api_vmajor = DB_API_VERSION_MAJOR, - .misc.plugin.api_vminor = DB_API_VERSION_MINOR, + .misc.plugin.api_vmajor = 1, + .misc.plugin.api_vminor = 0, .misc.plugin.version_major = 1, - .misc.plugin.version_minor = 0, + .misc.plugin.version_minor = 1, .misc.plugin.type = DB_PLUGIN_MISC, .misc.plugin.name = "Converter", .misc.plugin.id = "converter", @@ -1044,6 +1092,11 @@ .dsp_preset_replace = dsp_preset_replace, .get_output_path = get_output_path, .convert = convert, + // 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, }; DB_plugin_t *
View file
deadbeef-0.5.0.tar.bz2/plugins/converter/converter.h -> deadbeef-0.5.1.tar.bz2/plugins/converter/converter.h
Changed
@@ -145,6 +145,18 @@ 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); + ///////////////////////////// + // new APIs for converter-1.1 + ///////////////////////////// + + int + (*load_encoder_presets) (void); + int + (*load_dsp_presets) (void); + void + (*free_encoder_presets) (void); + void + (*free_dsp_presets) (void); } ddb_converter_t; #endif
View file
deadbeef-0.5.0.tar.bz2/plugins/converter/convgui.c -> deadbeef-0.5.1.tar.bz2/plugins/converter/convgui.c
Changed
@@ -355,6 +355,13 @@ static int converter_show (DB_plugin_action_t *act, DB_playItem_t *it) { + if (converter_plugin->misc.plugin.version_minor >= 1) { + // reload all presets + converter_plugin->free_encoder_presets (); + converter_plugin->load_encoder_presets (); + converter_plugin->free_dsp_presets (); + converter_plugin->load_dsp_presets (); + } // this can be called from non-gtk thread gdk_threads_add_idle (converter_show_cb, NULL); return 0; @@ -1267,16 +1274,21 @@ } DB_misc_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, - .plugin.version_minor = 0, + .plugin.version_minor = 1, .plugin.type = DB_PLUGIN_MISC, .plugin.name = "Converter GTK UI", .plugin.descr = "GTK2 User interface for the Converter plugin\n" "Usage:\n" "· select some tracks in playlist\n" "· right click\n" - "· select «Convert»", + "· select «Convert»\n\n" + "ChangeLog:\n" + "version 1.1\n" + " 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" "\n"
View file
deadbeef-0.5.0.tar.bz2/plugins/converter/presets/AAC_(Nero_FAAC).txt -> deadbeef-0.5.1.tar.bz2/plugins/converter/presets/AAC_(Nero_FAAC).txt
Changed
@@ -1,6 +1,6 @@ title AAC (Nero FAAC) ext mp4 -encoder faac -w -s -o %o - +encoder faac -w -o %o - method 0 id3v2_version 0 tag_id3v2 0
View file
deadbeef-0.5.0.tar.bz2/plugins/dca/dcaplug.c -> deadbeef-0.5.1.tar.bz2/plugins/dca/dcaplug.c
Changed
@@ -721,7 +721,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/dsp_libsrc/src.c -> deadbeef-0.5.1.tar.bz2/plugins/dsp_libsrc/src.c
Changed
@@ -39,6 +39,7 @@ int channels; int quality; float samplerate; + int autosamplerate; SRC_STATE *src; SRC_DATA srcdata; int remaining; // number of input samples in SRC buffer @@ -85,10 +86,32 @@ } int +ddb_src_can_bypass (ddb_dsp_context_t *_src, ddb_waveformat_t *fmt) { + ddb_src_libsamplerate_t *src = (ddb_src_libsamplerate_t*)_src; + + float samplerate = src->samplerate; + if (src->autosamplerate) { + DB_output_t *output = deadbeef->get_output (); + samplerate = output->fmt.samplerate; + } + + if (fmt->samplerate == samplerate) { + return 1; + } + return 0; +} + +int ddb_src_process (ddb_dsp_context_t *_src, float *samples, int nframes, int maxframes, ddb_waveformat_t *fmt, float *r) { ddb_src_libsamplerate_t *src = (ddb_src_libsamplerate_t*)_src; - if (fmt->samplerate == src->samplerate) { + float samplerate = src->samplerate; + if (src->autosamplerate) { + DB_output_t *output = deadbeef->get_output (); + samplerate = output->fmt.samplerate; + } + + if (fmt->samplerate == samplerate) { return nframes; } @@ -104,9 +127,9 @@ src->need_reset = 0; } - float ratio = src->samplerate / fmt->samplerate; + float ratio = samplerate / fmt->samplerate; ddb_src_set_ratio (_src, ratio); - fmt->samplerate = src->samplerate; + fmt->samplerate = samplerate; int numoutframes = 0; int outsize = nframes*24; @@ -149,7 +172,7 @@ if (src_err) { const char *err = src_strerror (src_err) ; fprintf (stderr, "src_process error %s\n" - "srcdata.data_in=%p, srcdata.data_out=%p, srcdata.input_frames=%d, srcdata.output_frames=%d, srcdata.src_ratio=%f", err, src->srcdata.data_in, src->srcdata.data_out, (int)src->srcdata.input_frames, (int)src->srcdata.output_frames, src->srcdata.src_ratio); + "srcdata.data_in=%p, srcdata.data_out=%p, srcdata.input_frames=%d, srcdata.output_frames=%d, srcdata.src_ratio=%f\n", err, src->srcdata.data_in, src->srcdata.data_out, (int)src->srcdata.input_frames, (int)src->srcdata.output_frames, src->srcdata.src_ratio); return nframes; } @@ -177,7 +200,7 @@ //} //fwrite (input, 1, numoutframes*sizeof(float)*(*nchannels), out); - fmt->samplerate = src->samplerate; + fmt->samplerate = samplerate; trace ("src: ratio=%f, in=%d, out=%d\n", ratio, nframes, numoutframes); return numoutframes; } @@ -194,6 +217,8 @@ return "Quality"; case SRC_PARAM_SAMPLERATE: return "Samplerate"; + case SRC_PARAM_AUTOSAMPLERATE: + return "Auto samplerate"; default: fprintf (stderr, "ddb_src_get_param_name: invalid param index (%d)\n", p); } @@ -215,6 +240,9 @@ ((ddb_src_libsamplerate_t*)ctx)->quality = atoi (val); ((ddb_src_libsamplerate_t*)ctx)->quality_changed = 1; break; + case SRC_PARAM_AUTOSAMPLERATE: + ((ddb_src_libsamplerate_t*)ctx)->autosamplerate = atoi (val); + break; default: fprintf (stderr, "ddb_src_set_param: invalid param index (%d)\n", p); } @@ -229,24 +257,29 @@ case SRC_PARAM_QUALITY: snprintf (val, sz, "%d", ((ddb_src_libsamplerate_t*)ctx)->quality); break; + case SRC_PARAM_AUTOSAMPLERATE: + snprintf (val, sz, "%d", ((ddb_src_libsamplerate_t*)ctx)->autosamplerate); + break; default: fprintf (stderr, "ddb_src_get_param: invalid param index (%d)\n", p); } } static const char settings_dlg[] = + "property \"Automatic Samplerate (overrides Target Samplerate)\" checkbox 2 0;\n" "property \"Target Samplerate\" spinbtn[8192,192000,1] 0 48000;\n" "property \"Quality / Algorythm\" select[5] 1 2 SINC_BEST_QUALITY SINC_MEDIUM_QUALITY SINC_FASTEST ZERO_ORDER_HOLD LINEAR;\n" ; static DB_dsp_t plugin = { - .plugin.api_vmajor = DB_API_VERSION_MAJOR, - .plugin.api_vminor = DB_API_VERSION_MINOR, + // need 1.1 api for pass_through + .plugin.api_vmajor = 1, + .plugin.api_vminor = 1, .open = ddb_src_open, .close = ddb_src_close, .process = ddb_src_process, - .plugin.version_major = 0, - .plugin.version_minor = 1, + .plugin.version_major = 1, + .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DSP, .plugin.id = "SRC", .plugin.name = "Resampler (Secret Rabbit Code)", @@ -275,6 +308,7 @@ .get_param = ddb_src_get_param, .reset = ddb_src_reset, .configdialog = settings_dlg, + .can_bypass = ddb_src_can_bypass, }; DB_plugin_t *
View file
deadbeef-0.5.0.tar.bz2/plugins/dsp_libsrc/src.h -> deadbeef-0.5.1.tar.bz2/plugins/dsp_libsrc/src.h
Changed
@@ -22,6 +22,7 @@ enum { SRC_PARAM_SAMPLERATE = 0, SRC_PARAM_QUALITY = 1, + SRC_PARAM_AUTOSAMPLERATE = 2, SRC_PARAM_COUNT };
View file
deadbeef-0.5.0.tar.bz2/plugins/ffap/ffap.c -> deadbeef-0.5.1.tar.bz2/plugins/ffap/ffap.c
Changed
@@ -1959,7 +1959,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/ffmpeg/ffmpeg.c -> deadbeef-0.5.1.tar.bz2/plugins/ffmpeg/ffmpeg.c
Changed
@@ -526,7 +526,6 @@ int totalsamples = fctx->duration * samplerate / AV_TIME_BASE; DB_playItem_t *it = deadbeef->pl_item_alloc_init (fname, plugin.plugin.id); - // FIXME: get proper codec deadbeef->pl_replace_meta (it, ":FILETYPE", codec->name); if (!deadbeef->is_local_file (deadbeef->pl_find_meta (it, ":URI"))) { @@ -778,7 +777,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 2, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/flac/flac.c -> deadbeef-0.5.1.tar.bz2/plugins/flac/flac.c
Changed
@@ -294,7 +294,8 @@ } int64_t totalsamples = FLAC__stream_decoder_get_total_samples (info->decoder); if (totalsamples <= 0) { - return -1; + trace ("flac: totalsamples=%lld\n", totalsamples); +// return -1; } float sec = totalsamples / (float)_info->fmt.samplerate; if (sec > 0) { @@ -358,11 +359,13 @@ cflac_read (DB_fileinfo_t *_info, char *bytes, int size) { flac_info_t *info = (flac_info_t *)_info; int samplesize = _info->fmt.channels * _info->fmt.bps / 8; - if (size / samplesize + info->currentsample > info->endsample) { - size = (info->endsample - info->currentsample + 1) * samplesize; - trace ("size truncated to %d bytes, cursample=%d, endsample=%d\n", size, info->currentsample, info->endsample); - if (size <= 0) { - return 0; + if (info->endsample >= 0) { + if (size / samplesize + info->currentsample > info->endsample) { + size = (info->endsample - info->currentsample + 1) * samplesize; + trace ("size truncated to %d bytes, cursample=%d, endsample=%d\n", size, info->currentsample, info->endsample); + if (size <= 0) { + return 0; + } } } int initsize = size; @@ -584,7 +587,12 @@ _info->fmt.channels = metadata->data.stream_info.channels; _info->fmt.bps = metadata->data.stream_info.bits_per_sample; info->totalsamples = metadata->data.stream_info.total_samples; - deadbeef->plt_set_item_duration (info->plt, it, metadata->data.stream_info.total_samples / (float)metadata->data.stream_info.sample_rate); + if (metadata->data.stream_info.total_samples > 0) { + deadbeef->plt_set_item_duration (info->plt, it, metadata->data.stream_info.total_samples / (float)metadata->data.stream_info.sample_rate); + } + else { + deadbeef->plt_set_item_duration (info->plt, it, -1); + } } else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) { const FLAC__StreamMetadata_VorbisComment *vc = &metadata->data.vorbis_comment; @@ -925,7 +933,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER, @@ -954,7 +963,6 @@ .init = cflac_init, .free = cflac_free, .read = cflac_read, -// .read_float32 = cflac_read_float32, .seek = cflac_seek, .seek_sample = cflac_seek_sample, .insert = cflac_insert,
View file
deadbeef-0.5.0.tar.bz2/plugins/gme/cgme.c -> deadbeef-0.5.1.tar.bz2/plugins/gme/cgme.c
Changed
@@ -408,7 +408,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/callbacks.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/callbacks.c
Changed
@@ -1232,4 +1232,3 @@ gtk_widget_destroy (dlg); dlg = NULL; } -
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/callbacks.h -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/callbacks.h
Changed
@@ -1151,3 +1151,7 @@ void on_sort_by_custom_activate (GtkMenuItem *menuitem, gpointer user_data); + +void +on_convert8to16_toggled (GtkToggleButton *togglebutton, + gpointer user_data);
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/ddblistview.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/ddblistview.c
Changed
@@ -18,9 +18,6 @@ #ifdef HAVE_CONFIG_H # include "../../config.h" #endif -#if HAVE_NOTIFY -#include <libnotify/notify.h> -#endif #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> @@ -1330,20 +1327,10 @@ if (it == sel_it) { if (!selected) { deadbeef->pl_set_selected (it, 1); -// if (nchanged < NUM_CHANGED_ROWS_BEFORE_FULL_REDRAW) { -// ddb_listview_draw_row (ps, idx, it); -// ps->binding->selection_changed (it, idx); -// } -// nchanged++; } } else if (selected) { deadbeef->pl_set_selected (it, 0); -// if (nchanged < NUM_CHANGED_ROWS_BEFORE_FULL_REDRAW) { -// ddb_listview_draw_row (ps, idx, it); -// ps->binding->selection_changed (it, idx); -// } -// nchanged++; } DB_playItem_t *next = deadbeef->pl_get_next (it, PL_MAIN); UNREF (it); @@ -1353,10 +1340,8 @@ UNREF (sel_it); deadbeef->pl_unlock (); - if (nchanged >= NUM_CHANGED_ROWS_BEFORE_FULL_REDRAW, 1) { - ddb_listview_refresh (ps, DDB_REFRESH_LIST); - ps->binding->selection_changed (NULL, -1); // that means "selection changed a lot, redraw everything" - } + ddb_listview_refresh (ps, DDB_REFRESH_LIST); + ps->binding->selection_changed (NULL, -1); // that means "selection changed a lot, redraw everything" ps->area_selection_start = sel; ps->area_selection_end = sel; } @@ -1364,6 +1349,7 @@ void ddb_listview_click_selection (DdbListview *ps, int ex, int ey, DdbListviewGroup *grp, int grp_index, int sel, int dnd) { deadbeef->pl_lock (); + ps->areaselect = 0; ddb_listview_groupcheck (ps); if (sel == -1 && (!grp || grp_index >= grp->num_items)) { // clicked empty space, deselect everything
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/deadbeef.glade -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/deadbeef.glade
Changed
@@ -2540,6 +2540,26 @@ <property name="fill">False</property> </packing> </child> + + <child> + <widget class="GtkCheckButton" id="convert8to16"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Always convert 8 bit audio to 16 bit</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_convert8to16_toggled" last_modification_time="Fri, 20 May 2011 18:56:52 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>
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/dspconfig.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/dspconfig.c
Changed
@@ -273,8 +273,7 @@ gtk_list_store_clear (mdl); fill_dsp_chain (mdl); GtkTreePath *path = gtk_tree_path_new_from_indices (idx, -1); - GtkTreeViewColumn *col; - gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, col, FALSE); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, NULL, FALSE); gtk_tree_path_free (path); update_streamer (); } @@ -396,8 +395,7 @@ return; } GtkTreePath *path = gtk_tree_path_new_from_indices (idx-1, -1); - GtkTreeViewColumn *col; - gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, col, FALSE); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, NULL, FALSE); gtk_tree_path_free (path); update_streamer (); } @@ -417,8 +415,7 @@ return; } GtkTreePath *path = gtk_tree_path_new_from_indices (idx+1, -1); - GtkTreeViewColumn *col; - gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, col, FALSE); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, NULL, FALSE); gtk_tree_path_free (path); update_streamer (); }
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/eq.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/eq.c
Changed
@@ -291,7 +291,7 @@ ddb_equalizer_set_preamp (DDB_EQUALIZER (eqwin), 0); for (int i = 0; i < 18; i++) { ddb_equalizer_set_band (DDB_EQUALIZER (eqwin), i, vals[i]); - set_param (eq, i+1, amp_to_db (vals[i])); + set_param (eq, i+1, vals[i]); } gdk_window_invalidate_rect (eqwin->window, NULL, FALSE); deadbeef->conf_save ();
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/gtkui.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/gtkui.c
Changed
@@ -312,7 +312,7 @@ if (event->button == 1 && event->type == GDK_BUTTON_PRESS) { mainwin_toggle_visible (); } - else if (event->button == 2) { + else if (event->button == 2 && event->type == GDK_BUTTON_PRESS) { deadbeef->sendmessage (DB_EV_TOGGLE_PAUSE, 0, 0, 0); } return FALSE; @@ -413,9 +413,8 @@ } } -static gboolean -trackinfochanged_cb (gpointer data) { - DB_playItem_t *track = (DB_playItem_t *)data; +void +gtkui_trackinfochanged (DB_playItem_t *track) { GtkWidget *playlist = lookup_widget (mainwin, "playlist"); trackinfochanged_wrapper (DDB_LISTVIEW (playlist), track, PL_MAIN); @@ -431,8 +430,13 @@ if (curr) { deadbeef->pl_item_unref (curr); } - if (track) { - deadbeef->pl_item_unref (track); +} + +static gboolean +trackinfochanged_cb (gpointer data) { + gtkui_trackinfochanged (data); + if (data) { + deadbeef->pl_item_unref ((DB_playItem_t *)data); } return FALSE; } @@ -1334,8 +1338,8 @@ // define plugin interface static ddb_gtkui_t plugin = { - .gui.plugin.api_vmajor = DB_API_VERSION_MAJOR, - .gui.plugin.api_vminor = DB_API_VERSION_MINOR, + .gui.plugin.api_vmajor = 1, + .gui.plugin.api_vminor = 0, .gui.plugin.version_major = 1, .gui.plugin.version_minor = 0, .gui.plugin.type = DB_PLUGIN_MISC,
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/gtkui.h -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/gtkui.h
Changed
@@ -169,4 +169,7 @@ int gtkui_get_curr_playlist_mod (void); +void +gtkui_trackinfochanged (DB_playItem_t *it); + #endif
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/interface.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/interface.c
Changed
@@ -1655,6 +1655,7 @@ GtkWidget *hbox12; GtkWidget *label4; GtkWidget *pref_soundcard; + GtkWidget *convert8to16; GtkWidget *Sound; GtkWidget *vbox8; GtkWidget *hbox10; @@ -1837,6 +1838,10 @@ gtk_widget_show (pref_soundcard); gtk_box_pack_start (GTK_BOX (hbox12), pref_soundcard, TRUE, TRUE, 0); + convert8to16 = gtk_check_button_new_with_mnemonic (_("Always convert 8 bit audio to 16 bit")); + gtk_widget_show (convert8to16); + gtk_box_pack_start (GTK_BOX (vbox10), convert8to16, FALSE, FALSE, 0); + Sound = gtk_label_new (_("Sound")); gtk_widget_show (Sound); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), Sound); @@ -2517,6 +2522,9 @@ g_signal_connect ((gpointer) prefwin, "realize", G_CALLBACK (on_prefwin_realize), NULL); + g_signal_connect ((gpointer) convert8to16, "toggled", + G_CALLBACK (on_convert8to16_toggled), + NULL); g_signal_connect ((gpointer) pref_replaygain_mode, "changed", G_CALLBACK (on_pref_replaygain_mode_changed), NULL); @@ -2679,6 +2687,7 @@ GLADE_HOOKUP_OBJECT (prefwin, hbox12, "hbox12"); GLADE_HOOKUP_OBJECT (prefwin, label4, "label4"); GLADE_HOOKUP_OBJECT (prefwin, pref_soundcard, "pref_soundcard"); + GLADE_HOOKUP_OBJECT (prefwin, convert8to16, "convert8to16"); GLADE_HOOKUP_OBJECT (prefwin, Sound, "Sound"); GLADE_HOOKUP_OBJECT (prefwin, vbox8, "vbox8"); GLADE_HOOKUP_OBJECT (prefwin, hbox10, "hbox10");
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/plcommon.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/plcommon.c
Changed
@@ -364,7 +364,7 @@ } // For single-track actions just invoke it with first selected track - if (0 == action->flags & DB_ACTION_ALLOW_MULTIPLE_TRACKS) + if (!(action->flags & DB_ACTION_ALLOW_MULTIPLE_TRACKS)) { DB_playItem_t *it = deadbeef->pl_get_for_idx_and_iter (clicked_idx, PL_MAIN); action->callback (action, it);
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/prefwin.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/prefwin.c
Changed
@@ -500,6 +500,9 @@ // replaygain_preamp gtk_range_set_value (GTK_RANGE (lookup_widget (w, "replaygain_preamp")), deadbeef->conf_get_int ("replaygain_preamp", 0)); + // 8_to_16 + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (w, "convert8to16")), deadbeef->conf_get_int ("streamer.8_to_16", 1)); + // dsp dsp_setup_init (prefwin); @@ -1341,3 +1344,13 @@ deadbeef->conf_set_int ("ignore_archives", gtk_toggle_button_get_active (togglebutton)); } + + +void +on_convert8to16_toggled (GtkToggleButton *togglebutton, + gpointer user_data) +{ + deadbeef->conf_set_int ("streamer.8_to_16", gtk_toggle_button_get_active (togglebutton)); + deadbeef->sendmessage (DB_EV_CONFIGCHANGED, 0, 0, 0); +} +
View file
deadbeef-0.5.0.tar.bz2/plugins/gtkui/trkproperties.c -> deadbeef-0.5.1.tar.bz2/plugins/gtkui/trkproperties.c
Changed
@@ -582,6 +582,13 @@ gtk_tree_model_foreach (model, set_metadata_cb, NULL); deadbeef->pl_unlock (); + for (int i = 0; i < numtracks; i++) { + ddb_event_track_t *ev = (ddb_event_track_t *)deadbeef->event_alloc (DB_EV_TRACKINFOCHANGED); + ev->track = tracks[i]; + deadbeef->pl_item_ref (ev->track); + deadbeef->event_send ((ddb_event_t*)ev, 0, 0); + } + progress_aborted = 0; progressdlg = create_progressdlg (); gtk_window_set_title (GTK_WINDOW (progressdlg), _("Writing tags..."));
View file
deadbeef-0.5.0.tar.bz2/plugins/hotkeys/hotkeys.c -> deadbeef-0.5.1.tar.bz2/plugins/hotkeys/hotkeys.c
Changed
@@ -127,12 +127,12 @@ trace ("No tracks selected\n"); return; } - if ((selected_count == 1) && (0 == action->flags & DB_ACTION_SINGLE_TRACK)) + if ((selected_count == 1) && (!(action->flags & DB_ACTION_SINGLE_TRACK))) { trace ("Hotkeys: action %s not allowed for single track\n", action->name); return; } - if ((selected_count > 1) && (0 == action->flags & DB_ACTION_ALLOW_MULTIPLE_TRACKS)) + if ((selected_count > 1) && (!(action->flags & DB_ACTION_ALLOW_MULTIPLE_TRACKS))) { trace ("Hotkeys: action %s not allowed for multiple tracks\n", action->name); return; @@ -614,14 +614,14 @@ // define plugin interface static DB_hotkeys_plugin_t plugin = { - .misc.plugin.api_vmajor = DB_API_VERSION_MAJOR, - .misc.plugin.api_vminor = DB_API_VERSION_MINOR, + .misc.plugin.api_vmajor = 1, + .misc.plugin.api_vminor = 0, .misc.plugin.version_major = 1, .misc.plugin.version_minor = 0, .misc.plugin.type = DB_PLUGIN_MISC, .misc.plugin.id = "hotkeys", .misc.plugin.name = "Global hotkeys support", - .misc.plugin.descr = "Allows to control player with global hotkeys", + .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-2011 Viktor Semykin <thesame.ml@gmail.com>\n"
View file
deadbeef-0.5.0.tar.bz2/plugins/lastfm/lastfm.c -> deadbeef-0.5.1.tar.bz2/plugins/lastfm/lastfm.c
Changed
@@ -926,7 +926,8 @@ // define plugin interface static DB_misc_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_MISC,
View file
deadbeef-0.5.0.tar.bz2/plugins/m3u/m3u.c -> deadbeef-0.5.1.tar.bz2/plugins/m3u/m3u.c
Changed
@@ -443,7 +443,8 @@ static const char * exts[] = { "m3u", "m3u8", "pls", NULL }; DB_playlist_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_PLAYLIST,
View file
deadbeef-0.5.0.tar.bz2/plugins/mms/libmms/mms.c -> deadbeef-0.5.1.tar.bz2/plugins/mms/libmms/mms.c
Changed
@@ -204,7 +204,7 @@ return -1; } - if (fcntl (s, F_SETFL, fcntl (s, F_GETFL) & ~O_NONBLOCK) == -1) { + if (fcntl (s, F_SETFL, fcntl (s, F_GETFL) | O_NONBLOCK) == -1) { lprintf("mms: failed to set socket flags: %s\n", strerror(errno)); return -1; } @@ -218,8 +218,31 @@ sin.sin_addr = ia; sin.sin_port = htons(port); - if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) ==-1 && errno != EINPROGRESS) { - continue; + time_t t = time (NULL); + int error = 0; + for (;;) { + int res = connect(s, (struct sockaddr *)&sin, sizeof(sin)); + if (res == -1 && (errno == EINPROGRESS || errno == EALREADY)) { + if (time (NULL) - t > 3) { + error = -1; + break; + } + usleep(100000); + continue; + } + else if (res == -1 && errno == EISCONN) { + break; + } + else if (res == -1) { + error = -1; + break; + } + } +// if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) ==-1 && errno != EINPROGRESS) { +// continue; +// } + if (error) { + continue; } return s;
View file
deadbeef-0.5.0.tar.bz2/plugins/mms/mmsplug.c -> deadbeef-0.5.1.tar.bz2/plugins/mms/mmsplug.c
Changed
@@ -119,7 +119,8 @@ } static DB_vfs_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_VFS,
View file
deadbeef-0.5.0.tar.bz2/plugins/mpgmad/mpgmad.c -> deadbeef-0.5.1.tar.bz2/plugins/mpgmad/mpgmad.c
Changed
@@ -1443,7 +1443,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/musepack/musepack.c -> deadbeef-0.5.1.tar.bz2/plugins/musepack/musepack.c
Changed
@@ -524,7 +524,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/notify/notify.c -> deadbeef-0.5.1.tar.bz2/plugins/notify/notify.c
Changed
@@ -324,7 +324,8 @@ ; DB_misc_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.type = DB_PLUGIN_MISC, .plugin.version_major = 1, .plugin.version_minor = 0,
View file
deadbeef-0.5.0.tar.bz2/plugins/nullout/nullout.c -> deadbeef-0.5.1.tar.bz2/plugins/nullout/nullout.c
Changed
@@ -190,7 +190,8 @@ // define plugin interface static DB_output_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_OUTPUT,
View file
deadbeef-0.5.0.tar.bz2/plugins/oss/oss.c -> deadbeef-0.5.1.tar.bz2/plugins/oss/oss.c
Changed
@@ -373,7 +373,8 @@ // define plugin interface static DB_output_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_OUTPUT,
View file
deadbeef-0.5.0.tar.bz2/plugins/pulse/pulse.c -> deadbeef-0.5.1.tar.bz2/plugins/pulse/pulse.c
Changed
@@ -357,7 +357,8 @@ static DB_output_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 0, .plugin.version_minor = 1, .plugin.type = DB_PLUGIN_OUTPUT,
View file
deadbeef-0.5.0.tar.bz2/plugins/shellexec/shellexec.c -> deadbeef-0.5.1.tar.bz2/plugins/shellexec/shellexec.c
Changed
@@ -202,8 +202,8 @@ // define plugin interface static DB_misc_t plugin = { - .plugin.api_vmajor = DB_API_VERSION_MAJOR, - .plugin.api_vminor = DB_API_VERSION_MINOR, + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_MISC,
View file
deadbeef-0.5.0.tar.bz2/plugins/sid/plugin.c -> deadbeef-0.5.1.tar.bz2/plugins/sid/plugin.c
Changed
@@ -29,7 +29,8 @@ // define plugin interface DB_decoder_t sid_plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.type = DB_PLUGIN_DECODER, .plugin.version_major = 1, .plugin.version_minor = 0,
View file
deadbeef-0.5.0.tar.bz2/plugins/sndfile/sndfile.c -> deadbeef-0.5.1.tar.bz2/plugins/sndfile/sndfile.c
Changed
@@ -42,6 +42,8 @@ int endsample; int currentsample; int bitrate; + int sf_format; + int read_as_short; } sndfile_info_t; // vfs wrapper for sf @@ -170,6 +172,7 @@ return -1; } _info->plugin = &plugin; + info->sf_format = inf.format&0x000f; switch (inf.format&0x000f) { case SF_FORMAT_PCM_S8: @@ -187,14 +190,11 @@ case SF_FORMAT_PCM_32: _info->fmt.bps = 32; break; - case SF_FORMAT_DOUBLE: - fprintf (stderr, "[sndfile] 64 bit float input format is not supported (yet)\n"); - return -1; -// _info->fmt.bps = 64; - break; default: + info->read_as_short = 1; + _info->fmt.bps = 16; fprintf (stderr, "[sndfile] unidentified input format: 0x%X\n", inf.format&0x000f); - return -1; + break; } _info->fmt.channels = inf.channels; @@ -264,8 +264,21 @@ } int n = 0; - n = sf_read_raw (info->ctx, (short *)bytes, size); - n /= samplesize; + if (info->read_as_short) { + n = sf_readf_short(info->ctx, (short *)bytes, size/samplesize); + } + else { + n = sf_read_raw (info->ctx, (short *)bytes, size); + + if (info->sf_format == SF_FORMAT_PCM_U8) { + for (int i = 0; i < n; i++) { + int sample = ((uint8_t *)bytes)[i]; + ((int8_t *)bytes)[i] = sample-0x80; + } + } + n /= samplesize; + } + info->currentsample += n; size = n * samplesize; @@ -344,7 +357,12 @@ break; } - snprintf (s, sizeof (s), "%d", bps); + if (bps == -1) { + snprintf (s, sizeof (s), "unknown"); + } + else { + snprintf (s, sizeof (s), "%d", bps); + } deadbeef->pl_add_meta (it, ":BPS", s); snprintf (s, sizeof (s), "%d", inf.channels); deadbeef->pl_add_meta (it, ":CHANNELS", s); @@ -354,6 +372,75 @@ snprintf (s, sizeof (s), "%d", br); deadbeef->pl_add_meta (it, ":BITRATE", s); + // sndfile subformats + const char *subformats[] = { + "", + "PCM_S8", + "PCM_16", + "PCM_24", + "PCM_32", + "PCM_U8", + "FLOAT", + "DOUBLE", + "", + "", + "ULAW", + "ALAW", + "IMA_ADPCM", + "MS_ADPCM", + "", + "", + "", + "", + "", + "", + "", + "GSM610", + "VOX_ADPCM", + "", + "", + "", + "", + "", + "", + "", + "", + "G721_32", + "G723_24", + "G723_40", + "", + "", + "", + "", + "", + "", + "", + "DWVW_12", + "DWVW_16", + "DWVW_24", + "DWVW_N", + "", + "", + "", + "", + "", + "", + "DPCM_8", + "DPCM_16", + "", + "", + "", + "", + "", + "", + "", + "", + "VORBIS", + }; + + if (inf.format&0x000f <= SF_FORMAT_VORBIS) { + deadbeef->pl_add_meta (it, ":SF_FORMAT", subformats[inf.format&0x000f]); + } DB_playItem_t *cue_after = deadbeef->plt_insert_cue (plt, after, it, totalsamples, samplerate); if (cue_after) { @@ -441,7 +528,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/supereq/supereq.c -> deadbeef-0.5.1.tar.bz2/plugins/supereq/supereq.c
Changed
@@ -273,8 +273,8 @@ ; static DB_dsp_t plugin = { - .plugin.api_vmajor = DB_API_VERSION_MAJOR, - .plugin.api_vminor = DB_API_VERSION_MINOR, + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DSP,
View file
deadbeef-0.5.0.tar.bz2/plugins/tta/ttaplug.c -> deadbeef-0.5.1.tar.bz2/plugins/tta/ttaplug.c
Changed
@@ -315,7 +315,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/vfs_curl/vfs_curl.c -> deadbeef-0.5.1.tar.bz2/plugins/vfs_curl/vfs_curl.c
Changed
@@ -1064,7 +1064,8 @@ // standard stdio vfs static DB_vfs_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_VFS,
View file
deadbeef-0.5.0.tar.bz2/plugins/vfs_zip/vfs_zip.c -> deadbeef-0.5.1.tar.bz2/plugins/vfs_zip/vfs_zip.c
Changed
@@ -210,7 +210,8 @@ } static DB_vfs_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_VFS,
View file
deadbeef-0.5.0.tar.bz2/plugins/vorbis/vorbis.c -> deadbeef-0.5.1.tar.bz2/plugins/vorbis/vorbis.c
Changed
@@ -768,7 +768,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/vtx/vtx.c -> deadbeef-0.5.1.tar.bz2/plugins/vtx/vtx.c
Changed
@@ -298,7 +298,8 @@ // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/wavpack/wavpack.c -> deadbeef-0.5.1.tar.bz2/plugins/wavpack/wavpack.c
Changed
@@ -411,7 +411,8 @@ static const char *exts[] = { "wv", NULL }; // define plugin interface static DB_decoder_t plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.version_major = 1, .plugin.version_minor = 0, .plugin.type = DB_PLUGIN_DECODER,
View file
deadbeef-0.5.0.tar.bz2/plugins/wildmidi/wildmidiplug.c -> deadbeef-0.5.1.tar.bz2/plugins/wildmidi/wildmidiplug.c
Changed
@@ -183,7 +183,8 @@ ; // define plugin interface DB_decoder_t wmidi_plugin = { - DB_PLUGIN_SET_API_VERSION + .plugin.api_vmajor = 1, + .plugin.api_vminor = 0, .plugin.type = DB_PLUGIN_DECODER, .plugin.version_major = 1, .plugin.version_minor = 0,
View file
deadbeef-0.5.0.tar.bz2/po/nl.po -> deadbeef-0.5.1.tar.bz2/po/nl.po
Changed
@@ -8,19 +8,19 @@ "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-09 04:43+0000\n" -"PO-Revision-Date: 2010-08-30 11:05+0200\n" -"Last-Translator: Sander <celettu@gmail.com>\n" +"PO-Revision-Date: 2011-05-18 14:18+0200\n" +"Last-Translator: Pjotr <pliniusminor@gmail.com>\n" "Language-Team: Spanish\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Pootle 2.0.5\n" #: ../plugins/gtkui/callbacks.c:97 msgid "Supported sound formats" -msgstr "Ondersteunde geluidsformaten" +msgstr "Ondersteunde bestandstypen voor geluid" #: ../plugins/gtkui/callbacks.c:108 msgid "Other files (*)" @@ -40,24 +40,24 @@ #: ../plugins/gtkui/callbacks.c:192 msgid "Follow symlinks" -msgstr "" +msgstr "Volg symbolische koppelingen" #: ../plugins/gtkui/callbacks.c:667 msgid "Failed while reading help file" -msgstr "Fout bij het lezen van het help bestand" +msgstr "Fout bij het lezen van het hulpbestand" #: ../plugins/gtkui/callbacks.c:677 msgid "Failed to load help file" -msgstr "Fout bij het lezen van het help bestand" +msgstr "Kon het hulpbestand niet laden" #: ../plugins/gtkui/callbacks.c:692 msgid "help.txt" -msgstr "" +msgstr "help.txt" #: ../plugins/gtkui/callbacks.c:693 ../plugins/gtkui/interface.c:1125 #: ../plugins/gtkui/deadbeef.glade.h:52 msgid "Help" -msgstr "Help" +msgstr "Hulp" #: ../plugins/gtkui/callbacks.c:703 #, c-format @@ -70,9 +70,10 @@ msgstr "DeaDBeeF %s ChangeLog" #: ../plugins/gtkui/callbacks.c:1080 -#, fuzzy, c-format +#, c-format +#, c-format msgid "DeaDBeeF Translators" -msgstr "DeaDBeeF speelt nu af" +msgstr "DeaDBeeF Vertalers" #: ../plugins/gtkui/ddbtabstrip.c:626 msgid "Edit playlist" @@ -353,7 +354,7 @@ #: ../plugins/gtkui/interface.c:394 ../plugins/gtkui/deadbeef.glade.h:69 msgid "Jump to current track" -msgstr "" +msgstr "Spring naar huidig muziekstuk" #: ../plugins/gtkui/interface.c:401 ../plugins/gtkui/interface.c:408 #: ../plugins/gtkui/deadbeef.glade.h:155 @@ -366,11 +367,11 @@ #: ../plugins/gtkui/interface.c:425 ../plugins/gtkui/deadbeef.glade.h:154 msgid "_GPLv2" -msgstr "" +msgstr "_GPLv2" #: ../plugins/gtkui/interface.c:429 ../plugins/gtkui/deadbeef.glade.h:156 msgid "_LGPLv2.1" -msgstr "" +msgstr "LGPLv2.1" #: ../plugins/gtkui/interface.c:438 ../plugins/gtkui/deadbeef.glade.h:145 msgid "_About" @@ -378,7 +379,7 @@ #: ../plugins/gtkui/interface.c:446 ../plugins/gtkui/deadbeef.glade.h:161 msgid "_Translators" -msgstr "" +msgstr "_Vertalers" #: ../plugins/gtkui/interface.c:836 ../plugins/gtkui/deadbeef.glade.h:114 msgid "Search" @@ -465,7 +466,7 @@ #: ../plugins/gtkui/interface.c:1430 msgid "Item Index" -msgstr "" +msgstr "Index van elementen" #. create default set of columns #: ../plugins/gtkui/interface.c:1431 ../plugins/gtkui/mainplaylist.c:305 @@ -529,7 +530,8 @@ msgstr "Rechts" #: ../plugins/gtkui/interface.c:1472 ../plugins/gtkui/deadbeef.glade.h:35 -#, fuzzy, no-c-format +#, no-c-format +#, no-c-format msgid "" "Format conversions (start with %):\n" " [a]rtist, [t]itle, al[b]um, [B]and, [C]omposer\n" @@ -540,10 +542,11 @@ "Example: %a - %t [%l]" msgstr "" "Formatteer conversies (begin met %):\n" -"[a]rtiest, [t]itel, al[b]um, [B]and, [C]omposer\n" -"titel[n]ummer, [N]totaltracks,\n" -"[d]uur, [j]aar, [g]enre, [c]ommentaar,\n" -"copy[r]echt, [b]estandnaam, [T]ags\n" +" [a]rtiest, [t]itel, al[b]um, [B]and, [C]omponist\n" +" titel[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 @@ -593,15 +596,16 @@ #: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:5 msgid "Add files from command line (or file manager) to this playlist:" msgstr "" +"Voeg bestanden toe vanaf de commandoregel (of de bestandbeheerder) aan deze " +"afspeellijst:" #: ../plugins/gtkui/interface.c:1841 ../plugins/gtkui/deadbeef.glade.h:109 msgid "Resume previous session on startup" -msgstr "" +msgstr "Hervat vorige sessie bij opstarten" #: ../plugins/gtkui/interface.c:1845 ../plugins/gtkui/deadbeef.glade.h:93 -#, fuzzy msgid "Playback" -msgstr "_Playback" +msgstr "Afspelen" #: ../plugins/gtkui/interface.c:1854 ../plugins/gtkui/deadbeef.glade.h:14 msgid "Close minimizes to tray" @@ -613,23 +617,23 @@ #: ../plugins/gtkui/interface.c:1862 ../plugins/gtkui/deadbeef.glade.h:54 msgid "Hide system tray icon" -msgstr "" +msgstr "Verberg systeemvakpictogram" #: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:138 msgid "Use bold font for currently playing track" -msgstr "" +msgstr "Gebruik vetgedrukt lettertype voor het thans afspelende muziekstuk" #: ../plugins/gtkui/interface.c:1870 ../plugins/gtkui/deadbeef.glade.h:53 msgid "Hide \"Delete from disk\" context menu item" -msgstr "" +msgstr "Verberg \"Verwijder van schijf\" element in het contekstmenu" #: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:133 msgid "Titlebar text while playing:" -msgstr "" +msgstr "Titelbalktekst gedurende afspelen:" #: ../plugins/gtkui/interface.c:1892 ../plugins/gtkui/deadbeef.glade.h:134 msgid "Titlebar text while stopped:" -msgstr "" +msgstr "Titelbalktekst wanneer gestopt" #: ../plugins/gtkui/interface.c:1902 ../plugins/gtkui/deadbeef.glade.h:50 msgid "GUI" @@ -706,7 +710,7 @@ #: ../plugins/gtkui/interface.c:2121 ../plugins/gtkui/deadbeef.glade.h:15 msgid "Colors" -msgstr "" +msgstr "Kleuren" #: ../plugins/gtkui/interface.c:2130 ../plugins/gtkui/deadbeef.glade.h:29 msgid "Enable Proxy Server" @@ -963,13 +967,12 @@ msgstr "Weet u zeker dat u dit venster wilt sluiten?" #: ../plugins/gtkui/trkproperties.c:169 -#, fuzzy msgid "Location" -msgstr "Voeg locatie toe" +msgstr "Locatie" #: ../plugins/gtkui/trkproperties.c:172 msgid "Subtrack Index" -msgstr "" +msgstr "Subspoor Index" #: ../plugins/gtkui/trkproperties.c:178 msgid "Tag Type(s)" @@ -989,7 +992,7 @@ #: ../plugins/gtkui/trkproperties.c:182 msgid "Codec" -msgstr "" +msgstr "Codec" #: ../plugins/gtkui/trkproperties.c:250 ../plugins/gtkui/trkproperties.c:262 msgid "Key" @@ -1107,7 +1110,6 @@ "Album" #: ../plugins/gtkui/deadbeef.glade.h:58 -#, fuzzy msgid "" "Item Index\n" "Playing\n" @@ -1121,9 +1123,9 @@ "Band / Album Artist\n" "Custom" msgstr "" -"Bestandsnummer\n" -"Speelt af\n" -"Album Art\n" +"Elementen Index\n" +"Aan het afspelen\n" +"Album Kunst\n" "Artiest - Album\n" "Artiest\n" "Album\n" @@ -1150,6 +1152,9 @@ #, 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: configuratiebestand voor freepats niet gevonden. Installeer " +"timidity-freepats-pakket, of specificeer pad naar freepats.cfg in de plugin-" +"instellingen" #. this file should list extra translatable strings that are not referenced #. directly in source code, e.g. scripted plugin configuration strings @@ -1159,217 +1164,207 @@ #: ../translation/extra.c:4 msgid "Lookup on Last.fm" -msgstr "" +msgstr "Zoek het op, op Last.fm" #. ALSA output plugin #: ../translation/extra.c:6 msgid "Use ALSA resampling" -msgstr "" +msgstr "Gebruik ALSA resampling" #: ../translation/extra.c:7 msgid "Release device while stopped" -msgstr "" +msgstr "Laat apparaat los wanneer gestopt" #: ../translation/extra.c:8 ../translation/extra.c:43 msgid "Preferred buffer size" -msgstr "" +msgstr "Voorkeursomvang van de buffer" #: ../translation/extra.c:9 msgid "Preferred period size" -msgstr "" +msgstr "Voorkeursomvang van de periode" #. Last.fm plugin #: ../translation/extra.c:11 -#, fuzzy msgid "Enable scrobbler" -msgstr "Schakel Proxy Server in" +msgstr "Schakel scrobbler in" #: ../translation/extra.c:12 -#, fuzzy msgid "Disable nowplaying" -msgstr "DeaDBeeF speelt nu af" +msgstr "Schakel NuAanHetAfspelen uit" #: ../translation/extra.c:13 -#, fuzzy msgid "Username" -msgstr "Proxy Gebruikersnaam:" +msgstr "Gebruikersnaam:" #: ../translation/extra.c:14 -#, fuzzy msgid "Password" -msgstr "Proxy wachtwoord:" +msgstr "Wachtwoord:" #: ../translation/extra.c:15 msgid "Scrobble URL" -msgstr "" +msgstr "Scrobble URL" #. Album Artwork plugin #: ../translation/extra.c:17 msgid "Cache update period (hr)" -msgstr "" +msgstr "Periode voor bijwerken opslag (uur)" #: ../translation/extra.c:18 msgid "Fetch from embedded tags" -msgstr "" +msgstr "Haal op uit ingebedde etiketten" #: ../translation/extra.c:19 msgid "Fetch from local folder" -msgstr "" +msgstr "Haal op uit ingebedde map" #: ../translation/extra.c:20 msgid "Local cover file mask" -msgstr "" +msgstr "Plaatselijk masker voor hoesbestand" #: ../translation/extra.c:21 msgid "Fetch from last.fm" -msgstr "" +msgstr "Haal op van Last.fm" #: ../translation/extra.c:22 msgid "Fetch from albumart.org" -msgstr "" +msgstr "Haal op van albumart.org" #. Audio CD player #: ../translation/extra.c:24 msgid "Use CDDB/FreeDB" -msgstr "" +msgstr "Gebruik CDDB/FreeDB" #: ../translation/extra.c:25 msgid "Prefer CD-Text over CDDB" -msgstr "" +msgstr "Verkies CD-tekst boven CDDB" #: ../translation/extra.c:26 msgid "CDDB url (e.g. 'freedb.org')" -msgstr "" +msgstr "CDDB url (bijv. 'freedb.org')" #: ../translation/extra.c:27 msgid "CDDB port number (e.g. '888')" -msgstr "" +msgstr "CDDB poortnummer (bijv. '888')" #: ../translation/extra.c:28 msgid "Prefer CDDB protocol over HTTP" -msgstr "" +msgstr "Verkies CDDB-protocol boven HTTP" #: ../translation/extra.c:29 msgid "Enable NRG image support" -msgstr "" +msgstr "Schakel NRG-afbeeldingsondersteuning in" #. DUMB module player plugin #: ../translation/extra.c:31 msgid "Resampling quality (0..2, higher is better)" -msgstr "" +msgstr "Resampling-kwaliteit (0..2, hoger is beter)" #. Game_Music_Emu decoder plugin #: ../translation/extra.c:33 msgid "Max song length (in minutes)" -msgstr "" +msgstr "Maximale muziekstukduur (in minuten)" #. Standard GTK2 user interface plugin #: ../translation/extra.c:35 -#, fuzzy msgid "Ask confirmation to delete files from disk" -msgstr "Verwijder bestanden van schijf" +msgstr "Vraag bevestiging voor het verwijderen van bestanden van de schijf" #: ../translation/extra.c:36 msgid "Status icon volume control sensitivity" -msgstr "" +msgstr "Statuspictogram voor gevoeligheid van volumeknop" #: ../translation/extra.c:37 msgid "Custom status icon" -msgstr "" +msgstr "Aangepast statuspictogram" #: ../translation/extra.c:38 msgid "Run gtk_init with --sync (debug mode)" -msgstr "" +msgstr "Draai gtk_init met --sync (debug-modus)" #. OSD Notify plugin #: ../translation/extra.c:40 msgid "Notification format" -msgstr "" +msgstr "Bestandtype van melding" #. PulseAudio output plugin #: ../translation/extra.c:42 msgid "PulseAudio server" -msgstr "" +msgstr "PulseAudio server" #: ../translation/extra.c:44 msgid "Samplerate" -msgstr "" +msgstr "Samplerate" #. SHN player plugin #: ../translation/extra.c:46 msgid "Relative seek table path" -msgstr "" +msgstr "Relatief pad voor zoektabel" #: ../translation/extra.c:47 msgid "Absolute seek table path" -msgstr "" +msgstr "Absoluut pad voor zoektabel" #: ../translation/extra.c:48 msgid "Swap audio bytes (toggle if all you hear is static)" -msgstr "" +msgstr "Verwissel audio-bytes (schakel om indien u slechts statische ruis hoort" #. SID decoder plugin #: ../translation/extra.c:50 -#, fuzzy msgid "Enable HVSC" -msgstr "Inschakelen" +msgstr "HVSC inschakelen" #: ../translation/extra.c:51 msgid "HVSC path" -msgstr "" +msgstr "HVSC-pad" #. WildMidi player plugin #: ../translation/extra.c:53 msgid "Timidity++ bank configuration file" -msgstr "" +msgstr "Configuratiebestand voor Timidity++" #: ../translation/extra.c:56 -#, fuzzy msgid "Track Title" -msgstr "Title nr." +msgstr "Muziekstuk Titel" #: ../translation/extra.c:57 msgid "Performer" -msgstr "" +msgstr "Artiest" #: ../translation/extra.c:60 msgid "Date" -msgstr "" +msgstr "Datum" #: ../translation/extra.c:61 -#, fuzzy msgid "Track Number" -msgstr "Title nr." +msgstr "Muziekstuk Nummer" #: ../translation/extra.c:62 -#, fuzzy msgid "Total Tracks" -msgstr "Titel / Titel Artiest" +msgstr "Totaalaantal Muziekstukken" #: ../translation/extra.c:63 msgid "Genre" -msgstr "" +msgstr "Genre" #: ../translation/extra.c:64 msgid "Composer" -msgstr "" +msgstr "Componist" #: ../translation/extra.c:65 -#, fuzzy msgid "Disc Number" -msgstr "Bestand´s nummer" +msgstr "Schijf Nummer" #: ../translation/extra.c:66 msgid "Comment" -msgstr "" +msgstr "Commentaar" #: ../translation/extra.c:67 msgid "Encoder / Vendor" -msgstr "" +msgstr "Encodeur/Verkoper" #: ../translation/extra.c:68 msgid "Copyright" -msgstr "" +msgstr "Auteursrecht" #~ msgid "" #~ "<b>WARNING</b>: tag writing feature is still in development.\n"
View file
deadbeef-0.5.0.tar.bz2/po/pt_BR.po -> deadbeef-0.5.1.tar.bz2/po/pt_BR.po
Changed
@@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: deadbeef\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-05-08 15:08-0300\n" -"PO-Revision-Date: 2011-05-08 21:32-0300\n" +"POT-Creation-Date: 2011-05-14 21:06-0300\n" +"PO-Revision-Date: 2011-05-14 21:06-0300\n" "Last-Translator: Sérgio Cipolla <secipolla@gmail.com>\n" "Language-Team: Brazilian Portuguese <ldp-br@bazar2.conectiva.com.br>\n" "Language: pt_BR\n" @@ -23,8 +23,7 @@ msgid "Supported sound formats" msgstr "Formatos de áudio suportados" -#: ../plugins/gtkui/callbacks.c:132 -#: ../plugins/gtkui/gtkui.c:772 +#: ../plugins/gtkui/callbacks.c:132 ../plugins/gtkui/gtkui.c:772 msgid "Other files (*)" msgstr "Outros arquivos (*)" @@ -56,9 +55,9 @@ msgid "help.txt" msgstr "help.pt_BR.txt" -#: ../plugins/gtkui/callbacks.c:723 -#: ../plugins/gtkui/interface.c:1155 -#: ../plugins/gtkui/deadbeef.glade.h:47 +#: ../plugins/gtkui/callbacks.c:723 ../plugins/gtkui/interface.c:1155 +#: ../plugins/gtkui/deadbeef.glade.h:47 ../plugins/converter/convgui.c:1233 +#: ../plugins/converter/convgui.c:1241 msgid "Help" msgstr "Ajuda" @@ -77,29 +76,26 @@ msgid "DeaDBeeF Translators" msgstr "Tradutores do DeaDBeeF" -#: ../plugins/gtkui/ddbtabstrip.c:684 -#: ../plugins/gtkui/trkproperties.c:599 +#: ../plugins/gtkui/ddbtabstrip.c:689 ../plugins/gtkui/trkproperties.c:611 msgid "Edit playlist" msgstr "Editar lista de reprodução" -#: ../plugins/gtkui/ddbtabstrip.c:687 -#: ../plugins/gtkui/interface.c:1486 -#: ../plugins/gtkui/interface.c:2861 -#: ../plugins/gtkui/deadbeef.glade.h:134 +#: ../plugins/gtkui/ddbtabstrip.c:692 ../plugins/gtkui/interface.c:1486 +#: ../plugins/gtkui/interface.c:2861 ../plugins/gtkui/deadbeef.glade.h:134 #: ../plugins/converter/interface.c:402 #: ../plugins/converter/converter.glade.h:46 msgid "Title:" msgstr "Título:" -#: ../plugins/gtkui/ddbtabstrip.c:742 +#: ../plugins/gtkui/ddbtabstrip.c:748 msgid "Rename Playlist" msgstr "Renomear lista de reprodução" -#: ../plugins/gtkui/ddbtabstrip.c:746 +#: ../plugins/gtkui/ddbtabstrip.c:752 msgid "Remove Playlist" msgstr "Remover lista de reprodução" -#: ../plugins/gtkui/ddbtabstrip.c:750 +#: ../plugins/gtkui/ddbtabstrip.c:756 msgid "Add New Playlist" msgstr "Adicionar nova lista de reprodução" @@ -155,8 +151,7 @@ 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:826 #: ../plugins/converter/converter.glade.h:40 msgid "Presets" msgstr "Predefinições" @@ -195,8 +190,11 @@ #: ../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:628 msgid "Save Playlist As" @@ -210,381 +208,305 @@ msgid "Load Playlist" msgstr "Carregar lista" -#: ../plugins/gtkui/gtkui.c:906 -#: ../plugins/gtkui/fileman.c:36 +#: ../plugins/gtkui/gtkui.c:910 ../plugins/gtkui/fileman.c:40 msgid "New Playlist" msgstr "Nova lista" -#: ../plugins/gtkui/gtkui.c:909 +#: ../plugins/gtkui/gtkui.c:913 #, c-format msgid "New Playlist (%d)" msgstr "Nova lista (%d)" -#: ../plugins/gtkui/interface.c:150 -#: ../plugins/gtkui/deadbeef.glade.h:154 +#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:154 msgid "_File" msgstr "_Arquivo" -#: ../plugins/gtkui/interface.c:157 -#: ../plugins/gtkui/deadbeef.glade.h:161 +#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:161 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:2961 +#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:2961 #: ../plugins/gtkui/deadbeef.glade.h:9 msgid "Add location" msgstr "Adicionar local" -#: ../plugins/gtkui/interface.c:198 -#: ../plugins/gtkui/deadbeef.glade.h:78 +#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:78 msgid "New playlist" msgstr "Nova lista de reprodução" -#: ../plugins/gtkui/interface.c:205 -#: ../plugins/gtkui/deadbeef.glade.h:70 +#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:70 msgid "Load playlist" msgstr "Carregar lista de reprodução" -#: ../plugins/gtkui/interface.c:209 -#: ../plugins/gtkui/deadbeef.glade.h:108 +#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:108 msgid "Save playlist" msgstr "Salvar lista de reprodução" -#: ../plugins/gtkui/interface.c:218 -#: ../plugins/gtkui/deadbeef.glade.h:163 +#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:163 msgid "_Quit" msgstr "_Sair" -#: ../plugins/gtkui/interface.c:229 -#: ../plugins/gtkui/deadbeef.glade.h:153 +#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:153 msgid "_Edit" msgstr "_Editar" -#: ../plugins/gtkui/interface.c:236 -#: ../plugins/gtkui/deadbeef.glade.h:151 +#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:151 msgid "_Clear" msgstr "_Limpar" -#: ../plugins/gtkui/interface.c:244 -#: ../plugins/gtkui/deadbeef.glade.h:113 +#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:113 msgid "Select all" msgstr "Selecionar tudo" -#: ../plugins/gtkui/interface.c:251 -#: ../plugins/gtkui/deadbeef.glade.h:31 +#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:31 msgid "Deselect all" msgstr "Desmarcar tudo" -#: ../plugins/gtkui/interface.c:258 -#: ../plugins/gtkui/deadbeef.glade.h:53 +#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:53 msgid "Invert selection" msgstr "Inverter seleção" -#: ../plugins/gtkui/interface.c:262 -#: ../plugins/gtkui/deadbeef.glade.h:116 +#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:116 msgid "Selection" msgstr "Seleção" -#: ../plugins/gtkui/interface.c:269 -#: ../plugins/gtkui/plcommon.c:447 -#: ../plugins/gtkui/prefwin.c:323 -#: ../plugins/gtkui/deadbeef.glade.h:103 +#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:453 +#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:103 #: ../plugins/converter/interface.c:653 #: ../plugins/converter/converter.glade.h:43 msgid "Remove" msgstr "Remover" -#: ../plugins/gtkui/interface.c:277 -#: ../plugins/gtkui/deadbeef.glade.h:23 +#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:23 msgid "Crop" msgstr "Cortar" -#: ../plugins/gtkui/interface.c:281 -#: ../plugins/gtkui/deadbeef.glade.h:155 +#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:155 msgid "_Find" msgstr "_Procurar" -#: ../plugins/gtkui/interface.c:288 -#: ../plugins/gtkui/deadbeef.glade.h:120 +#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:120 msgid "Sort By" msgstr "Ordenar por" -#: ../plugins/gtkui/interface.c:295 -#: ../plugins/gtkui/interface.c:1516 -#: ../plugins/gtkui/mainplaylist.c:308 -#: ../plugins/gtkui/prefwin.c:620 -#: ../plugins/gtkui/search.c:385 -#: ../plugins/gtkui/deadbeef.glade.h:133 -#: ../plugins/converter/convgui.c:782 -#: ../plugins/converter/convgui.c:1203 +#: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516 +#: ../plugins/gtkui/mainplaylist.c:315 ../plugins/gtkui/prefwin.c:620 +#: ../plugins/gtkui/search.c:393 ../plugins/gtkui/deadbeef.glade.h:133 +#: ../plugins/converter/convgui.c:783 ../plugins/converter/convgui.c:1204 #: ../plugins/converter/interface.c:630 #: ../plugins/converter/converter.glade.h:45 msgid "Title" msgstr "Título" -#: ../plugins/gtkui/interface.c:299 -#: ../plugins/gtkui/deadbeef.glade.h:138 +#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:138 msgid "Track number" msgstr "Número da faixa" -#: ../plugins/gtkui/interface.c:303 -#: ../plugins/gtkui/interface.c:1515 -#: ../plugins/gtkui/interface.c:1864 -#: ../plugins/gtkui/deadbeef.glade.h:10 -#: ../translation/extra.c:68 +#: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515 +#: ../plugins/gtkui/interface.c:1864 ../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:992 -#: ../plugins/gtkui/deadbeef.glade.h:12 -#: ../translation/extra.c:64 +#: ../plugins/gtkui/interface.c:307 ../plugins/gtkui/interface.c:1514 +#: ../plugins/gtkui/plcommon.c:998 ../plugins/gtkui/deadbeef.glade.h:12 +#: ../translation/extra.c:65 msgid "Artist" msgstr "Artista" -#: ../plugins/gtkui/interface.c:311 -#: ../plugins/gtkui/deadbeef.glade.h:30 -#: ../translation/extra.c:69 +#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:30 +#: ../translation/extra.c:70 msgid "Date" msgstr "Data" -#: ../plugins/gtkui/interface.c:315 -#: ../plugins/gtkui/interface.c:1520 -#: ../plugins/gtkui/plcommon.c:996 -#: ../plugins/gtkui/deadbeef.glade.h:26 +#: ../plugins/gtkui/interface.c:315 ../plugins/gtkui/interface.c:1520 +#: ../plugins/gtkui/plcommon.c:1002 ../plugins/gtkui/deadbeef.glade.h:26 msgid "Custom" msgstr "Personalizar" -#: ../plugins/gtkui/interface.c:324 -#: ../plugins/gtkui/interface.c:1797 +#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1797 #: ../plugins/gtkui/deadbeef.glade.h:93 msgid "Preferences" msgstr "Preferências" -#: ../plugins/gtkui/interface.c:328 -#: ../plugins/gtkui/deadbeef.glade.h:165 +#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:165 msgid "_View" msgstr "_Ver" -#: ../plugins/gtkui/interface.c:335 -#: ../plugins/gtkui/deadbeef.glade.h:123 +#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:123 msgid "Status bar" msgstr "Barra de status" -#: ../plugins/gtkui/interface.c:339 -#: ../plugins/gtkui/deadbeef.glade.h:20 +#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:20 msgid "Column headers" msgstr "Cabeçalhos das colunas" -#: ../plugins/gtkui/interface.c:343 -#: ../plugins/gtkui/deadbeef.glade.h:130 +#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:130 msgid "Tabs" msgstr "Abas" -#: ../plugins/gtkui/interface.c:347 -#: ../plugins/gtkui/deadbeef.glade.h:39 +#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:39 msgid "Equalizer" msgstr "Equalizador" -#: ../plugins/gtkui/interface.c:351 -#: ../plugins/gtkui/deadbeef.glade.h:162 +#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:162 msgid "_Playback" msgstr "_Reprodução" -#: ../plugins/gtkui/interface.c:358 -#: ../plugins/gtkui/interface.c:3237 +#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3237 #: ../plugins/gtkui/deadbeef.glade.h:81 msgid "Order" msgstr "Ordem" -#: ../plugins/gtkui/interface.c:365 -#: ../plugins/gtkui/deadbeef.glade.h:69 +#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:69 msgid "Linear" msgstr "Linear" -#: ../plugins/gtkui/interface.c:370 -#: ../plugins/gtkui/deadbeef.glade.h:119 +#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:119 msgid "Shuffle tracks" msgstr "Embaralhar faixas" -#: ../plugins/gtkui/interface.c:375 -#: ../plugins/gtkui/deadbeef.glade.h:118 +#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:118 msgid "Shuffle albums" msgstr "Embaralhar álbuns" -#: ../plugins/gtkui/interface.c:380 -#: ../plugins/gtkui/deadbeef.glade.h:102 +#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:102 msgid "Random" msgstr "Aleatória" -#: ../plugins/gtkui/interface.c:386 -#: ../plugins/gtkui/deadbeef.glade.h:73 +#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:73 msgid "Looping" msgstr "Repetição" -#: ../plugins/gtkui/interface.c:393 -#: ../plugins/gtkui/deadbeef.glade.h:71 +#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:71 msgid "Loop All" msgstr "Repetir tudo" -#: ../plugins/gtkui/interface.c:398 -#: ../plugins/gtkui/deadbeef.glade.h:72 +#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:72 msgid "Loop Single Song" msgstr "Repetir a música" -#: ../plugins/gtkui/interface.c:403 -#: ../plugins/gtkui/deadbeef.glade.h:35 +#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:35 msgid "Don't Loop" msgstr "Não repetir" -#: ../plugins/gtkui/interface.c:409 -#: ../plugins/gtkui/deadbeef.glade.h:109 +#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:109 msgid "Scroll follows playback" msgstr "Rolagem segue a reprodução" -#: ../plugins/gtkui/interface.c:414 -#: ../plugins/gtkui/deadbeef.glade.h:25 +#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:25 msgid "Cursor follows playback" msgstr "Cursor segue a reprodução" -#: ../plugins/gtkui/interface.c:418 -#: ../plugins/gtkui/deadbeef.glade.h:125 +#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:125 msgid "Stop after current" msgstr "Parar após a atual" -#: ../plugins/gtkui/interface.c:430 -#: ../plugins/gtkui/deadbeef.glade.h:65 +#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:65 msgid "Jump to current track" msgstr "Ir para a faixa atual" -#: ../plugins/gtkui/interface.c:437 -#: ../plugins/gtkui/interface.c:444 +#: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444 #: ../plugins/gtkui/deadbeef.glade.h:157 msgid "_Help" msgstr "Aj_uda" -#: ../plugins/gtkui/interface.c:452 -#: ../plugins/gtkui/deadbeef.glade.h:150 +#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:150 msgid "_ChangeLog" msgstr "Registro de _alterações" -#: ../plugins/gtkui/interface.c:461 -#: ../plugins/gtkui/deadbeef.glade.h:156 +#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:156 msgid "_GPLv2" msgstr "_GPLv2" -#: ../plugins/gtkui/interface.c:465 -#: ../plugins/gtkui/deadbeef.glade.h:158 +#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:158 msgid "_LGPLv2.1" msgstr "_LGPLv2.1" -#: ../plugins/gtkui/interface.c:474 -#: ../plugins/gtkui/deadbeef.glade.h:147 +#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:147 msgid "_About" msgstr "_Sobre" -#: ../plugins/gtkui/interface.c:482 -#: ../plugins/gtkui/deadbeef.glade.h:164 +#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:164 msgid "_Translators" msgstr "_Tradutores" -#: ../plugins/gtkui/interface.c:898 -#: ../plugins/gtkui/deadbeef.glade.h:110 +#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:110 msgid "Search" msgstr "Pesquisar" -#: ../plugins/gtkui/interface.c:973 -#: ../plugins/gtkui/deadbeef.glade.h:124 +#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:124 msgid "Stop" msgstr "Parar" -#: ../plugins/gtkui/interface.c:981 -#: ../plugins/gtkui/deadbeef.glade.h:87 +#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:87 msgid "Play" msgstr "Reproduzir" -#: ../plugins/gtkui/interface.c:989 -#: ../plugins/gtkui/deadbeef.glade.h:86 +#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:86 msgid "Pause" msgstr "Pausar" -#: ../plugins/gtkui/interface.c:997 -#: ../plugins/gtkui/deadbeef.glade.h:94 +#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:94 msgid "Previous" msgstr "Anterior " -#: ../plugins/gtkui/interface.c:1005 -#: ../plugins/gtkui/deadbeef.glade.h:79 +#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:79 msgid "Next" msgstr "Próxima" -#: ../plugins/gtkui/interface.c:1013 -#: ../plugins/gtkui/deadbeef.glade.h:88 +#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:88 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:101 +#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:101 msgid "Quit" msgstr "Sair" -#: ../plugins/gtkui/interface.c:1225 -#: ../plugins/gtkui/deadbeef.glade.h:137 +#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:137 msgid "Track Properties" msgstr "Propriedades da faixa" -#: ../plugins/gtkui/interface.c:1270 -#: ../plugins/gtkui/deadbeef.glade.h:117 +#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:117 msgid "Settings" msgstr "Configuração" -#: ../plugins/gtkui/interface.c:1296 -#: ../plugins/gtkui/deadbeef.glade.h:148 +#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:148 msgid "_Apply" msgstr "_Aplicar" -#: ../plugins/gtkui/interface.c:1317 -#: ../plugins/gtkui/interface.c:1363 +#: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363 #: ../plugins/gtkui/deadbeef.glade.h:152 msgid "_Close" msgstr "_Fechar" -#: ../plugins/gtkui/interface.c:1321 -#: ../plugins/gtkui/deadbeef.glade.h:74 +#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:74 msgid "Metadata" msgstr "Metadados" -#: ../plugins/gtkui/interface.c:1367 -#: ../plugins/gtkui/plcommon.c:597 +#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:603 #: ../plugins/gtkui/deadbeef.glade.h:95 msgid "Properties" msgstr "Propriedades" -#: ../plugins/gtkui/interface.c:1494 -#: ../plugins/gtkui/deadbeef.glade.h:38 +#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:38 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:139 +#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:139 msgid "Type:" msgstr "Tipo:" @@ -593,8 +515,7 @@ msgstr "Índice de itens" #. create default set of columns -#: ../plugins/gtkui/interface.c:1511 -#: ../plugins/gtkui/mainplaylist.c:305 +#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:312 msgid "Playing" msgstr "Em reprodução" @@ -606,30 +527,25 @@ msgid "Artist - Album" msgstr "Artista - Álbum" -#: ../plugins/gtkui/interface.c:1517 -#: ../plugins/gtkui/mainplaylist.c:309 -#: ../plugins/gtkui/search.c:386 +#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:316 +#: ../plugins/gtkui/search.c:394 msgid "Duration" msgstr "Duração" -#: ../plugins/gtkui/interface.c:1518 -#: ../translation/extra.c:70 +#: ../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:67 +#: ../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:3089 +#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3089 #: ../plugins/gtkui/deadbeef.glade.h:43 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:" @@ -641,328 +557,267 @@ msgid "Right" msgstr "Direita" -#: ../plugins/gtkui/interface.c:1583 -#: ../plugins/gtkui/interface.c:2892 -#: ../plugins/gtkui/interface.c:3004 -#: ../plugins/gtkui/interface.c:3130 +#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2892 +#: ../plugins/gtkui/interface.c:3004 ../plugins/gtkui/interface.c:3130 #: ../plugins/gtkui/deadbeef.glade.h:149 msgid "_Cancel" msgstr "_Cancelar" -#: ../plugins/gtkui/interface.c:1604 -#: ../plugins/gtkui/interface.c:2913 -#: ../plugins/gtkui/interface.c:3025 -#: ../plugins/gtkui/interface.c:3151 +#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2913 +#: ../plugins/gtkui/interface.c:3025 ../plugins/gtkui/interface.c:3151 #: ../plugins/gtkui/deadbeef.glade.h:160 msgid "_OK" msgstr "_OK" -#: ../plugins/gtkui/interface.c:1818 -#: ../plugins/gtkui/deadbeef.glade.h:83 +#: ../plugins/gtkui/interface.c:1818 ../plugins/gtkui/deadbeef.glade.h:83 msgid "Output plugin:" msgstr "Plugin de saída:" -#: ../plugins/gtkui/interface.c:1831 -#: ../plugins/gtkui/deadbeef.glade.h:82 +#: ../plugins/gtkui/interface.c:1831 ../plugins/gtkui/deadbeef.glade.h:82 msgid "Output device:" msgstr "Dispositivo de saída:" -#: ../plugins/gtkui/interface.c:1840 -#: ../plugins/gtkui/deadbeef.glade.h:122 +#: ../plugins/gtkui/interface.c:1840 ../plugins/gtkui/deadbeef.glade.h:122 msgid "Sound" msgstr "Som" -#: ../plugins/gtkui/interface.c:1853 -#: ../plugins/gtkui/deadbeef.glade.h:104 +#: ../plugins/gtkui/interface.c:1853 ../plugins/gtkui/deadbeef.glade.h:104 msgid "Replaygain mode:" msgstr "Modo de normalização:" #: ../plugins/gtkui/interface.c:1862 msgid "Disable" -msgstr "Desabilitar" +msgstr "Desabilitado" #: ../plugins/gtkui/interface.c:1863 msgid "Track" msgstr "Faixa" -#: ../plugins/gtkui/interface.c:1866 -#: ../plugins/gtkui/deadbeef.glade.h:105 +#: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:105 msgid "Replaygain peak scale" msgstr "Ajustar a normalização com o nível de pico" -#: ../plugins/gtkui/interface.c:1874 -#: ../plugins/gtkui/deadbeef.glade.h:106 +#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:106 msgid "Replaygain preamp:" msgstr "Pré-amplificação da normalização:" -#: ../plugins/gtkui/interface.c:1878 -#: ../plugins/gtkui/deadbeef.glade.h:2 +#: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:2 msgid "-12 dB" msgstr "-12 dB" -#: ../plugins/gtkui/interface.c:1888 -#: ../plugins/gtkui/deadbeef.glade.h:1 +#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/deadbeef.glade.h:1 msgid "+12 dB" msgstr "+12 dB" -#: ../plugins/gtkui/interface.c:1896 -#: ../plugins/gtkui/deadbeef.glade.h:7 +#: ../plugins/gtkui/interface.c:1896 ../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) à esta lista de reprodução:" +msgstr "" +"Adicionar arquivos pela linha de comando (ou gerenciador de arquivos) à esta " +"lista de reprodução:" -#: ../plugins/gtkui/interface.c:1905 -#: ../plugins/gtkui/deadbeef.glade.h:107 +#: ../plugins/gtkui/interface.c:1905 ../plugins/gtkui/deadbeef.glade.h:107 msgid "Resume previous session on startup" msgstr "Continuar a sessão anterior ao iniciar" -#: ../plugins/gtkui/interface.c:1909 -#: ../plugins/gtkui/deadbeef.glade.h:36 +#: ../plugins/gtkui/interface.c:1909 ../plugins/gtkui/deadbeef.glade.h:36 msgid "Don't add from archives when adding folders" msgstr "Não adicionar de arquivos ao adicionar pastas" -#: ../plugins/gtkui/interface.c:1913 -#: ../plugins/gtkui/deadbeef.glade.h:89 +#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:89 msgid "Playback" msgstr "Reprodução" -#: ../plugins/gtkui/interface.c:1934 -#: ../plugins/gtkui/interface.c:2466 -#: ../plugins/gtkui/deadbeef.glade.h:21 -#: ../plugins/converter/interface.c:657 +#: ../plugins/gtkui/interface.c:1934 ../plugins/gtkui/interface.c:2466 +#: ../plugins/gtkui/deadbeef.glade.h:21 ../plugins/converter/interface.c:657 #: ../plugins/converter/converter.glade.h:8 msgid "Configure" msgstr "Configurar" -#: ../plugins/gtkui/interface.c:1969 -#: ../plugins/gtkui/deadbeef.glade.h:28 +#: ../plugins/gtkui/interface.c:1969 ../plugins/gtkui/deadbeef.glade.h:28 msgid "DSP Chain Preset" msgstr "Predefinição de corrente do DSP" -#: ../plugins/gtkui/interface.c:1981 -#: ../plugins/gtkui/deadbeef.glade.h:159 +#: ../plugins/gtkui/interface.c:1981 ../plugins/gtkui/deadbeef.glade.h:159 msgid "_Load" msgstr "_Carregar" -#: ../plugins/gtkui/interface.c:1985 -#: ../plugins/gtkui/deadbeef.glade.h:27 +#: ../plugins/gtkui/interface.c:1985 ../plugins/gtkui/deadbeef.glade.h:27 msgid "DSP" msgstr "DSP" -#: ../plugins/gtkui/interface.c:1994 -#: ../plugins/gtkui/deadbeef.glade.h:18 +#: ../plugins/gtkui/interface.c:1994 ../plugins/gtkui/deadbeef.glade.h:18 msgid "Close minimizes to tray" msgstr "Fechar minimiza para a área de notificação" -#: ../plugins/gtkui/interface.c:1998 -#: ../plugins/gtkui/deadbeef.glade.h:76 +#: ../plugins/gtkui/interface.c:1998 ../plugins/gtkui/deadbeef.glade.h:76 msgid "Middle mouse button closes playlist" msgstr "Botão do meio do mouse fecha a lista" -#: ../plugins/gtkui/interface.c:2002 -#: ../plugins/gtkui/deadbeef.glade.h:49 +#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:49 msgid "Hide system tray icon" msgstr "Ocultar o ícone na área de notificação" -#: ../plugins/gtkui/interface.c:2006 -#: ../plugins/gtkui/deadbeef.glade.h:141 +#: ../plugins/gtkui/interface.c:2006 ../plugins/gtkui/deadbeef.glade.h:141 msgid "Use bold font for currently playing track" msgstr "Usar fonte em negrito para a faixa em reprodução" -#: ../plugins/gtkui/interface.c:2010 -#: ../plugins/gtkui/deadbeef.glade.h:48 +#: ../plugins/gtkui/interface.c:2010 ../plugins/gtkui/deadbeef.glade.h:48 msgid "Hide \"Delete from disk\" context menu item" msgstr "Ocultar item \"Excluir do disco\" do menu de contexto" -#: ../plugins/gtkui/interface.c:2014 -#: ../plugins/gtkui/deadbeef.glade.h:15 +#: ../plugins/gtkui/interface.c:2014 ../plugins/gtkui/deadbeef.glade.h:15 msgid "Auto-name playlists when adding a single folder" msgstr "Autonomear listas de reprodução ao adicionar uma única pasta" -#: ../plugins/gtkui/interface.c:2022 -#: ../plugins/gtkui/deadbeef.glade.h:52 +#: ../plugins/gtkui/interface.c:2022 ../plugins/gtkui/deadbeef.glade.h:52 msgid "Interface refresh rate (times per second):" msgstr "Taxa de atualização da interface (vezes por segundo):" -#: ../plugins/gtkui/interface.c:2036 -#: ../plugins/gtkui/deadbeef.glade.h:135 +#: ../plugins/gtkui/interface.c:2036 ../plugins/gtkui/deadbeef.glade.h:135 msgid "Titlebar text while playing:" msgstr "Texto na barra de título durante a reprodução:" -#: ../plugins/gtkui/interface.c:2050 -#: ../plugins/gtkui/deadbeef.glade.h:136 +#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:136 msgid "Titlebar text while stopped:" msgstr "Texto na barra de título quando parado:" -#: ../plugins/gtkui/interface.c:2064 -#: ../plugins/gtkui/deadbeef.glade.h:45 +#: ../plugins/gtkui/interface.c:2064 ../plugins/gtkui/deadbeef.glade.h:45 msgid "GUI Plugin (changing requires restart):" msgstr "Plugin da interface gráfica (mudança requer reinício):" -#: ../plugins/gtkui/interface.c:2072 -#: ../plugins/gtkui/deadbeef.glade.h:44 +#: ../plugins/gtkui/interface.c:2072 ../plugins/gtkui/deadbeef.glade.h:44 msgid "GUI" msgstr "Interface do usuário" -#: ../plugins/gtkui/interface.c:2087 -#: ../plugins/gtkui/interface.c:2131 +#: ../plugins/gtkui/interface.c:2087 ../plugins/gtkui/interface.c:2131 #: ../plugins/gtkui/deadbeef.glade.h:84 msgid "Override" msgstr "Sobrepujar" -#: ../plugins/gtkui/interface.c:2096 -#: ../plugins/gtkui/deadbeef.glade.h:41 +#: ../plugins/gtkui/interface.c:2096 ../plugins/gtkui/deadbeef.glade.h:41 msgid "Foreground" msgstr "Primeiro plano" -#: ../plugins/gtkui/interface.c:2103 -#: ../plugins/gtkui/deadbeef.glade.h:16 +#: ../plugins/gtkui/interface.c:2103 ../plugins/gtkui/deadbeef.glade.h:16 msgid "Background" msgstr "Segundo plano" -#: ../plugins/gtkui/interface.c:2122 -#: ../plugins/gtkui/deadbeef.glade.h:111 +#: ../plugins/gtkui/interface.c:2122 ../plugins/gtkui/deadbeef.glade.h:111 msgid "Seekbar/Volumebar colors" msgstr "Cores das barras volume/pesquisa" -#: ../plugins/gtkui/interface.c:2140 -#: ../plugins/gtkui/deadbeef.glade.h:75 +#: ../plugins/gtkui/interface.c:2140 ../plugins/gtkui/deadbeef.glade.h:75 msgid "Middle" msgstr "Meio" -#: ../plugins/gtkui/interface.c:2147 -#: ../plugins/gtkui/deadbeef.glade.h:68 +#: ../plugins/gtkui/interface.c:2147 ../plugins/gtkui/deadbeef.glade.h:68 msgid "Light" msgstr "Claro" -#: ../plugins/gtkui/interface.c:2154 -#: ../plugins/gtkui/deadbeef.glade.h:29 +#: ../plugins/gtkui/interface.c:2154 ../plugins/gtkui/deadbeef.glade.h:29 msgid "Dark" msgstr "Escuro" -#: ../plugins/gtkui/interface.c:2185 -#: ../plugins/gtkui/deadbeef.glade.h:17 +#: ../plugins/gtkui/interface.c:2185 ../plugins/gtkui/deadbeef.glade.h:17 msgid "Base" msgstr "Base" -#: ../plugins/gtkui/interface.c:2192 -#: ../plugins/gtkui/interface.c:2249 +#: ../plugins/gtkui/interface.c:2192 ../plugins/gtkui/interface.c:2249 #: ../plugins/gtkui/deadbeef.glade.h:132 msgid "Text" msgstr "Texto" -#: ../plugins/gtkui/interface.c:2205 -#: ../plugins/gtkui/deadbeef.glade.h:129 +#: ../plugins/gtkui/interface.c:2205 ../plugins/gtkui/deadbeef.glade.h:129 msgid "Tab strip colors" msgstr "Cores do separador" -#: ../plugins/gtkui/interface.c:2214 -#: ../plugins/gtkui/deadbeef.glade.h:85 +#: ../plugins/gtkui/interface.c:2214 ../plugins/gtkui/deadbeef.glade.h:85 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:2223 -#: ../plugins/gtkui/deadbeef.glade.h:40 +#: ../plugins/gtkui/interface.c:2223 ../plugins/gtkui/deadbeef.glade.h:40 msgid "Even row" msgstr "Linha par" -#: ../plugins/gtkui/interface.c:2230 -#: ../plugins/gtkui/deadbeef.glade.h:80 +#: ../plugins/gtkui/interface.c:2230 ../plugins/gtkui/deadbeef.glade.h:80 msgid "Odd row" msgstr "Linha ímpar" -#: ../plugins/gtkui/interface.c:2256 -#: ../plugins/gtkui/deadbeef.glade.h:114 +#: ../plugins/gtkui/interface.c:2256 ../plugins/gtkui/deadbeef.glade.h:114 msgid "Selected row" msgstr "Linha selecionada" -#: ../plugins/gtkui/interface.c:2275 -#: ../plugins/gtkui/deadbeef.glade.h:115 +#: ../plugins/gtkui/interface.c:2275 ../plugins/gtkui/deadbeef.glade.h:115 msgid "Selected text" msgstr "Texto selecionado" -#: ../plugins/gtkui/interface.c:2288 -#: ../plugins/gtkui/deadbeef.glade.h:24 +#: ../plugins/gtkui/interface.c:2288 ../plugins/gtkui/deadbeef.glade.h:24 msgid "Cursor" msgstr "Cursor" -#: ../plugins/gtkui/interface.c:2301 -#: ../plugins/gtkui/deadbeef.glade.h:90 +#: ../plugins/gtkui/interface.c:2301 ../plugins/gtkui/deadbeef.glade.h:90 msgid "Playlist colors" msgstr "Cores da lista de reprodução" -#: ../plugins/gtkui/interface.c:2305 -#: ../plugins/gtkui/deadbeef.glade.h:19 +#: ../plugins/gtkui/interface.c:2305 ../plugins/gtkui/deadbeef.glade.h:19 msgid "Colors" msgstr "Cores" -#: ../plugins/gtkui/interface.c:2314 -#: ../plugins/gtkui/deadbeef.glade.h:37 +#: ../plugins/gtkui/interface.c:2314 ../plugins/gtkui/deadbeef.glade.h:37 msgid "Enable Proxy Server" msgstr "Habilitar servidor proxy" -#: ../plugins/gtkui/interface.c:2322 -#: ../plugins/gtkui/deadbeef.glade.h:97 +#: ../plugins/gtkui/interface.c:2322 ../plugins/gtkui/deadbeef.glade.h:97 msgid "Proxy Server Address:" msgstr "Endereço do servidor proxy:" -#: ../plugins/gtkui/interface.c:2336 -#: ../plugins/gtkui/deadbeef.glade.h:98 +#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:98 msgid "Proxy Server Port:" msgstr "Porta do servidor proxy:" -#: ../plugins/gtkui/interface.c:2350 -#: ../plugins/gtkui/deadbeef.glade.h:99 +#: ../plugins/gtkui/interface.c:2350 ../plugins/gtkui/deadbeef.glade.h:99 msgid "Proxy Type:" msgstr "Tipo de proxy:" -#: ../plugins/gtkui/interface.c:2369 -#: ../plugins/gtkui/deadbeef.glade.h:100 +#: ../plugins/gtkui/interface.c:2369 ../plugins/gtkui/deadbeef.glade.h:100 msgid "Proxy Username:" msgstr "Nome de usuário do proxy:" -#: ../plugins/gtkui/interface.c:2382 -#: ../plugins/gtkui/deadbeef.glade.h:96 +#: ../plugins/gtkui/interface.c:2382 ../plugins/gtkui/deadbeef.glade.h:96 msgid "Proxy Password:" msgstr "Senha do proxy:" -#: ../plugins/gtkui/interface.c:2392 -#: ../plugins/gtkui/deadbeef.glade.h:77 +#: ../plugins/gtkui/interface.c:2392 ../plugins/gtkui/deadbeef.glade.h:77 msgid "Network" msgstr "Rede" -#: ../plugins/gtkui/interface.c:2423 -#: ../plugins/gtkui/deadbeef.glade.h:142 +#: ../plugins/gtkui/interface.c:2423 ../plugins/gtkui/deadbeef.glade.h:142 msgid "Version: " msgstr "Versão: " -#: ../plugins/gtkui/interface.c:2487 -#: ../plugins/gtkui/deadbeef.glade.h:22 -#: ../translation/extra.c:77 +#: ../plugins/gtkui/interface.c:2487 ../plugins/gtkui/deadbeef.glade.h:22 +#: ../translation/extra.c:78 msgid "Copyright" msgstr "Direitos autorais" -#: ../plugins/gtkui/interface.c:2497 -#: ../plugins/gtkui/deadbeef.glade.h:92 +#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:92 msgid "Plugins" msgstr "Plugins" -#: ../plugins/gtkui/interface.c:2972 -#: ../plugins/gtkui/deadbeef.glade.h:140 +#: ../plugins/gtkui/interface.c:2972 ../plugins/gtkui/deadbeef.glade.h:140 msgid "URL:" msgstr "URL:" -#: ../plugins/gtkui/interface.c:3074 -#: ../plugins/gtkui/deadbeef.glade.h:46 +#: ../plugins/gtkui/interface.c:3074 ../plugins/gtkui/deadbeef.glade.h:46 msgid "Group By" msgstr "Agrupar por" -#: ../plugins/gtkui/interface.c:3198 -#: ../plugins/gtkui/deadbeef.glade.h:121 +#: ../plugins/gtkui/interface.c:3198 ../plugins/gtkui/deadbeef.glade.h:121 msgid "Sort by..." msgstr "Ordenar por..." -#: ../plugins/gtkui/interface.c:3214 -#: ../plugins/gtkui/deadbeef.glade.h:42 +#: ../plugins/gtkui/interface.c:3214 ../plugins/gtkui/deadbeef.glade.h:42 msgid "Format" msgstr "Formato" @@ -974,66 +829,52 @@ msgid "Descending" msgstr "Descendente" -#: ../plugins/gtkui/interface.c:3298 -#: ../plugins/gtkui/deadbeef.glade.h:112 +#: ../plugins/gtkui/interface.c:3298 ../plugins/gtkui/deadbeef.glade.h:112 #: ../plugins/converter/interface.c:758 #: ../plugins/converter/converter.glade.h:44 msgid "Select DSP Plugin" msgstr "Selecionar plugin do DSP" -#: ../plugins/gtkui/interface.c:3314 -#: ../plugins/gtkui/deadbeef.glade.h:91 -#: ../plugins/converter/convgui.c:1008 -#: ../plugins/converter/interface.c:774 -#: ../plugins/gtkui/dspconfig.c:139 -#: ../plugins/converter/converter.glade.h:38 +#: ../plugins/gtkui/interface.c:3314 ../plugins/gtkui/deadbeef.glade.h:91 +#: ../plugins/converter/convgui.c:1009 ../plugins/converter/interface.c:774 +#: ../plugins/gtkui/dspconfig.c:139 ../plugins/converter/converter.glade.h:38 msgid "Plugin" msgstr "Plugin" -#: ../plugins/gtkui/interface.c:3400 -#: ../plugins/gtkui/deadbeef.glade.h:131 +#: ../plugins/gtkui/interface.c:3400 ../plugins/gtkui/deadbeef.glade.h:131 msgid "Tag Writer Settings" msgstr "Configuração do editor de etiquetas" -#: ../plugins/gtkui/interface.c:3431 -#: ../plugins/gtkui/deadbeef.glade.h:145 +#: ../plugins/gtkui/interface.c:3431 ../plugins/gtkui/deadbeef.glade.h:145 msgid "Write ID3v2" msgstr "Escrever ID3v2" -#: ../plugins/gtkui/interface.c:3435 -#: ../plugins/gtkui/interface.c:3562 +#: ../plugins/gtkui/interface.c:3435 ../plugins/gtkui/interface.c:3562 #: ../plugins/gtkui/deadbeef.glade.h:144 msgid "Write ID3v1" msgstr "Escrever ID3v1" -#: ../plugins/gtkui/interface.c:3439 -#: ../plugins/gtkui/interface.c:3518 -#: ../plugins/gtkui/interface.c:3558 -#: ../plugins/gtkui/deadbeef.glade.h:143 +#: ../plugins/gtkui/interface.c:3439 ../plugins/gtkui/interface.c:3518 +#: ../plugins/gtkui/interface.c:3558 ../plugins/gtkui/deadbeef.glade.h:143 msgid "Write APEv2" msgstr "Escrever APEv2" -#: ../plugins/gtkui/interface.c:3447 -#: ../plugins/gtkui/interface.c:3526 +#: ../plugins/gtkui/interface.c:3447 ../plugins/gtkui/interface.c:3526 #: ../plugins/gtkui/deadbeef.glade.h:128 msgid "Strip ID3v2" msgstr "Remover ID3v2" -#: ../plugins/gtkui/interface.c:3451 -#: ../plugins/gtkui/interface.c:3574 +#: ../plugins/gtkui/interface.c:3451 ../plugins/gtkui/interface.c:3574 #: ../plugins/gtkui/deadbeef.glade.h:127 msgid "Strip ID3v1" msgstr "Remover ID3v1" -#: ../plugins/gtkui/interface.c:3455 -#: ../plugins/gtkui/interface.c:3530 -#: ../plugins/gtkui/interface.c:3570 -#: ../plugins/gtkui/deadbeef.glade.h:126 +#: ../plugins/gtkui/interface.c:3455 ../plugins/gtkui/interface.c:3530 +#: ../plugins/gtkui/interface.c:3570 ../plugins/gtkui/deadbeef.glade.h:126 msgid "Strip APEv2" msgstr "Remover APEv2" -#: ../plugins/gtkui/interface.c:3463 -#: ../plugins/gtkui/deadbeef.glade.h:51 +#: ../plugins/gtkui/interface.c:3463 ../plugins/gtkui/deadbeef.glade.h:51 msgid "ID3v2 version" msgstr "Versão ID3v2" @@ -1045,31 +886,27 @@ msgid "2.4" msgstr "2.4" -#: ../plugins/gtkui/interface.c:3477 -#: ../plugins/gtkui/deadbeef.glade.h:50 +#: ../plugins/gtkui/interface.c:3477 ../plugins/gtkui/deadbeef.glade.h:50 msgid "ID3v1 character encoding (default is iso8859-1)" msgstr "Codificação de caracteres ID3v1 (padrão é iso8859-1)" -#: ../plugins/gtkui/interface.c:3514 -#: ../plugins/gtkui/deadbeef.glade.h:146 +#: ../plugins/gtkui/interface.c:3514 ../plugins/gtkui/deadbeef.glade.h:146 msgid "Write ID3v2.4" msgstr "Escrever ID3v2.4" -#: ../plugins/gtkui/mainplaylist.c:306 -#: ../plugins/gtkui/search.c:383 +#: ../plugins/gtkui/mainplaylist.c:313 ../plugins/gtkui/search.c:391 msgid "Artist / Album" msgstr "Artista / Álbum" -#: ../plugins/gtkui/mainplaylist.c:307 -#: ../plugins/gtkui/search.c:384 +#: ../plugins/gtkui/mainplaylist.c:314 ../plugins/gtkui/search.c:392 msgid "Track No" msgstr "Nº da faixa" -#: ../plugins/gtkui/plcommon.c:319 +#: ../plugins/gtkui/plcommon.c:325 msgid "Delete files from disk" msgstr "Excluir arquivos do disco" -#: ../plugins/gtkui/plcommon.c:320 +#: ../plugins/gtkui/plcommon.c:326 msgid "" "Files will be lost. Proceed?\n" "(This dialog can be turned off in GTKUI plugin settings)" @@ -1077,53 +914,49 @@ "Os arquivos serão perdidos. Continuar?\n" "(Este diálogo pode ser desligado nas configurações do plugin GTKUI)" -#: ../plugins/gtkui/plcommon.c:321 -#: ../plugins/gtkui/trkproperties.c:162 -#: ../plugins/gtkui/trkproperties.c:674 -#: ../plugins/converter/convgui.c:751 -#: ../plugins/converter/convgui.c:1128 +#: ../plugins/gtkui/plcommon.c:327 ../plugins/gtkui/trkproperties.c:162 +#: ../plugins/gtkui/trkproperties.c:686 ../plugins/converter/convgui.c:752 +#: ../plugins/converter/convgui.c:1129 msgid "Warning" msgstr "Alerta" -#: ../plugins/gtkui/plcommon.c:423 +#: ../plugins/gtkui/plcommon.c:429 msgid "Add to playback queue" msgstr "Colocar na fila da lista de reprodução" -#: ../plugins/gtkui/plcommon.c:428 +#: ../plugins/gtkui/plcommon.c:434 msgid "Remove from playback queue" msgstr "Remover da fila da lista de reprodução" -#: ../plugins/gtkui/plcommon.c:436 +#: ../plugins/gtkui/plcommon.c:442 msgid "Reload metadata" msgstr "Recarregar metadados" -#: ../plugins/gtkui/plcommon.c:455 +#: ../plugins/gtkui/plcommon.c:461 msgid "Remove from disk" msgstr "Remover do disco" -#: ../plugins/gtkui/plcommon.c:834 -#: ../plugins/gtkui/plcommon.c:959 +#: ../plugins/gtkui/plcommon.c:840 ../plugins/gtkui/plcommon.c:965 msgid "Add column" msgstr "Adicionar coluna" -#: ../plugins/gtkui/plcommon.c:864 -#: ../plugins/gtkui/plcommon.c:963 +#: ../plugins/gtkui/plcommon.c:870 ../plugins/gtkui/plcommon.c:969 msgid "Edit column" msgstr "Editar coluna" -#: ../plugins/gtkui/plcommon.c:967 +#: ../plugins/gtkui/plcommon.c:973 msgid "Remove column" msgstr "Remover coluna" -#: ../plugins/gtkui/plcommon.c:977 +#: ../plugins/gtkui/plcommon.c:983 msgid "Group by" msgstr "Agrupar por" -#: ../plugins/gtkui/plcommon.c:984 +#: ../plugins/gtkui/plcommon.c:990 msgid "None" msgstr "Nenhum" -#: ../plugins/gtkui/plcommon.c:988 +#: ../plugins/gtkui/plcommon.c:994 msgid "Artist/Date/Album" msgstr "Artista/Data/Álbum" @@ -1140,8 +973,7 @@ 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:649 #: ../plugins/converter/converter.glade.h:6 msgid "Add" msgstr "Adicionar" @@ -1179,46 +1011,43 @@ msgid "[Multiple values] " msgstr "[Valores múltiplos]" -#: ../plugins/gtkui/trkproperties.c:395 -#: ../plugins/gtkui/trkproperties.c:407 +#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419 msgid "Key" -msgstr "Tecla" +msgstr "Chave" -#: ../plugins/gtkui/trkproperties.c:396 -#: ../plugins/gtkui/trkproperties.c:408 +#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420 msgid "Value" msgstr "Valor" -#: ../plugins/gtkui/trkproperties.c:575 +#: ../plugins/gtkui/trkproperties.c:587 msgid "Writing tags..." msgstr "Escrevendo etiquetas..." -#: ../plugins/gtkui/trkproperties.c:602 +#: ../plugins/gtkui/trkproperties.c:614 msgid "Name:" msgstr "Nome:" -#: ../plugins/gtkui/trkproperties.c:614 +#: ../plugins/gtkui/trkproperties.c:626 msgid "Field names must not start with : or _" msgstr "Os nomes dos campos não devem começar com : ou _" -#: ../plugins/gtkui/trkproperties.c:615 -#: ../plugins/gtkui/trkproperties.c:649 +#: ../plugins/gtkui/trkproperties.c:627 ../plugins/gtkui/trkproperties.c:661 msgid "Cannot add field" msgstr "Incapaz de adicionar campo" -#: ../plugins/gtkui/trkproperties.c:648 +#: ../plugins/gtkui/trkproperties.c:660 msgid "Field with such name already exists, please try different name." msgstr "Um campo com esse nome já existe. Por favor, tente outro nome." -#: ../plugins/gtkui/trkproperties.c:673 +#: ../plugins/gtkui/trkproperties.c:685 msgid "Really remove selected field?" msgstr "Deseja realmente remover o campo selecionado?" -#: ../plugins/gtkui/trkproperties.c:715 +#: ../plugins/gtkui/trkproperties.c:727 msgid "Add field" msgstr "Adicionar campo" -#: ../plugins/gtkui/trkproperties.c:718 +#: ../plugins/gtkui/trkproperties.c:730 msgid "Remove field" msgstr "Remover campo" @@ -1269,8 +1098,10 @@ #: ../main.c:99 #, 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 #, c-format @@ -1290,7 +1121,9 @@ #: ../main.c:103 #, 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 #, c-format @@ -1310,26 +1143,31 @@ #: ../main.c:108 #, 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 #, c-format -msgid " for more info, see http://sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n" -msgstr " para mais informações, veja 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 http://sourceforge.net/" +"apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n" -#: ../playlist.c:416 -#: ../playlist.c:2553 +#: ../playlist.c:437 ../playlist.c:2601 msgid "Default" msgstr "Padrão" -#: ../playlist.c:3800 +#: ../playlist.c:3855 msgid "Yes" msgstr "Sim" -#: ../playlist.c:3800 +#: ../playlist.c:3855 msgid "No" msgstr "Não" @@ -1393,18 +1231,21 @@ "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 @@ -1425,8 +1266,7 @@ msgid "Release device while stopped" msgstr "Liberar dispositivo quando parado" -#: ../translation/extra.c:8 -#: ../translation/extra.c:50 +#: ../translation/extra.c:8 ../translation/extra.c:51 msgid "Preferred buffer size" msgstr "Tamanho preferido do buffer" @@ -1460,273 +1300,309 @@ msgid "Device file" msgstr "Arquivo de dispositivo" +#: ../translation/extra.c:18 +msgid "OSS4 samplerate bug workaround" +msgstr "Contornar falha da taxa de amostragem do OSS4" + #. Album Artwork plugin -#: ../translation/extra.c:19 +#: ../translation/extra.c:20 msgid "Cache update period (hr)" msgstr "Período para atualização do cache (h)" -#: ../translation/extra.c:20 +#: ../translation/extra.c:21 msgid "Fetch from embedded tags" msgstr "Buscar nas etiquetas embutidas" -#: ../translation/extra.c:21 +#: ../translation/extra.c:22 msgid "Fetch from local folder" msgstr "Buscar numa pasta local" -#: ../translation/extra.c:22 +#: ../translation/extra.c:23 msgid "Local cover file mask" msgstr "Máscara de arquivo de capa local" -#: ../translation/extra.c:23 +#: ../translation/extra.c:24 msgid "Fetch from last.fm" msgstr "Buscar no last.fm" -#: ../translation/extra.c:24 +#: ../translation/extra.c:25 msgid "Fetch from albumart.org" msgstr "Buscar no albumart.org" -#: ../translation/extra.c:25 +#: ../translation/extra.c:26 msgid "Scale artwork towards longer side" msgstr "Escalar a capa do álbum pelo lado maior" #. Audio CD player -#: ../translation/extra.c:27 +#: ../translation/extra.c:28 msgid "Use CDDB/FreeDB" msgstr "Usar CDDB/FreeDB" -#: ../translation/extra.c:28 +#: ../translation/extra.c:29 msgid "Prefer CD-Text over CDDB" msgstr "Preferir CD-Text a CDDB" -#: ../translation/extra.c:29 +#: ../translation/extra.c:30 msgid "CDDB url (e.g. 'freedb.org')" msgstr "URL de CDDB (ex. 'freedb.org')" -#: ../translation/extra.c:30 +#: ../translation/extra.c:31 msgid "CDDB port number (e.g. '888')" msgstr "Número da porta CDDB (ex. '888')" -#: ../translation/extra.c:31 +#: ../translation/extra.c:32 msgid "Prefer CDDB protocol over HTTP" msgstr "Preferir protocolo CDDB ao HTTP" -#: ../translation/extra.c:32 +#: ../translation/extra.c:33 msgid "Enable NRG image support" msgstr "Habilitar suporte ao formato de imagem NRG" #. DUMB module player plugin -#: ../translation/extra.c:34 +#: ../translation/extra.c:35 msgid "Resampling quality (0..2, higher is better)" msgstr "Qualidade de reamostragem (0..2, maior é melhor)" #. Game_Music_Emu decoder plugin -#: ../translation/extra.c:36 +#: ../translation/extra.c:37 msgid "Max song length (in minutes)" msgstr "Duração máxima da música (em minutos)" #. Standard GTK2 user interface plugin -#: ../translation/extra.c:38 +#: ../translation/extra.c:39 msgid "Ask confirmation to delete files from disk" msgstr "Pedir confirmação para excluir arquivos do disco" -#: ../translation/extra.c:39 +#: ../translation/extra.c:40 msgid "Status icon volume control sensitivity" msgstr "Sensibilidade ao controle de volume no ícone de status" -#: ../translation/extra.c:40 +#: ../translation/extra.c:41 msgid "Custom status icon" msgstr "Ícone de status personalizado" -#: ../translation/extra.c:41 +#: ../translation/extra.c:42 msgid "Run gtk_init with --sync (debug mode)" msgstr "Executar gtk_init com --sync (modo de depuração)" -#: ../translation/extra.c:42 +#: ../translation/extra.c:43 msgid "Add separators between plugin context menu items" msgstr "Adicionar separadores entre itens do menu de contexto dos plugins" #. OSD Notify plugin -#: ../translation/extra.c:44 +#: ../translation/extra.c:45 msgid "Notification title format" msgstr "Formato de notificação do título" -#: ../translation/extra.c:45 +#: ../translation/extra.c:46 msgid "Notification content format" msgstr "Formato de notificação do conteúdo" -#: ../translation/extra.c:46 +#: ../translation/extra.c:47 msgid "Show album art" msgstr "Mostrar a capa do álbum" -#: ../translation/extra.c:47 +#: ../translation/extra.c:48 msgid "Album art size (px)" msgstr "Tamanho da capa do álbum (px)" #. PulseAudio output plugin -#: ../translation/extra.c:49 +#: ../translation/extra.c:50 msgid "PulseAudio server" msgstr "Servidor PulseAudio" -#: ../translation/extra.c:51 +#: ../translation/extra.c:52 msgid "Samplerate" msgstr "Taxa de amostragem" #. SHN player plugin -#: ../translation/extra.c:53 +#: ../translation/extra.c:54 msgid "Relative seek table path" msgstr "Caminho relativo da tabela de referência" -#: ../translation/extra.c:54 +#: ../translation/extra.c:55 msgid "Absolute seek table path" msgstr "Caminho absoluto da tabela de referência" -#: ../translation/extra.c:55 +#: ../translation/extra.c:56 msgid "Swap audio bytes (toggle if all you hear is static)" msgstr "Intercâmbio de bytes de áudio (alterne se só ouve estática)" #. SID decoder plugin -#: ../translation/extra.c:57 +#: ../translation/extra.c:58 msgid "Enable HVSC Songlength DB" msgstr "Habilitar banco de dados de duração da HVSC" -#: ../translation/extra.c:58 +#: ../translation/extra.c:59 msgid "Songlengths.txt (from HVSC)" msgstr "Songlengths.txt (da HVSC)" -#: ../translation/extra.c:59 +#: ../translation/extra.c:60 msgid "Bits per sample (8 or 16)" msgstr "Bits por amostra (8 ou 16)" -#: ../translation/extra.c:60 +#: ../translation/extra.c:61 msgid "Default song length (sec)" msgstr "Duração padrão das músicas (em segundos)" #. WildMidi player plugin -#: ../translation/extra.c:62 +#: ../translation/extra.c:63 msgid "Timidity++ bank configuration file" msgstr "Arquivo de configuração para o banco Timidity++" -#: ../translation/extra.c:65 +#: ../translation/extra.c:66 msgid "Track Title" msgstr "Título da faixa" -#: ../translation/extra.c:66 +#: ../translation/extra.c:67 msgid "Performer" msgstr "Artista" -#: ../translation/extra.c:71 +#: ../translation/extra.c:72 msgid "Total Tracks" msgstr "Total de faixas" -#: ../translation/extra.c:72 +#: ../translation/extra.c:73 msgid "Genre" msgstr "Gênero" -#: ../translation/extra.c:73 +#: ../translation/extra.c:74 msgid "Composer" msgstr "Compositor" -#: ../translation/extra.c:74 +#: ../translation/extra.c:75 msgid "Disc Number" msgstr "Número do disco" -#: ../translation/extra.c:75 +#: ../translation/extra.c:76 msgid "Comment" msgstr "Comentário" -#: ../translation/extra.c:76 +#: ../translation/extra.c:77 msgid "Encoder / Vendor" msgstr "Codificador / Fornecedor" -#. FFmpeg deocder plugin #: ../translation/extra.c:79 +msgid "Location" +msgstr "Local" + +#: ../translation/extra.c:80 +msgid "Subtrack Index" +msgstr "Índice de subfaixas" + +#: ../translation/extra.c:81 +msgid "Tag Type(s)" +msgstr "Tipo(s) de etiqueta" + +#: ../translation/extra.c:82 +msgid "Embedded Cuesheet" +msgstr "Cuesheet embutida" + +#: ../translation/extra.c:83 +msgid "Codec" +msgstr "Codec" + +#. FFmpeg deocder plugin +#: ../translation/extra.c:85 msgid "File Extensions (separate with ';')" msgstr "Extensões de arquivo (separadas por \";\")" -#: ../plugins/converter/convgui.c:107 +#. Converter GUI +#: ../translation/extra.c:87 +msgid "Convert" +msgstr "Converter" + +#. Resampler (Secret Rabbit Code) +#: ../translation/extra.c:89 +msgid "Target Samplerate" +msgstr "Taxa de amostragem alvo" + +#: ../translation/extra.c:90 +msgid "Quality / Algorythm" +msgstr "Qualidade / Algoritmo" + +#: ../plugins/converter/convgui.c:108 msgid "The file already exists. Overwrite?" msgstr "O arquivo já existe. Sobrescrever?" -#: ../plugins/converter/convgui.c:109 +#: ../plugins/converter/convgui.c:110 msgid "Converter warning" msgstr "Alerta do conversor" -#: ../plugins/converter/convgui.c:221 +#: ../plugins/converter/convgui.c:222 msgid "Please select encoder" msgstr "Selecione o codificador, por favor" -#: ../plugins/converter/convgui.c:223 +#: ../plugins/converter/convgui.c:224 msgid "Converter error" msgstr "Erro do conversor" -#: ../plugins/converter/convgui.c:247 +#: ../plugins/converter/convgui.c:248 msgid "Converting..." msgstr "Convertendo..." -#: ../plugins/converter/convgui.c:386 -#: ../plugins/converter/convgui.c:488 +#: ../plugins/converter/convgui.c:387 ../plugins/converter/convgui.c:489 msgid "Select folder..." msgstr "Selecionar pasta..." -#: ../plugins/converter/convgui.c:627 +#: ../plugins/converter/convgui.c:628 msgid "Failed to save encoder preset" msgstr "Falha ao salvar predefinição do codificador" -#: ../plugins/converter/convgui.c:629 -#: ../plugins/converter/convgui.c:1027 -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:630 ../plugins/converter/convgui.c:1028 +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:629 -#: ../plugins/converter/convgui.c:1027 +#: ../plugins/converter/convgui.c:630 ../plugins/converter/convgui.c:1028 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:630 -#: ../plugins/converter/convgui.c:1028 +#: ../plugins/converter/convgui.c:631 ../plugins/converter/convgui.c:1029 msgid "Error" msgstr "Erro" -#: ../plugins/converter/convgui.c:684 +#: ../plugins/converter/convgui.c:685 msgid "Add new encoder" msgstr "Adicionar novo codificador" -#: ../plugins/converter/convgui.c:716 +#: ../plugins/converter/convgui.c:717 msgid "Edit encoder" msgstr "Editar codificador" -#: ../plugins/converter/convgui.c:748 -#: ../plugins/converter/convgui.c:1125 +#: ../plugins/converter/convgui.c:749 ../plugins/converter/convgui.c:1126 msgid "Remove preset" msgstr "Remover predefinição" -#: ../plugins/converter/convgui.c:750 -#: ../plugins/converter/convgui.c:1127 +#: ../plugins/converter/convgui.c:751 ../plugins/converter/convgui.c:1128 msgid "This action will delete the selected preset. Are you sure?" msgstr "Esta ação irá excluir a predefinição selecionada. Tem certeza?" -#: ../plugins/converter/convgui.c:774 +#: ../plugins/converter/convgui.c:775 msgid "Encoders" msgstr "Codificadores" -#: ../plugins/converter/convgui.c:830 -#: ../plugins/gtkui/dspconfig.c:183 +#: ../plugins/converter/convgui.c:831 ../plugins/gtkui/dspconfig.c:183 msgid "Add plugin to DSP chain" msgstr "Adicionar plugin à corrente do DSP" -#: ../plugins/converter/convgui.c:1026 +#: ../plugins/converter/convgui.c:1027 msgid "Failed to save DSP preset" msgstr "Falha ao salvar predefinição do DSP" -#: ../plugins/converter/convgui.c:1090 +#: ../plugins/converter/convgui.c:1091 msgid "New DSP Preset" msgstr "Nova predefinição do DSP" -#: ../plugins/converter/convgui.c:1175 +#: ../plugins/converter/convgui.c:1176 msgid "Edit DSP Preset" msgstr "Editar predefinição do DSP" -#: ../plugins/converter/convgui.c:1195 +#: ../plugins/converter/convgui.c:1196 msgid "DSP Presets" msgstr "Predefinições do DSP" @@ -1845,7 +1721,8 @@ "%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/converter.glade.h:3 @@ -2032,21 +1909,6 @@ #~ msgid "ALSA output plugin" #~ msgstr "Plugin ALSA" -#~ msgid "Location" -#~ msgstr "Local" - -#~ msgid "Subtrack Index" -#~ msgstr "Índice de subfaixas" - -#~ msgid "Tag Type(s)" -#~ msgstr "Tipo(s) de etiqueta" - -#~ msgid "Embedded Cuesheet" -#~ msgstr "Cuesheet embutida" - -#~ msgid "Codec" -#~ msgstr "Codec" - #~ msgid "DeaDBeeF now playing" #~ msgstr "O DeaDBeeF está reproduzindo"
View file
deadbeef-0.5.0.tar.bz2/po/ru.po -> deadbeef-0.5.1.tar.bz2/po/ru.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: 0.4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-05-14 20:00+0300\n" +"POT-Creation-Date: 2011-05-22 12:50+0200\n" "PO-Revision-Date: 2011-05-14 19:53+0300\n" "Last-Translator: \n" "Language-Team: ru <slpiv@mail.ru>\n" @@ -23,7 +23,7 @@ msgid "Supported sound formats" msgstr "Поддерживаемые форматы" -#: ../plugins/gtkui/callbacks.c:132 ../plugins/gtkui/gtkui.c:772 +#: ../plugins/gtkui/callbacks.c:132 ../plugins/gtkui/gtkui.c:776 msgid "Other files (*)" msgstr "Другие файлы (*)" @@ -56,8 +56,8 @@ msgstr "help.ru.txt" #: ../plugins/gtkui/callbacks.c:723 ../plugins/gtkui/interface.c:1155 -#: ../plugins/gtkui/deadbeef.glade.h:47 ../plugins/converter/convgui.c:1232 -#: ../plugins/converter/convgui.c:1240 +#: ../plugins/gtkui/deadbeef.glade.h:48 ../plugins/converter/convgui.c:1240 +#: ../plugins/converter/convgui.c:1248 msgid "Help" msgstr "Справка" @@ -76,25 +76,25 @@ msgid "DeaDBeeF Translators" msgstr "Переводчики DeaDBeeF " -#: ../plugins/gtkui/ddbtabstrip.c:684 ../plugins/gtkui/trkproperties.c:599 +#: ../plugins/gtkui/ddbtabstrip.c:689 ../plugins/gtkui/trkproperties.c:618 msgid "Edit playlist" msgstr "Редактировать плейлист" -#: ../plugins/gtkui/ddbtabstrip.c:687 ../plugins/gtkui/interface.c:1486 -#: ../plugins/gtkui/interface.c:2861 ../plugins/gtkui/deadbeef.glade.h:134 +#: ../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 msgid "Title:" msgstr "Название:" -#: ../plugins/gtkui/ddbtabstrip.c:742 +#: ../plugins/gtkui/ddbtabstrip.c:748 msgid "Rename Playlist" msgstr "Переименовать плейлист" -#: ../plugins/gtkui/ddbtabstrip.c:746 +#: ../plugins/gtkui/ddbtabstrip.c:752 msgid "Remove Playlist" msgstr "Удалить плейлист" -#: ../plugins/gtkui/ddbtabstrip.c:750 +#: ../plugins/gtkui/ddbtabstrip.c:756 msgid "Add New Playlist" msgstr "Добавить новый плейлист" @@ -193,32 +193,32 @@ msgstr "" "%s%s %s| %dГц | %d бит | %s | %d:%02d / %s | %d дорожек | %s общее время" -#: ../plugins/gtkui/gtkui.c:628 +#: ../plugins/gtkui/gtkui.c:632 msgid "Save Playlist As" msgstr "Сохранить плейлист как" -#: ../plugins/gtkui/gtkui.c:639 +#: ../plugins/gtkui/gtkui.c:643 msgid "DeaDBeeF playlist files (*.dbpl)" msgstr "Файлы плейлистов DeaDBeeF (*.dbpl)" -#: ../plugins/gtkui/gtkui.c:757 +#: ../plugins/gtkui/gtkui.c:761 msgid "Load Playlist" msgstr "Загрузить плейлист" -#: ../plugins/gtkui/gtkui.c:910 ../plugins/gtkui/fileman.c:40 +#: ../plugins/gtkui/gtkui.c:914 ../plugins/gtkui/fileman.c:40 msgid "New Playlist" msgstr "Новый плейлист" -#: ../plugins/gtkui/gtkui.c:913 +#: ../plugins/gtkui/gtkui.c:917 #, c-format msgid "New Playlist (%d)" msgstr "Новый плейлист (%d)" -#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:154 +#: ../plugins/gtkui/interface.c:150 ../plugins/gtkui/deadbeef.glade.h:155 msgid "_File" msgstr "_Файл" -#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:161 +#: ../plugins/gtkui/interface.c:157 ../plugins/gtkui/deadbeef.glade.h:162 msgid "_Open file(s)" msgstr "_Открыть файл(ы)" @@ -230,236 +230,236 @@ msgid "Add folder(s)" msgstr "Добавить каталог(и)" -#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:2961 +#: ../plugins/gtkui/interface.c:189 ../plugins/gtkui/interface.c:2970 #: ../plugins/gtkui/deadbeef.glade.h:9 msgid "Add location" msgstr "Добавить расположение" -#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:78 +#: ../plugins/gtkui/interface.c:198 ../plugins/gtkui/deadbeef.glade.h:79 msgid "New playlist" msgstr "Новый плейлист" -#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:70 +#: ../plugins/gtkui/interface.c:205 ../plugins/gtkui/deadbeef.glade.h:71 msgid "Load playlist" msgstr "Загрузить плейлист" -#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:108 +#: ../plugins/gtkui/interface.c:209 ../plugins/gtkui/deadbeef.glade.h:109 msgid "Save playlist" msgstr "Сохранить плейлист" -#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:163 +#: ../plugins/gtkui/interface.c:218 ../plugins/gtkui/deadbeef.glade.h:164 msgid "_Quit" msgstr "_Выход" -#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:153 +#: ../plugins/gtkui/interface.c:229 ../plugins/gtkui/deadbeef.glade.h:154 msgid "_Edit" msgstr "_Правка" -#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:151 +#: ../plugins/gtkui/interface.c:236 ../plugins/gtkui/deadbeef.glade.h:152 msgid "_Clear" msgstr "_Очистить" -#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:113 +#: ../plugins/gtkui/interface.c:244 ../plugins/gtkui/deadbeef.glade.h:114 msgid "Select all" msgstr "Выделить всё" -#: ../plugins/gtkui/interface.c:251 ../plugins/gtkui/deadbeef.glade.h:31 +#: ../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:53 +#: ../plugins/gtkui/interface.c:258 ../plugins/gtkui/deadbeef.glade.h:54 msgid "Invert selection" msgstr "Обратить выделение" -#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:116 +#: ../plugins/gtkui/interface.c:262 ../plugins/gtkui/deadbeef.glade.h:117 msgid "Selection" msgstr "Выделенное" -#: ../plugins/gtkui/interface.c:269 ../plugins/gtkui/plcommon.c:447 -#: ../plugins/gtkui/prefwin.c:323 ../plugins/gtkui/deadbeef.glade.h:103 +#: ../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 msgid "Remove" msgstr "Удалить" -#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:23 +#: ../plugins/gtkui/interface.c:277 ../plugins/gtkui/deadbeef.glade.h:24 msgid "Crop" msgstr "Оставить выделенное" -#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:155 +#: ../plugins/gtkui/interface.c:281 ../plugins/gtkui/deadbeef.glade.h:156 msgid "_Find" msgstr "_Найти" -#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:120 +#: ../plugins/gtkui/interface.c:288 ../plugins/gtkui/deadbeef.glade.h:121 msgid "Sort By" msgstr "Сортировать по" #: ../plugins/gtkui/interface.c:295 ../plugins/gtkui/interface.c:1516 -#: ../plugins/gtkui/mainplaylist.c:310 ../plugins/gtkui/prefwin.c:620 -#: ../plugins/gtkui/search.c:387 ../plugins/gtkui/deadbeef.glade.h:133 -#: ../plugins/converter/convgui.c:782 ../plugins/converter/convgui.c:1203 +#: ../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 msgid "Title" msgstr "Название" -#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:138 +#: ../plugins/gtkui/interface.c:299 ../plugins/gtkui/deadbeef.glade.h:139 msgid "Track number" msgstr "Номер дорожки" #: ../plugins/gtkui/interface.c:303 ../plugins/gtkui/interface.c:1515 -#: ../plugins/gtkui/interface.c:1864 ../plugins/gtkui/deadbeef.glade.h:10 +#: ../plugins/gtkui/interface.c:1869 ../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:992 ../plugins/gtkui/deadbeef.glade.h:12 +#: ../plugins/gtkui/plcommon.c:998 ../plugins/gtkui/deadbeef.glade.h:13 #: ../translation/extra.c:65 msgid "Artist" msgstr "Исполнитель" -#: ../plugins/gtkui/interface.c:311 ../plugins/gtkui/deadbeef.glade.h:30 +#: ../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:996 ../plugins/gtkui/deadbeef.glade.h:26 +#: ../plugins/gtkui/plcommon.c:1002 ../plugins/gtkui/deadbeef.glade.h:27 msgid "Custom" msgstr "Пользовательский" -#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1797 -#: ../plugins/gtkui/deadbeef.glade.h:93 +#: ../plugins/gtkui/interface.c:324 ../plugins/gtkui/interface.c:1798 +#: ../plugins/gtkui/deadbeef.glade.h:94 msgid "Preferences" msgstr "Настройки" -#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:165 +#: ../plugins/gtkui/interface.c:328 ../plugins/gtkui/deadbeef.glade.h:166 msgid "_View" msgstr "_Вид" -#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:123 +#: ../plugins/gtkui/interface.c:335 ../plugins/gtkui/deadbeef.glade.h:124 msgid "Status bar" msgstr "Строка состояния" -#: ../plugins/gtkui/interface.c:339 ../plugins/gtkui/deadbeef.glade.h:20 +#: ../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:130 +#: ../plugins/gtkui/interface.c:343 ../plugins/gtkui/deadbeef.glade.h:131 msgid "Tabs" msgstr "Вкладки" -#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:39 +#: ../plugins/gtkui/interface.c:347 ../plugins/gtkui/deadbeef.glade.h:40 msgid "Equalizer" msgstr "Эквалайзер" -#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:162 +#: ../plugins/gtkui/interface.c:351 ../plugins/gtkui/deadbeef.glade.h:163 msgid "_Playback" msgstr "Воспр_оизведение" -#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3237 -#: ../plugins/gtkui/deadbeef.glade.h:81 +#: ../plugins/gtkui/interface.c:358 ../plugins/gtkui/interface.c:3246 +#: ../plugins/gtkui/deadbeef.glade.h:82 msgid "Order" msgstr "Порядок" -#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:69 +#: ../plugins/gtkui/interface.c:365 ../plugins/gtkui/deadbeef.glade.h:70 msgid "Linear" msgstr "По очереди" -#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:119 +#: ../plugins/gtkui/interface.c:370 ../plugins/gtkui/deadbeef.glade.h:120 msgid "Shuffle tracks" msgstr "Перемешивать дорожки" -#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:118 +#: ../plugins/gtkui/interface.c:375 ../plugins/gtkui/deadbeef.glade.h:119 msgid "Shuffle albums" msgstr "Перемешивать альбомы" -#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:102 +#: ../plugins/gtkui/interface.c:380 ../plugins/gtkui/deadbeef.glade.h:103 msgid "Random" msgstr "Случайно" -#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:73 +#: ../plugins/gtkui/interface.c:386 ../plugins/gtkui/deadbeef.glade.h:74 msgid "Looping" msgstr "Повторять" -#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:71 +#: ../plugins/gtkui/interface.c:393 ../plugins/gtkui/deadbeef.glade.h:72 msgid "Loop All" msgstr "Все" -#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:72 +#: ../plugins/gtkui/interface.c:398 ../plugins/gtkui/deadbeef.glade.h:73 msgid "Loop Single Song" msgstr "Дорожку" -#: ../plugins/gtkui/interface.c:403 ../plugins/gtkui/deadbeef.glade.h:35 +#: ../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:109 +#: ../plugins/gtkui/interface.c:409 ../plugins/gtkui/deadbeef.glade.h:110 msgid "Scroll follows playback" msgstr "Прокручивать плейлист автоматически" -#: ../plugins/gtkui/interface.c:414 ../plugins/gtkui/deadbeef.glade.h:25 +#: ../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:125 +#: ../plugins/gtkui/interface.c:418 ../plugins/gtkui/deadbeef.glade.h:126 msgid "Stop after current" msgstr "Останавливать после текущей" -#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:65 +#: ../plugins/gtkui/interface.c:430 ../plugins/gtkui/deadbeef.glade.h:66 msgid "Jump to current track" msgstr "Перейти на текущую дорожку" #: ../plugins/gtkui/interface.c:437 ../plugins/gtkui/interface.c:444 -#: ../plugins/gtkui/deadbeef.glade.h:157 +#: ../plugins/gtkui/deadbeef.glade.h:158 msgid "_Help" msgstr "_Справка" -#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:150 +#: ../plugins/gtkui/interface.c:452 ../plugins/gtkui/deadbeef.glade.h:151 msgid "_ChangeLog" msgstr "_Изменения" -#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:156 +#: ../plugins/gtkui/interface.c:461 ../plugins/gtkui/deadbeef.glade.h:157 msgid "_GPLv2" msgstr "_GPLv2" -#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:158 +#: ../plugins/gtkui/interface.c:465 ../plugins/gtkui/deadbeef.glade.h:159 msgid "_LGPLv2.1" msgstr "_LGPLv2.1" -#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:147 +#: ../plugins/gtkui/interface.c:474 ../plugins/gtkui/deadbeef.glade.h:148 msgid "_About" msgstr "_О программе" -#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:164 +#: ../plugins/gtkui/interface.c:482 ../plugins/gtkui/deadbeef.glade.h:165 msgid "_Translators" msgstr "_Переводчики" -#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:110 +#: ../plugins/gtkui/interface.c:898 ../plugins/gtkui/deadbeef.glade.h:111 msgid "Search" msgstr "Поиск" -#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:124 +#: ../plugins/gtkui/interface.c:973 ../plugins/gtkui/deadbeef.glade.h:125 msgid "Stop" msgstr "Стоп" -#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:87 +#: ../plugins/gtkui/interface.c:981 ../plugins/gtkui/deadbeef.glade.h:88 msgid "Play" msgstr "Воспроизвести" -#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:86 +#: ../plugins/gtkui/interface.c:989 ../plugins/gtkui/deadbeef.glade.h:87 msgid "Pause" msgstr "Пауза" -#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:94 +#: ../plugins/gtkui/interface.c:997 ../plugins/gtkui/deadbeef.glade.h:95 msgid "Previous" msgstr "Предыдущая" -#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:79 +#: ../plugins/gtkui/interface.c:1005 ../plugins/gtkui/deadbeef.glade.h:80 msgid "Next" msgstr "Следующая" -#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:88 +#: ../plugins/gtkui/interface.c:1013 ../plugins/gtkui/deadbeef.glade.h:89 msgid "Play Random" msgstr "Играть вразброс" @@ -467,41 +467,41 @@ msgid "About" msgstr "О программе" -#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:101 +#: ../plugins/gtkui/interface.c:1035 ../plugins/gtkui/deadbeef.glade.h:102 msgid "Quit" msgstr "Выход" -#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:137 +#: ../plugins/gtkui/interface.c:1225 ../plugins/gtkui/deadbeef.glade.h:138 msgid "Track Properties" msgstr "Свойства дорожки" -#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:117 +#: ../plugins/gtkui/interface.c:1270 ../plugins/gtkui/deadbeef.glade.h:118 msgid "Settings" msgstr "Настройки" -#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:148 +#: ../plugins/gtkui/interface.c:1296 ../plugins/gtkui/deadbeef.glade.h:149 msgid "_Apply" msgstr "_Применить" #: ../plugins/gtkui/interface.c:1317 ../plugins/gtkui/interface.c:1363 -#: ../plugins/gtkui/deadbeef.glade.h:152 +#: ../plugins/gtkui/deadbeef.glade.h:153 msgid "_Close" msgstr "_Закрыть" -#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:74 +#: ../plugins/gtkui/interface.c:1321 ../plugins/gtkui/deadbeef.glade.h:75 msgid "Metadata" msgstr "Метаданные" -#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:597 -#: ../plugins/gtkui/deadbeef.glade.h:95 +#: ../plugins/gtkui/interface.c:1367 ../plugins/gtkui/plcommon.c:603 +#: ../plugins/gtkui/deadbeef.glade.h:96 msgid "Properties" msgstr "Свойства" -#: ../plugins/gtkui/interface.c:1494 ../plugins/gtkui/deadbeef.glade.h:38 +#: ../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:139 +#: ../plugins/gtkui/interface.c:1502 ../plugins/gtkui/deadbeef.glade.h:140 msgid "Type:" msgstr "Тип:" @@ -510,7 +510,7 @@ msgstr "Порядковый номер" #. create default set of columns -#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:307 +#: ../plugins/gtkui/interface.c:1511 ../plugins/gtkui/mainplaylist.c:312 msgid "Playing" msgstr "Воспроизводится" @@ -522,8 +522,8 @@ msgid "Artist - Album" msgstr "Исполнитель - Альбом" -#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:311 -#: ../plugins/gtkui/search.c:388 +#: ../plugins/gtkui/interface.c:1517 ../plugins/gtkui/mainplaylist.c:316 +#: ../plugins/gtkui/search.c:394 msgid "Duration" msgstr "Продолжительность" @@ -535,8 +535,8 @@ msgid "Band / Album Artist" msgstr "Группа / Исполнитель альбома" -#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3089 -#: ../plugins/gtkui/deadbeef.glade.h:43 +#: ../plugins/gtkui/interface.c:1526 ../plugins/gtkui/interface.c:3098 +#: ../plugins/gtkui/deadbeef.glade.h:44 msgid "Format:" msgstr "Формат:" @@ -552,363 +552,367 @@ msgid "Right" msgstr "По правому краю" -#: ../plugins/gtkui/interface.c:1583 ../plugins/gtkui/interface.c:2892 -#: ../plugins/gtkui/interface.c:3004 ../plugins/gtkui/interface.c:3130 -#: ../plugins/gtkui/deadbeef.glade.h:149 +#: ../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 "_Отмена" -#: ../plugins/gtkui/interface.c:1604 ../plugins/gtkui/interface.c:2913 -#: ../plugins/gtkui/interface.c:3025 ../plugins/gtkui/interface.c:3151 -#: ../plugins/gtkui/deadbeef.glade.h:160 +#: ../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 "_ОК" -#: ../plugins/gtkui/interface.c:1818 ../plugins/gtkui/deadbeef.glade.h:83 +#: ../plugins/gtkui/interface.c:1819 ../plugins/gtkui/deadbeef.glade.h:84 msgid "Output plugin:" msgstr "Модуль вывода:" -#: ../plugins/gtkui/interface.c:1831 ../plugins/gtkui/deadbeef.glade.h:82 +#: ../plugins/gtkui/interface.c:1832 ../plugins/gtkui/deadbeef.glade.h:83 msgid "Output device:" msgstr "Устройство вывода:" -#: ../plugins/gtkui/interface.c:1840 ../plugins/gtkui/deadbeef.glade.h:122 +#: ../plugins/gtkui/interface.c:1841 ../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 msgid "Sound" msgstr "Звук" -#: ../plugins/gtkui/interface.c:1853 ../plugins/gtkui/deadbeef.glade.h:104 +#: ../plugins/gtkui/interface.c:1858 ../plugins/gtkui/deadbeef.glade.h:105 msgid "Replaygain mode:" msgstr "Режим автовыравнивания громкости:" -#: ../plugins/gtkui/interface.c:1862 +#: ../plugins/gtkui/interface.c:1867 msgid "Disable" msgstr "Отключён" -#: ../plugins/gtkui/interface.c:1863 +#: ../plugins/gtkui/interface.c:1868 msgid "Track" msgstr "Дорожка" -#: ../plugins/gtkui/interface.c:1866 ../plugins/gtkui/deadbeef.glade.h:105 +#: ../plugins/gtkui/interface.c:1871 ../plugins/gtkui/deadbeef.glade.h:106 msgid "Replaygain peak scale" msgstr "Использовать пиковое значение" -#: ../plugins/gtkui/interface.c:1874 ../plugins/gtkui/deadbeef.glade.h:106 +#: ../plugins/gtkui/interface.c:1879 ../plugins/gtkui/deadbeef.glade.h:107 msgid "Replaygain preamp:" msgstr "Предусиление автовыравнивания громкости:" -#: ../plugins/gtkui/interface.c:1878 ../plugins/gtkui/deadbeef.glade.h:2 +#: ../plugins/gtkui/interface.c:1883 ../plugins/gtkui/deadbeef.glade.h:2 msgid "-12 dB" msgstr "-12 дБ" -#: ../plugins/gtkui/interface.c:1888 ../plugins/gtkui/deadbeef.glade.h:1 +#: ../plugins/gtkui/interface.c:1893 ../plugins/gtkui/deadbeef.glade.h:1 msgid "+12 dB" msgstr "+12 дБ" -#: ../plugins/gtkui/interface.c:1896 ../plugins/gtkui/deadbeef.glade.h:7 +#: ../plugins/gtkui/interface.c:1901 ../plugins/gtkui/deadbeef.glade.h:7 msgid "Add files from command line (or file manager) to this playlist:" msgstr "" "Добавлять файлы из командной строки\n" "(или файлового менеджера) в этот плейлист:" -#: ../plugins/gtkui/interface.c:1905 ../plugins/gtkui/deadbeef.glade.h:107 +#: ../plugins/gtkui/interface.c:1910 ../plugins/gtkui/deadbeef.glade.h:108 msgid "Resume previous session on startup" msgstr "Восстанавливать предыдущую сессию при запуске" -#: ../plugins/gtkui/interface.c:1909 ../plugins/gtkui/deadbeef.glade.h:36 +#: ../plugins/gtkui/interface.c:1914 ../plugins/gtkui/deadbeef.glade.h:37 msgid "Don't add from archives when adding folders" msgstr "Не добавлять из архивов при добавлении каталогов" -#: ../plugins/gtkui/interface.c:1913 ../plugins/gtkui/deadbeef.glade.h:89 +#: ../plugins/gtkui/interface.c:1918 ../plugins/gtkui/deadbeef.glade.h:90 msgid "Playback" msgstr "Воспроизведение" -#: ../plugins/gtkui/interface.c:1934 ../plugins/gtkui/interface.c:2466 -#: ../plugins/gtkui/deadbeef.glade.h:21 ../plugins/converter/interface.c:657 +#: ../plugins/gtkui/interface.c:1939 ../plugins/gtkui/interface.c:2471 +#: ../plugins/gtkui/deadbeef.glade.h:22 ../plugins/converter/interface.c:657 msgid "Configure" msgstr "Настроить" -#: ../plugins/gtkui/interface.c:1969 ../plugins/gtkui/deadbeef.glade.h:28 +#: ../plugins/gtkui/interface.c:1974 ../plugins/gtkui/deadbeef.glade.h:29 msgid "DSP Chain Preset" msgstr "Предустановка для цепочки DSP" -#: ../plugins/gtkui/interface.c:1981 ../plugins/gtkui/deadbeef.glade.h:159 +#: ../plugins/gtkui/interface.c:1986 ../plugins/gtkui/deadbeef.glade.h:160 msgid "_Load" msgstr "_Загрузить" -#: ../plugins/gtkui/interface.c:1985 ../plugins/gtkui/deadbeef.glade.h:27 +#: ../plugins/gtkui/interface.c:1990 ../plugins/gtkui/deadbeef.glade.h:28 msgid "DSP" msgstr "DSP" -#: ../plugins/gtkui/interface.c:1994 ../plugins/gtkui/deadbeef.glade.h:18 +#: ../plugins/gtkui/interface.c:1999 ../plugins/gtkui/deadbeef.glade.h:19 msgid "Close minimizes to tray" msgstr "Сворачивать в трей при закрытии" -#: ../plugins/gtkui/interface.c:1998 ../plugins/gtkui/deadbeef.glade.h:76 +#: ../plugins/gtkui/interface.c:2003 ../plugins/gtkui/deadbeef.glade.h:77 msgid "Middle mouse button closes playlist" msgstr "Средняя кнопка мыши закрывает плейлист" -#: ../plugins/gtkui/interface.c:2002 ../plugins/gtkui/deadbeef.glade.h:49 +#: ../plugins/gtkui/interface.c:2007 ../plugins/gtkui/deadbeef.glade.h:50 msgid "Hide system tray icon" msgstr "Не показывать значок в трее" -#: ../plugins/gtkui/interface.c:2006 ../plugins/gtkui/deadbeef.glade.h:141 +#: ../plugins/gtkui/interface.c:2011 ../plugins/gtkui/deadbeef.glade.h:142 msgid "Use bold font for currently playing track" msgstr "Использовать жирный шрифт для текущей дорожки" -#: ../plugins/gtkui/interface.c:2010 ../plugins/gtkui/deadbeef.glade.h:48 +#: ../plugins/gtkui/interface.c:2015 ../plugins/gtkui/deadbeef.glade.h:49 msgid "Hide \"Delete from disk\" context menu item" msgstr "Убрать пункт \"Удалить с диска\" из контекстного меню" -#: ../plugins/gtkui/interface.c:2014 ../plugins/gtkui/deadbeef.glade.h:15 +#: ../plugins/gtkui/interface.c:2019 ../plugins/gtkui/deadbeef.glade.h:16 msgid "Auto-name playlists when adding a single folder" msgstr "Автоматически именовать плейлисты при добавлении одного каталога" -#: ../plugins/gtkui/interface.c:2022 ../plugins/gtkui/deadbeef.glade.h:52 +#: ../plugins/gtkui/interface.c:2027 ../plugins/gtkui/deadbeef.glade.h:53 msgid "Interface refresh rate (times per second):" msgstr "Частота обновления интерфейса (раз за секунду):" -#: ../plugins/gtkui/interface.c:2036 ../plugins/gtkui/deadbeef.glade.h:135 +#: ../plugins/gtkui/interface.c:2041 ../plugins/gtkui/deadbeef.glade.h:136 msgid "Titlebar text while playing:" msgstr "Текст заголовка при проигрывании:" -#: ../plugins/gtkui/interface.c:2050 ../plugins/gtkui/deadbeef.glade.h:136 +#: ../plugins/gtkui/interface.c:2055 ../plugins/gtkui/deadbeef.glade.h:137 msgid "Titlebar text while stopped:" msgstr "Текст заголовка при остановке:" -#: ../plugins/gtkui/interface.c:2064 ../plugins/gtkui/deadbeef.glade.h:45 +#: ../plugins/gtkui/interface.c:2069 ../plugins/gtkui/deadbeef.glade.h:46 msgid "GUI Plugin (changing requires restart):" msgstr "Графический интерфейс (для изменения необходим перезапуск):" -#: ../plugins/gtkui/interface.c:2072 ../plugins/gtkui/deadbeef.glade.h:44 +#: ../plugins/gtkui/interface.c:2077 ../plugins/gtkui/deadbeef.glade.h:45 msgid "GUI" msgstr "Интерфейс" -#: ../plugins/gtkui/interface.c:2087 ../plugins/gtkui/interface.c:2131 -#: ../plugins/gtkui/deadbeef.glade.h:84 +#: ../plugins/gtkui/interface.c:2092 ../plugins/gtkui/interface.c:2136 +#: ../plugins/gtkui/deadbeef.glade.h:85 msgid "Override" msgstr "Заменить" -#: ../plugins/gtkui/interface.c:2096 ../plugins/gtkui/deadbeef.glade.h:41 +#: ../plugins/gtkui/interface.c:2101 ../plugins/gtkui/deadbeef.glade.h:42 msgid "Foreground" msgstr "Передний план" -#: ../plugins/gtkui/interface.c:2103 ../plugins/gtkui/deadbeef.glade.h:16 +#: ../plugins/gtkui/interface.c:2108 ../plugins/gtkui/deadbeef.glade.h:17 msgid "Background" msgstr "Фон" -#: ../plugins/gtkui/interface.c:2122 ../plugins/gtkui/deadbeef.glade.h:111 +#: ../plugins/gtkui/interface.c:2127 ../plugins/gtkui/deadbeef.glade.h:112 msgid "Seekbar/Volumebar colors" msgstr "Основные цвета" -#: ../plugins/gtkui/interface.c:2140 ../plugins/gtkui/deadbeef.glade.h:75 +#: ../plugins/gtkui/interface.c:2145 ../plugins/gtkui/deadbeef.glade.h:76 msgid "Middle" msgstr "Средний" -#: ../plugins/gtkui/interface.c:2147 ../plugins/gtkui/deadbeef.glade.h:68 +#: ../plugins/gtkui/interface.c:2152 ../plugins/gtkui/deadbeef.glade.h:69 msgid "Light" msgstr "Светлый" -#: ../plugins/gtkui/interface.c:2154 ../plugins/gtkui/deadbeef.glade.h:29 +#: ../plugins/gtkui/interface.c:2159 ../plugins/gtkui/deadbeef.glade.h:30 msgid "Dark" msgstr "Тёмный" -#: ../plugins/gtkui/interface.c:2185 ../plugins/gtkui/deadbeef.glade.h:17 +#: ../plugins/gtkui/interface.c:2190 ../plugins/gtkui/deadbeef.glade.h:18 msgid "Base" msgstr "Базовый" -#: ../plugins/gtkui/interface.c:2192 ../plugins/gtkui/interface.c:2249 -#: ../plugins/gtkui/deadbeef.glade.h:132 +#: ../plugins/gtkui/interface.c:2197 ../plugins/gtkui/interface.c:2254 +#: ../plugins/gtkui/deadbeef.glade.h:133 msgid "Text" msgstr "Текст" -#: ../plugins/gtkui/interface.c:2205 ../plugins/gtkui/deadbeef.glade.h:129 +#: ../plugins/gtkui/interface.c:2210 ../plugins/gtkui/deadbeef.glade.h:130 msgid "Tab strip colors" msgstr "Цвета вкладок" -#: ../plugins/gtkui/interface.c:2214 ../plugins/gtkui/deadbeef.glade.h:85 +#: ../plugins/gtkui/interface.c:2219 ../plugins/gtkui/deadbeef.glade.h:86 msgid "Override (looses GTK treeview theming, but speeds up rendering)" msgstr "" "Заменить (теряются настройки темы GTK , но увеличивается скорость " "визуализации)" -#: ../plugins/gtkui/interface.c:2223 ../plugins/gtkui/deadbeef.glade.h:40 +#: ../plugins/gtkui/interface.c:2228 ../plugins/gtkui/deadbeef.glade.h:41 msgid "Even row" msgstr "" " Чётная \n" " строка" -#: ../plugins/gtkui/interface.c:2230 ../plugins/gtkui/deadbeef.glade.h:80 +#: ../plugins/gtkui/interface.c:2235 ../plugins/gtkui/deadbeef.glade.h:81 msgid "Odd row" msgstr "" " Нечётная \n" " строка" -#: ../plugins/gtkui/interface.c:2256 ../plugins/gtkui/deadbeef.glade.h:114 +#: ../plugins/gtkui/interface.c:2261 ../plugins/gtkui/deadbeef.glade.h:115 msgid "Selected row" msgstr "" " Выделенная \n" " строка" -#: ../plugins/gtkui/interface.c:2275 ../plugins/gtkui/deadbeef.glade.h:115 +#: ../plugins/gtkui/interface.c:2280 ../plugins/gtkui/deadbeef.glade.h:116 msgid "Selected text" msgstr "" " Выделенный \n" " текст" -#: ../plugins/gtkui/interface.c:2288 ../plugins/gtkui/deadbeef.glade.h:24 +#: ../plugins/gtkui/interface.c:2293 ../plugins/gtkui/deadbeef.glade.h:25 msgid "Cursor" msgstr "Курсор" -#: ../plugins/gtkui/interface.c:2301 ../plugins/gtkui/deadbeef.glade.h:90 +#: ../plugins/gtkui/interface.c:2306 ../plugins/gtkui/deadbeef.glade.h:91 msgid "Playlist colors" msgstr "Цвета плейлиста" -#: ../plugins/gtkui/interface.c:2305 ../plugins/gtkui/deadbeef.glade.h:19 +#: ../plugins/gtkui/interface.c:2310 ../plugins/gtkui/deadbeef.glade.h:20 msgid "Colors" msgstr "Цвета" -#: ../plugins/gtkui/interface.c:2314 ../plugins/gtkui/deadbeef.glade.h:37 +#: ../plugins/gtkui/interface.c:2319 ../plugins/gtkui/deadbeef.glade.h:38 msgid "Enable Proxy Server" msgstr "Включить прокси-сервер" -#: ../plugins/gtkui/interface.c:2322 ../plugins/gtkui/deadbeef.glade.h:97 +#: ../plugins/gtkui/interface.c:2327 ../plugins/gtkui/deadbeef.glade.h:98 msgid "Proxy Server Address:" msgstr "Адрес:" -#: ../plugins/gtkui/interface.c:2336 ../plugins/gtkui/deadbeef.glade.h:98 +#: ../plugins/gtkui/interface.c:2341 ../plugins/gtkui/deadbeef.glade.h:99 msgid "Proxy Server Port:" msgstr "Порт:" -#: ../plugins/gtkui/interface.c:2350 ../plugins/gtkui/deadbeef.glade.h:99 +#: ../plugins/gtkui/interface.c:2355 ../plugins/gtkui/deadbeef.glade.h:100 msgid "Proxy Type:" msgstr "Тип прокси:" -#: ../plugins/gtkui/interface.c:2369 ../plugins/gtkui/deadbeef.glade.h:100 +#: ../plugins/gtkui/interface.c:2374 ../plugins/gtkui/deadbeef.glade.h:101 msgid "Proxy Username:" msgstr "Имя пользователя:" -#: ../plugins/gtkui/interface.c:2382 ../plugins/gtkui/deadbeef.glade.h:96 +#: ../plugins/gtkui/interface.c:2387 ../plugins/gtkui/deadbeef.glade.h:97 msgid "Proxy Password:" msgstr "Пароль:" -#: ../plugins/gtkui/interface.c:2392 ../plugins/gtkui/deadbeef.glade.h:77 +#: ../plugins/gtkui/interface.c:2397 ../plugins/gtkui/deadbeef.glade.h:78 msgid "Network" msgstr "Сеть" -#: ../plugins/gtkui/interface.c:2423 ../plugins/gtkui/deadbeef.glade.h:142 +#: ../plugins/gtkui/interface.c:2428 ../plugins/gtkui/deadbeef.glade.h:143 msgid "Version: " msgstr "Версия:" -#: ../plugins/gtkui/interface.c:2487 ../plugins/gtkui/deadbeef.glade.h:22 +#: ../plugins/gtkui/interface.c:2492 ../plugins/gtkui/deadbeef.glade.h:23 #: ../translation/extra.c:78 msgid "Copyright" msgstr "Авторские права" -#: ../plugins/gtkui/interface.c:2497 ../plugins/gtkui/deadbeef.glade.h:92 +#: ../plugins/gtkui/interface.c:2502 ../plugins/gtkui/deadbeef.glade.h:93 msgid "Plugins" msgstr "Расширения" -#: ../plugins/gtkui/interface.c:2972 ../plugins/gtkui/deadbeef.glade.h:140 +#: ../plugins/gtkui/interface.c:2981 ../plugins/gtkui/deadbeef.glade.h:141 msgid "URL:" msgstr "Адрес:" -#: ../plugins/gtkui/interface.c:3074 ../plugins/gtkui/deadbeef.glade.h:46 +#: ../plugins/gtkui/interface.c:3083 ../plugins/gtkui/deadbeef.glade.h:47 msgid "Group By" msgstr "Группировать по" -#: ../plugins/gtkui/interface.c:3198 ../plugins/gtkui/deadbeef.glade.h:121 +#: ../plugins/gtkui/interface.c:3207 ../plugins/gtkui/deadbeef.glade.h:122 msgid "Sort by..." msgstr "Сортировать по..." -#: ../plugins/gtkui/interface.c:3214 ../plugins/gtkui/deadbeef.glade.h:42 +#: ../plugins/gtkui/interface.c:3223 ../plugins/gtkui/deadbeef.glade.h:43 msgid "Format" msgstr "Формат" -#: ../plugins/gtkui/interface.c:3244 +#: ../plugins/gtkui/interface.c:3253 msgid "Ascending" msgstr "По возрастанию" -#: ../plugins/gtkui/interface.c:3245 +#: ../plugins/gtkui/interface.c:3254 msgid "Descending" msgstr "По убыванию" -#: ../plugins/gtkui/interface.c:3298 ../plugins/gtkui/deadbeef.glade.h:112 +#: ../plugins/gtkui/interface.c:3307 ../plugins/gtkui/deadbeef.glade.h:113 #: ../plugins/converter/interface.c:758 msgid "Select DSP Plugin" msgstr "Выберите расширение DSP" -#: ../plugins/gtkui/interface.c:3314 ../plugins/gtkui/deadbeef.glade.h:91 -#: ../plugins/converter/convgui.c:1008 ../plugins/converter/interface.c:774 +#: ../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 msgid "Plugin" msgstr "Расширение" -#: ../plugins/gtkui/interface.c:3400 ../plugins/gtkui/deadbeef.glade.h:131 +#: ../plugins/gtkui/interface.c:3409 ../plugins/gtkui/deadbeef.glade.h:132 msgid "Tag Writer Settings" msgstr "Настройки редактора тегов" -#: ../plugins/gtkui/interface.c:3431 ../plugins/gtkui/deadbeef.glade.h:145 +#: ../plugins/gtkui/interface.c:3440 ../plugins/gtkui/deadbeef.glade.h:146 msgid "Write ID3v2" msgstr "Писать ID3v2" -#: ../plugins/gtkui/interface.c:3435 ../plugins/gtkui/interface.c:3562 -#: ../plugins/gtkui/deadbeef.glade.h:144 +#: ../plugins/gtkui/interface.c:3444 ../plugins/gtkui/interface.c:3571 +#: ../plugins/gtkui/deadbeef.glade.h:145 msgid "Write ID3v1" msgstr "Писать ID3v1" -#: ../plugins/gtkui/interface.c:3439 ../plugins/gtkui/interface.c:3518 -#: ../plugins/gtkui/interface.c:3558 ../plugins/gtkui/deadbeef.glade.h:143 +#: ../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" -#: ../plugins/gtkui/interface.c:3447 ../plugins/gtkui/interface.c:3526 -#: ../plugins/gtkui/deadbeef.glade.h:128 +#: ../plugins/gtkui/interface.c:3456 ../plugins/gtkui/interface.c:3535 +#: ../plugins/gtkui/deadbeef.glade.h:129 msgid "Strip ID3v2" msgstr "Вырезать ID3v2" -#: ../plugins/gtkui/interface.c:3451 ../plugins/gtkui/interface.c:3574 -#: ../plugins/gtkui/deadbeef.glade.h:127 +#: ../plugins/gtkui/interface.c:3460 ../plugins/gtkui/interface.c:3583 +#: ../plugins/gtkui/deadbeef.glade.h:128 msgid "Strip ID3v1" msgstr "Вырезать ID3v1" -#: ../plugins/gtkui/interface.c:3455 ../plugins/gtkui/interface.c:3530 -#: ../plugins/gtkui/interface.c:3570 ../plugins/gtkui/deadbeef.glade.h:126 +#: ../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" -#: ../plugins/gtkui/interface.c:3463 ../plugins/gtkui/deadbeef.glade.h:51 +#: ../plugins/gtkui/interface.c:3472 ../plugins/gtkui/deadbeef.glade.h:52 msgid "ID3v2 version" msgstr "Версия ID3v2" -#: ../plugins/gtkui/interface.c:3470 +#: ../plugins/gtkui/interface.c:3479 msgid "2.3 (Recommended)" msgstr "2.3 (Рекомендуемая)" -#: ../plugins/gtkui/interface.c:3471 +#: ../plugins/gtkui/interface.c:3480 msgid "2.4" msgstr "2.4" -#: ../plugins/gtkui/interface.c:3477 ../plugins/gtkui/deadbeef.glade.h:50 +#: ../plugins/gtkui/interface.c:3486 ../plugins/gtkui/deadbeef.glade.h:51 msgid "ID3v1 character encoding (default is iso8859-1)" msgstr "Кодировка ID3v1 (по умолчанию iso8859-1)" -#: ../plugins/gtkui/interface.c:3514 ../plugins/gtkui/deadbeef.glade.h:146 +#: ../plugins/gtkui/interface.c:3523 ../plugins/gtkui/deadbeef.glade.h:147 msgid "Write ID3v2.4" msgstr "Писать ID3v2.4" -#: ../plugins/gtkui/mainplaylist.c:308 ../plugins/gtkui/search.c:385 +#: ../plugins/gtkui/mainplaylist.c:313 ../plugins/gtkui/search.c:391 msgid "Artist / Album" msgstr "Исполнитель / Альбом" -#: ../plugins/gtkui/mainplaylist.c:309 ../plugins/gtkui/search.c:386 +#: ../plugins/gtkui/mainplaylist.c:314 ../plugins/gtkui/search.c:392 msgid "Track No" msgstr "№" -#: ../plugins/gtkui/plcommon.c:319 +#: ../plugins/gtkui/plcommon.c:325 msgid "Delete files from disk" msgstr "Удалить файлы с жёсткого диска" -#: ../plugins/gtkui/plcommon.c:320 +#: ../plugins/gtkui/plcommon.c:326 msgid "" "Files will be lost. Proceed?\n" "(This dialog can be turned off in GTKUI plugin settings)" @@ -916,49 +920,49 @@ "Файлы будут удалены. Продолжить?\n" "(Этот диалог может быть отключён в настройках расширения GTKUI)" -#: ../plugins/gtkui/plcommon.c:321 ../plugins/gtkui/trkproperties.c:162 -#: ../plugins/gtkui/trkproperties.c:674 ../plugins/converter/convgui.c:751 -#: ../plugins/converter/convgui.c:1128 +#: ../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 "Предупреждение" -#: ../plugins/gtkui/plcommon.c:423 +#: ../plugins/gtkui/plcommon.c:429 msgid "Add to playback queue" msgstr "Добавить в очередь" -#: ../plugins/gtkui/plcommon.c:428 +#: ../plugins/gtkui/plcommon.c:434 msgid "Remove from playback queue" msgstr "Удалить из очереди" -#: ../plugins/gtkui/plcommon.c:436 +#: ../plugins/gtkui/plcommon.c:442 msgid "Reload metadata" msgstr "Обновить метаданные" -#: ../plugins/gtkui/plcommon.c:455 +#: ../plugins/gtkui/plcommon.c:461 msgid "Remove from disk" msgstr "Удалить с жёсткого диска" -#: ../plugins/gtkui/plcommon.c:834 ../plugins/gtkui/plcommon.c:959 +#: ../plugins/gtkui/plcommon.c:840 ../plugins/gtkui/plcommon.c:965 msgid "Add column" msgstr "Добавить столбец" -#: ../plugins/gtkui/plcommon.c:864 ../plugins/gtkui/plcommon.c:963 +#: ../plugins/gtkui/plcommon.c:870 ../plugins/gtkui/plcommon.c:969 msgid "Edit column" msgstr "Редактировать столбец" -#: ../plugins/gtkui/plcommon.c:967 +#: ../plugins/gtkui/plcommon.c:973 msgid "Remove column" msgstr "Удалить столбец" -#: ../plugins/gtkui/plcommon.c:977 +#: ../plugins/gtkui/plcommon.c:983 msgid "Group by" msgstr "Группировать по" -#: ../plugins/gtkui/plcommon.c:984 +#: ../plugins/gtkui/plcommon.c:990 msgid "None" msgstr "Отсутствует" -#: ../plugins/gtkui/plcommon.c:988 +#: ../plugins/gtkui/plcommon.c:994 msgid "Artist/Date/Album" msgstr "Исполнитель/Дата/Альбом" @@ -1012,43 +1016,43 @@ msgid "[Multiple values] " msgstr "[Несколько значений] " -#: ../plugins/gtkui/trkproperties.c:395 ../plugins/gtkui/trkproperties.c:407 +#: ../plugins/gtkui/trkproperties.c:407 ../plugins/gtkui/trkproperties.c:419 msgid "Key" msgstr "Ключ" -#: ../plugins/gtkui/trkproperties.c:396 ../plugins/gtkui/trkproperties.c:408 +#: ../plugins/gtkui/trkproperties.c:408 ../plugins/gtkui/trkproperties.c:420 msgid "Value" msgstr "Значение" -#: ../plugins/gtkui/trkproperties.c:575 +#: ../plugins/gtkui/trkproperties.c:594 msgid "Writing tags..." msgstr "Запись тегов..." -#: ../plugins/gtkui/trkproperties.c:602 +#: ../plugins/gtkui/trkproperties.c:621 msgid "Name:" msgstr "Название:" -#: ../plugins/gtkui/trkproperties.c:614 +#: ../plugins/gtkui/trkproperties.c:633 msgid "Field names must not start with : or _" msgstr "Имена полей не должны начинаться с \":\" или \"_\"" -#: ../plugins/gtkui/trkproperties.c:615 ../plugins/gtkui/trkproperties.c:649 +#: ../plugins/gtkui/trkproperties.c:634 ../plugins/gtkui/trkproperties.c:668 msgid "Cannot add field" msgstr "Не удаётся добавить поле" -#: ../plugins/gtkui/trkproperties.c:648 +#: ../plugins/gtkui/trkproperties.c:667 msgid "Field with such name already exists, please try different name." msgstr "Поле с таким же именем уже сущестует, пожалуйста, выберите другое имя." -#: ../plugins/gtkui/trkproperties.c:673 +#: ../plugins/gtkui/trkproperties.c:692 msgid "Really remove selected field?" msgstr "Вы действительно хотите удалить выделенное поле?" -#: ../plugins/gtkui/trkproperties.c:715 +#: ../plugins/gtkui/trkproperties.c:734 msgid "Add field" msgstr "Добавить поле" -#: ../plugins/gtkui/trkproperties.c:718 +#: ../plugins/gtkui/trkproperties.c:737 msgid "Remove field" msgstr "Удалить поле" @@ -1165,15 +1169,15 @@ " для дополнительной информации, смотрите http://" "sourceforge.net/apps/mediawiki/deadbeef/index.php?title=Title_Formatting\n" -#: ../playlist.c:416 ../playlist.c:2539 +#: ../playlist.c:439 ../playlist.c:2605 msgid "Default" msgstr "Плейлист" -#: ../playlist.c:3779 +#: ../playlist.c:3854 msgid "Yes" msgstr "Да" -#: ../playlist.c:3779 +#: ../playlist.c:3854 msgid "No" msgstr "Нет" @@ -1185,7 +1189,7 @@ "2.3 (Рекомендуемая)\n" "2.4" -#: ../plugins/gtkui/deadbeef.glade.h:13 +#: ../plugins/gtkui/deadbeef.glade.h:14 msgid "" "Ascending\n" "Descending" @@ -1193,7 +1197,7 @@ "По возрастанию\n" "По убыванию" -#: ../plugins/gtkui/deadbeef.glade.h:32 +#: ../plugins/gtkui/deadbeef.glade.h:33 msgid "" "Disable\n" "Track\n" @@ -1203,7 +1207,7 @@ "Дорожка\n" "Альбом" -#: ../plugins/gtkui/deadbeef.glade.h:54 +#: ../plugins/gtkui/deadbeef.glade.h:55 msgid "" "Item Index\n" "Playing\n" @@ -1229,7 +1233,7 @@ "Группа / Исполнитель альбома\n" "Разное" -#: ../plugins/gtkui/deadbeef.glade.h:66 +#: ../plugins/gtkui/deadbeef.glade.h:67 msgid "" "Left\n" "Right" @@ -1527,35 +1531,39 @@ msgid "Quality / Algorythm" msgstr "Качество / Алгоритм" -#: ../plugins/converter/convgui.c:107 +#: ../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:109 +#: ../plugins/converter/convgui.c:110 msgid "Converter warning" msgstr "Converter предупреждение" -#: ../plugins/converter/convgui.c:221 +#: ../plugins/converter/convgui.c:222 msgid "Please select encoder" msgstr "Пожалуйста, выберите кодировщик" -#: ../plugins/converter/convgui.c:223 +#: ../plugins/converter/convgui.c:224 msgid "Converter error" msgstr "Converter ошибка" -#: ../plugins/converter/convgui.c:247 +#: ../plugins/converter/convgui.c:248 msgid "Converting..." msgstr "Конвертирование..." -#: ../plugins/converter/convgui.c:386 ../plugins/converter/convgui.c:488 +#: ../plugins/converter/convgui.c:394 ../plugins/converter/convgui.c:496 msgid "Select folder..." msgstr "Выберите каталог..." -#: ../plugins/converter/convgui.c:627 +#: ../plugins/converter/convgui.c:635 msgid "Failed to save encoder preset" msgstr "Не удалось сохранить предустановку кодировщика" -#: ../plugins/converter/convgui.c:629 ../plugins/converter/convgui.c:1027 +#: ../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" @@ -1563,51 +1571,51 @@ "Проверьте права доступа на папку, в которой находится предустановка, " "выберите другое имя или освободите место на диске" -#: ../plugins/converter/convgui.c:629 ../plugins/converter/convgui.c:1027 +#: ../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:630 ../plugins/converter/convgui.c:1028 +#: ../plugins/converter/convgui.c:638 ../plugins/converter/convgui.c:1036 msgid "Error" msgstr "Ошибка" -#: ../plugins/converter/convgui.c:684 +#: ../plugins/converter/convgui.c:692 msgid "Add new encoder" msgstr "Добавить кодировщик" -#: ../plugins/converter/convgui.c:716 +#: ../plugins/converter/convgui.c:724 msgid "Edit encoder" msgstr "Редактировать кодировщик" -#: ../plugins/converter/convgui.c:748 ../plugins/converter/convgui.c:1125 +#: ../plugins/converter/convgui.c:756 ../plugins/converter/convgui.c:1133 msgid "Remove preset" msgstr "Удалить предустановку" -#: ../plugins/converter/convgui.c:750 ../plugins/converter/convgui.c:1127 +#: ../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:774 +#: ../plugins/converter/convgui.c:782 msgid "Encoders" msgstr "Кодировщики" -#: ../plugins/converter/convgui.c:830 ../plugins/gtkui/dspconfig.c:183 +#: ../plugins/converter/convgui.c:838 ../plugins/gtkui/dspconfig.c:183 msgid "Add plugin to DSP chain" msgstr "Добавить расширение в цепочку DSP" -#: ../plugins/converter/convgui.c:1026 +#: ../plugins/converter/convgui.c:1034 msgid "Failed to save DSP preset" msgstr "Не удалось сохранить предустановку DSP" -#: ../plugins/converter/convgui.c:1090 +#: ../plugins/converter/convgui.c:1098 msgid "New DSP Preset" msgstr "Новая предустановка DSP" -#: ../plugins/converter/convgui.c:1175 +#: ../plugins/converter/convgui.c:1183 msgid "Edit DSP Preset" msgstr "Редактировать предустановку DSP " -#: ../plugins/converter/convgui.c:1195 +#: ../plugins/converter/convgui.c:1203 msgid "DSP Presets" msgstr "Предустановки DSP" @@ -1681,7 +1689,7 @@ #: ../plugins/converter/interface.c:230 msgid "Preserve folder structure, starting from:" -msgstr "" +msgstr "Сохранить структуру папок, начиная с:" #: ../plugins/converter/interface.c:386 msgid "Edit Encoder Preset"
View file
deadbeef-0.5.0.tar.bz2/premix.c -> deadbeef-0.5.1.tar.bz2/premix.c
Changed
@@ -31,10 +31,10 @@ static inline void pcm_write_samples_8_to_8 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - *(output + channelmap[c]) = *input; - input++; + for (int c = 0; c < outputfmt->channels; c++) { + *(output + c) = *(input + channelmap[c]); } + input += inputfmt->channels; output += outputsamplesize; } } @@ -42,10 +42,10 @@ static inline void pcm_write_samples_8_to_16 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - *((int16_t*)(output + 2 * channelmap[c])) = (int16_t)(*input) << 8; - input++; + for (int c = 0; c < outputfmt->channels; c++) { + *((int16_t*)(output + 2 * c)) = (int16_t)(*(input + channelmap[c])) << 8; } + input += inputfmt->channels; output += outputsamplesize; } } @@ -53,13 +53,13 @@ static inline void pcm_write_samples_8_to_24 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 3 * channelmap[c]; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 3 * c; out[0] = 0; out[1] = 0; - out[2] = input[0]; - input += 1; + out[2] = *(input + channelmap[c]); } + input += inputfmt->channels; output += outputsamplesize; } } @@ -67,14 +67,14 @@ static inline void pcm_write_samples_8_to_32 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 4 * channelmap[c]; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 4 * c; out[0] = 0; out[1] = 0; out[2] = 0; - out[3] = input[0]; - input += 1; + out[3] = *(input + channelmap[c]); } + input += inputfmt->channels; output += outputsamplesize; } } @@ -82,11 +82,11 @@ static inline void pcm_write_samples_8_to_float (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - float sample = (*input) / (float)0x7f; - *((float *)(output + 4 * channelmap[c])) = sample; - input++; + for (int c = 0; c < outputfmt->channels; c++) { + float sample = (*(input+channelmap[c])) / (float)0x7f; + *((float *)(output + 4 * c)) = sample; } + input += inputfmt->channels; output += outputsamplesize; } } @@ -94,10 +94,10 @@ static inline void pcm_write_samples_16_to_16 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - *((int16_t*)(output + 2 * channelmap[c])) = *((int16_t*)input); - input += 2; + for (int c = 0; c < outputfmt->channels; c++) { + *((int16_t*)(output + 2 * c)) = *((int16_t*)(input + channelmap[c]*2)); } + input += 2 * inputfmt->channels; output += outputsamplesize; } } @@ -105,10 +105,10 @@ static inline void pcm_write_samples_16_to_8 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - *((int8_t*)(output + channelmap[c])) = *((int16_t*)input) >> 8; - input += 2; + for (int c = 0; c < outputfmt->channels; c++) { + *((int8_t*)(output + c)) = *((int16_t*)(input + channelmap[c]*2)) >> 8; } + input += 2 * inputfmt->channels; output += outputsamplesize; } } @@ -116,13 +116,14 @@ static inline void pcm_write_samples_16_to_24 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 3 * channelmap[c]; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 3 * c; + const char *in = input + channelmap[c]*2; out[0] = 0; - out[1] = input[0]; - out[2] = input[1]; - input += 2; + out[1] = in[0]; + out[2] = in[1]; } + input += 2 * inputfmt->channels; output += outputsamplesize; } } @@ -130,14 +131,15 @@ static inline void pcm_write_samples_16_to_32 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 4 * channelmap[c]; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 4 * c; + const char *in = input + channelmap[c]*2; out[0] = 0; out[1] = 0; - out[2] = input[0]; - out[3] = input[1]; - input += 2; + out[2] = in[0]; + out[3] = in[1]; } + input += 2 * inputfmt->channels; output += outputsamplesize; } } @@ -145,11 +147,11 @@ static inline void pcm_write_samples_16_to_float (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - float sample = (*((int16_t*)input)) / (float)0x7fff; - *((float *)(output + 4 * channelmap[c])) = sample; - input += 2; + for (int c = 0; c < outputfmt->channels; c++) { + float sample = (*((int16_t*)(input + channelmap[c]*2))) / (float)0x7fff; + *((float *)(output + 4 * c)) = sample; } + input += 2 * inputfmt->channels; output += outputsamplesize; } } @@ -157,11 +159,11 @@ static inline void pcm_write_samples_24_to_8 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + channelmap[c]; - *out = input[2]; - input += 3; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + c; + *out = (input + channelmap[c] * 3)[2]; } + input += 3 * inputfmt->channels; output += outputsamplesize; } } @@ -169,13 +171,14 @@ static inline void pcm_write_samples_24_to_24 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 3 * channelmap[c]; - out[0] = input[0]; - out[1] = input[1]; - out[2] = input[2]; - input += 3; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 3 * c; + const char *in = input + channelmap[c] * 3; + out[0] = in[0]; + out[1] = in[1]; + out[2] = in[2]; } + input += 3 * inputfmt->channels; output += outputsamplesize; } } @@ -183,14 +186,15 @@ static inline void pcm_write_samples_24_to_32 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 4 * channelmap[c]; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 4 * c; + const char *in = input + 3 * channelmap[c]; out[0] = 0; - out[1] = input[0]; - out[2] = input[1]; - out[3] = input[2]; - input += 3; + out[1] = in[0]; + out[2] = in[1]; + out[3] = in[2]; } + input += inputfmt->channels * 3; output += outputsamplesize; } } @@ -198,12 +202,13 @@ static inline void pcm_write_samples_24_to_16 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 2 * channelmap[c]; - out[0] = input[1]; - out[1] = input[2]; - input += 3; + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 2 * c; + const char *in = input + 3 * channelmap[c]; + out[0] = in[1]; + out[1] = in[2]; } + input += inputfmt->channels * 3; output += outputsamplesize; } } @@ -211,12 +216,54 @@ static inline void pcm_write_samples_24_to_float (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - float *out = (float *)(output + 4 * channelmap[c]); - int32_t sample = ((unsigned char)input[0]) | ((unsigned char)input[1]<<8) | (input[2]<<16); + for (int c = 0; c < outputfmt->channels; c++) { + float *out = (float *)(output + 4 * c); + const char *in = input + 3 * channelmap[c]; + int32_t sample = ((unsigned char)in[0]) | ((unsigned char)in[1]<<8) | (in[2]<<16); *out = sample / (float)0x7fffff; - input += 3; } + input += inputfmt->channels * 3; + output += outputsamplesize; + } +} + +static inline void +pcm_write_samples_32_to_8 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { + for (int s = 0; s < nsamples; s++) { + for (int c = 0; c < outputfmt->channels; c++) { + int8_t *out = (int8_t*)(output + c); + int32_t sample = *((int32_t*)(input + 4 * channelmap[c])); + *out = (int8_t)(sample>>24); + } + input += 4 * inputfmt->channels; + output += outputsamplesize; + } +} + +static inline void +pcm_write_samples_32_to_16 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { + for (int s = 0; s < nsamples; s++) { + for (int c = 0; c < outputfmt->channels; c++) { + int16_t *out = (int16_t*)(output + 2 * c); + int32_t sample = *((int32_t*)(input + 4 * channelmap[c])); + *out = (int16_t)(sample>>16); + } + input += 4 * inputfmt->channels; + output += outputsamplesize; + } +} + +static inline void +pcm_write_samples_32_to_24 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { + for (int s = 0; s < nsamples; s++) { + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 3 * c; + const char *in = input + 4 * channelmap[c]; + out[0] = in[1]; + out[1] = in[2]; + out[2] = in[3]; + } + input += 4 * inputfmt->channels; output += outputsamplesize; } } @@ -224,22 +271,35 @@ static inline void pcm_write_samples_32_to_32 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - *((int32_t*)(output + 4 * channelmap[c])) = *((int32_t*)input); - input += 4; + for (int c = 0; c < outputfmt->channels; c++) { + *((int32_t*)(output + 4 * c)) = *((int32_t*)(input + channelmap[c] * 4)); } + input += 4 * inputfmt->channels; output += outputsamplesize; } } + +static inline void +pcm_write_samples_32_to_float (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { + for (int s = 0; s < nsamples; s++) { + for (int c = 0; c < outputfmt->channels; c++) { + float *out = (float *)(output + 4 * c); + int32_t sample = *((int32_t*)(input + channelmap[c] * 4)); + *out = sample / (float)0x7fffffff; + } + input += 4 * inputfmt->channels; + output += outputsamplesize; + } +} static inline void pcm_write_samples_float_to_8 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { fpu_control ctl; fpu_setround (&ctl); for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - int8_t *out = (int8_t*)(output + channelmap[c]); - float sample = *((float*)input); + for (int c = 0; c < outputfmt->channels; c++) { + int8_t *out = (int8_t*)(output + c); + float sample = *((float*)(input + channelmap[c] * 4)); // FIXME: sse optimize if (sample > 1) { sample = 1; @@ -248,8 +308,8 @@ sample = -1; } *out = (int8_t)ftoi (sample*0x7f); - input += 4; } + input += 4 * inputfmt->channels; output += outputsamplesize; } fpu_restore (ctl); @@ -260,9 +320,9 @@ fpu_control ctl; fpu_setround (&ctl); for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - int16_t *out = (int16_t*)(output + 2 * channelmap[c]); - float sample = *((float*)input); + for (int c = 0; c < outputfmt->channels; c++) { + int16_t *out = (int16_t*)(output + 2 * c); + float sample = *((float*)(input + 4 * channelmap[c])); // FIXME: sse optimize if (sample > 1) { sample = 1; @@ -271,8 +331,8 @@ sample = -1; } *out = (int16_t)ftoi (sample*0x7fff); - input += 4; } + input += 4 * inputfmt->channels; output += outputsamplesize; } fpu_restore (ctl); @@ -283,9 +343,9 @@ fpu_control ctl; fpu_setround (&ctl); for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - char *out = output + 3 * channelmap[c]; - float sample = *((float*)input); + for (int c = 0; c < outputfmt->channels; c++) { + char *out = output + 3 * c; + float sample = *((float*)(input + channelmap[c] * 4)); // FIXME: sse optimize if (sample > 1) { sample = 1; @@ -297,8 +357,8 @@ out[0] = (outsample&0x0000ff); out[1] = (outsample&0x00ff00)>>8; out[2] = (outsample&0xff0000)>>16; - input += 4; } + input += 4 * inputfmt->channels; output += outputsamplesize; } fpu_restore (ctl); @@ -308,11 +368,11 @@ static inline void pcm_write_samples_float_to_32 (const ddb_waveformat_t * restrict inputfmt, const char * restrict input, const ddb_waveformat_t * restrict outputfmt, char * restrict output, int nsamples, int * restrict channelmap, int outputsamplesize) { for (int s = 0; s < nsamples; s++) { - for (int c = 0; c < inputfmt->channels; c++) { - int sample = (*((float*)input)) * (float)0x7fffffff; - *((int32_t *)(output + 4 * channelmap[c])) = sample; - input += 4; + for (int c = 0; c < outputfmt->channels; c++) { + int sample = (*((float*)(input + channelmap[c] * 4))) * (float)0x7fffffff; + *((int32_t *)(output + 4 * c)) = sample; } + input += 4 * inputfmt->channels; output += outputsamplesize; } } @@ -352,14 +412,14 @@ pcm_write_samples_24_to_float, }, { - NULL, // FIXME: add 32_to_8 - NULL, // FIXME: add 32_to_16 - NULL, // FIXME: add 32_to_24 + pcm_write_samples_32_to_8, + pcm_write_samples_32_to_16, + pcm_write_samples_32_to_24, pcm_write_samples_32_to_32, NULL, NULL, NULL, - NULL, // FIXME: add 32_to_float + pcm_write_samples_32_to_float, }, { },
View file
deadbeef-0.5.0.tar.bz2/streamer.c -> deadbeef-0.5.1.tar.bz2/streamer.c
Changed
@@ -64,6 +64,8 @@ static int dsp_on = 0; +static int autoconv_8_to_16 = 1; + static int streaming_terminate; // buffer up to 3 seconds at 44100Hz stereo @@ -103,7 +105,8 @@ static playItem_t *streaming_track; static playItem_t *playlist_track; -static ddb_waveformat_t output_format; +static ddb_waveformat_t output_format; // format that was requested after DSP +static ddb_waveformat_t orig_output_format; // format that was requested before DSP static int formatchanged; static DB_fileinfo_t *fileinfo; @@ -225,9 +228,9 @@ pl_item_ref (playing_track); playing_track->played = 1; - started_timestamp = time (NULL); trace ("from=%p (%s), to=%p (%s) [2]\n", from, from ? pl_find_meta (from, ":URI") : "null", it, it ? pl_find_meta (it, ":URI") : "null"); send_trackchanged (from, it); + started_timestamp = time (NULL); } if (from) { pl_item_unref (from); @@ -327,25 +330,22 @@ } else { trace ("%s not found in current streaming playlist\n", pl_find_meta (it, ":URI")); - // find playlist - playlist_t *old = streamer_playlist; - streamer_playlist = plt_get_list (); - int i = 0; - while (streamer_playlist) { - trace ("searching for %s in playlist %d\n", pl_find_meta (it, ":URI"), i); + + playlist_t *p = pl_get_playlist (it); + if (p) { + if (streamer_playlist) { + plt_unref (streamer_playlist); + } + streamer_playlist = p; int r = str_get_idx_of (it); if (r >= 0) { - trace ("%s found in playlist %d\n", pl_find_meta (it, ":URI"), i); pl_item_unref (it); pl_unlock (); streamer_set_nextsong (r, 3); return 0; } - i++; - streamer_playlist = streamer_playlist->next; } trace ("%s not found in any playlists\n", pl_find_meta (it, ":URI")); - streamer_playlist = old; pl_item_unref (it); } } @@ -355,7 +355,6 @@ if (reason == 1) { if (streamer_playlist) { plt_unref (streamer_playlist); - streamer_playlist = NULL; } streamer_playlist = plt_get_curr (); // check if prev song is in this playlist @@ -445,7 +444,6 @@ return -1; } int r = str_get_idx_of (it); - extern pthread_t pl_lock_tid; pl_unlock (); streamer_set_nextsong (r, 1); return 0; @@ -501,7 +499,6 @@ pl_lock (); if (streamer_playlist) { plt_unref (streamer_playlist); - streamer_playlist = NULL; } streamer_playlist = plt_get_curr (); // check if prev song is in this playlist @@ -552,7 +549,7 @@ // that means 1st in playlist, take amax if (pl_loop_mode == PLAYBACK_MODE_LOOP_ALL) { if (!amax) { - pl_reshuffle (NULL, &amax); + plt_reshuffle (streamer_playlist, NULL, &amax); } it = amax; } @@ -560,6 +557,7 @@ if (!it) { pl_unlock (); + streamer_set_nextsong (-2, 1); return -1; } int r = str_get_idx_of (it); @@ -580,6 +578,7 @@ } if (!it) { pl_unlock (); + streamer_set_nextsong (-2, 1); return -1; } int r = str_get_idx_of (it); @@ -620,6 +619,11 @@ r = 0; } } + + if (pl_get_order () == PLAYBACK_ORDER_SHUFFLE_ALBUMS) { + plt_init_shuffle_albums (plt, r); + } + streamer_set_nextsong (r, 1); return 0; } @@ -880,7 +884,6 @@ pl_lock (); if (streamer_playlist) { plt_unref (streamer_playlist); - streamer_playlist = NULL; } streamer_playlist = plt_get_curr (); pl_unlock (); @@ -894,6 +897,16 @@ } void +streamer_set_generic_output_format (void) { + output_format.bps = 16; + output_format.is_float = 0; + output_format.channels = 2; + output_format.samplerate = 44100; + output_format.channelmask = 3; + streamer_set_output_format (); +} + +void streamer_set_seek (float pos) { seekpos = pos; } @@ -969,14 +982,18 @@ avg_bitrate = -1; if (output->state () != OUTPUT_STATE_PLAYING) { streamer_reset (1); - if (!dsp_on && fileinfo && memcmp (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { + if (fileinfo && memcmp (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); + memcpy (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); fprintf (stderr, "streamer_set_output_format %dbit %s %dch %dHz channelmask=%X\n", output_format.bps, output_format.is_float ? "float" : "int", output_format.channels, output_format.samplerate, output_format.channelmask); streamer_set_output_format (); } - if (output->state () != OUTPUT_STATE_PLAYING) { + if (0 != output->play ()) { + // give a chance to DSP plugins to convert format to something + // supported + streamer_set_generic_output_format (); if (0 != output->play ()) { - memset (&output_format, 0, sizeof (output_format)); + memset (&orig_output_format, 0, sizeof (orig_output_format)); fprintf (stderr, "streamer: failed to start playback (start track)\n"); streamer_set_nextsong (-2, 0); } @@ -988,13 +1005,13 @@ last_bitrate = -1; avg_bitrate = -1; streamer_reset (1); - if (fileinfo && memcmp (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { - memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); + if (fileinfo && memcmp (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { + memcpy (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); formatchanged = 1; } // we need to start playback before we can pause it if (0 != output->play ()) { - memset (&output_format, 0, sizeof (output_format)); + memset (&orig_output_format, 0, sizeof (orig_output_format)); fprintf (stderr, "streamer: failed to start playback (start track)\n"); streamer_set_nextsong (-2, 0); } @@ -1105,7 +1122,8 @@ // don't switch if unchanged ddb_waveformat_t prevfmt; memcpy (&prevfmt, &output->fmt, sizeof (ddb_waveformat_t)); - if (memcmp (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { + if (memcmp (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { + memcpy (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); formatchanged = 1; #if 0 @@ -1256,7 +1274,7 @@ int skip = 0; if (bytes_until_next_song >= 0) { // check if streaming format differs from output - if (memcmp(&fileinfo->fmt, &output_format, sizeof (ddb_waveformat_t))) { + if (memcmp(&fileinfo->fmt, &orig_output_format, sizeof (ddb_waveformat_t))) { skip = 1; streamer_buffering = 0; } @@ -1491,7 +1509,8 @@ ctx = ctx->next; } if (!ctx && fileinfo) { - if (memcmp (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { + if (memcmp (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t))) { + memcpy (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); formatchanged = 1; } @@ -1501,12 +1520,7 @@ dsp_on = 1; // set some very generic format, this will allow playback of weird // formats after fixing them with dsp plugins - output_format.bps = 16; - output_format.is_float = 0; - output_format.channels = 2; - output_format.samplerate = 44100; - output_format.channelmask = 3; - streamer_set_output_format (); + streamer_set_generic_output_format (); } else if (!ctx) { dsp_on = 0; @@ -1526,6 +1540,19 @@ char fname[PATH_MAX]; snprintf (fname, sizeof (fname), "%s/dspconfig", plug_get_config_dir ()); dsp_chain = streamer_dsp_chain_load (fname); + if (!dsp_chain) { + // first run, let's add resampler + DB_dsp_t *src = (DB_dsp_t *)plug_get_for_id ("SRC"); + if (src) { + ddb_dsp_context_t *inst = src->open (); + inst->enabled = 0; + src->set_param (inst, 0, "48000"); // samplerate + src->set_param (inst, 1, "2"); // quality=SINC_FASTEST + src->set_param (inst, 2, "1"); // auto + inst->next = dsp_chain; + dsp_chain = inst; + } + } eqplug = (DB_dsp_t *)plug_get_for_id ("supereq"); streamer_dsp_postinit (); @@ -1639,7 +1666,14 @@ int playing = (output->state () == OUTPUT_STATE_PLAYING); fprintf (stderr, "streamer_set_output_format %dbit %s %dch %dHz channelmask=%X, bufferfill: %d\n", output_format.bps, output_format.is_float ? "float" : "int", output_format.channels, output_format.samplerate, output_format.channelmask, streamer_ringbuf.remaining); - output->setformat (&output_format); + ddb_waveformat_t fmt; + memcpy (&fmt, &output_format, sizeof (ddb_waveformat_t)); + if (autoconv_8_to_16) { + if (fmt.bps == 8) { + fmt.bps = 16; + } + } + output->setformat (&fmt); streamer_buffering = 1; if (playing && output->state () != OUTPUT_STATE_PLAYING) { if (0 != output->play ()) { @@ -1670,7 +1704,33 @@ int outputsamplesize = output->fmt.channels * output->fmt.bps / 8; int inputsamplesize = fileinfo->fmt.channels * fileinfo->fmt.bps / 8; - if (!memcmp (&fileinfo->fmt, &output->fmt, sizeof (ddb_waveformat_t)) && !dsp_on) { + ddb_waveformat_t dspfmt; + memcpy (&dspfmt, &fileinfo->fmt, sizeof (ddb_waveformat_t)); + dspfmt.bps = 32; + dspfmt.is_float = 1; + int can_bypass = 0; + if (dsp_on) { + // check if DSP can be passed through + ddb_dsp_context_t *dsp = dsp_chain; + while (dsp) { + if (dsp->enabled) { + if (dsp->plugin->plugin.api_vminor >= 1) { + if (dsp->plugin->can_bypass && !dsp->plugin->can_bypass (dsp, &dspfmt)) { + break; + } + } + else { + break; + } + } + dsp = dsp->next; + } + if (!dsp) { + can_bypass = 1; + } + } + + if (!memcmp (&fileinfo->fmt, &output->fmt, sizeof (ddb_waveformat_t)) && (!dsp_on || can_bypass)) { // pass through from input to output bytesread = fileinfo->plugin->read (fileinfo, bytes, size); @@ -1685,11 +1745,6 @@ char outbuf[dsp_num_frames * dspsamplesize]; - ddb_waveformat_t dspfmt; - memcpy (&dspfmt, &fileinfo->fmt, sizeof (ddb_waveformat_t)); - dspfmt.bps = 32; - dspfmt.is_float = 1; - int inputsize = dsp_num_frames * inputsamplesize; char input[inputsize]; @@ -1734,8 +1789,9 @@ streamer_set_output_format (); } - //printf ("convert to %dbit %s %dch %dHz channelmask=%X\n", output->fmt.bps, output->fmt.is_float ? "float" : "int", output->fmt.channels, output->fmt.samplerate, output->fmt.channelmask); - int n = pcm_convert (&dspfmt, tempbuf, &output->fmt, bytes, nframes * dspsamplesize); + //printf ("convert from %dbit %s %dch %dHz channelmask=%X to %dbit %s %dch %dHz channelmask=%X\n", dspfmt.bps, dspfmt.is_float ? "float" : "int", dspfmt.channels, dspfmt.samplerate, dspfmt.channelmask, output->fmt.bps, output->fmt.is_float ? "float" : "int", output->fmt.channels, output->fmt.samplerate, output->fmt.channelmask); + + int n = pcm_convert (&dspfmt, tempbuf, &output->fmt, bytes, nframes * dspfmt.channels * sizeof (float)); bytesread = n; } @@ -1917,6 +1973,12 @@ if (playing_track) { playing_track->played = 1; } + int conf_autoconv_8_to_16 = conf_get_int ("streamer.8_to_16", 1); + if (conf_autoconv_8_to_16 != autoconv_8_to_16) { + autoconv_8_to_16 = conf_autoconv_8_to_16; + formatchanged = 1; + streamer_reset (1); + } } void @@ -1945,9 +2007,12 @@ streamer_set_nextsong (idx, 1); pl_lock (); + if (streamer_playlist) { + plt_unref (streamer_playlist); + } streamer_playlist = plt; - plt_ref (plt); pl_unlock (); + return; } else { // restart currently playing track @@ -1969,7 +2034,6 @@ pl_lock (); if (streamer_playlist) { plt_unref (streamer_playlist); - streamer_playlist = NULL; } streamer_playlist = plt_get_for_idx (plt); pl_unlock (); @@ -2037,6 +2101,11 @@ } streamer_dsp_postinit (); + if (fileinfo) { + memcpy (&orig_output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); + memcpy (&output_format, &fileinfo->fmt, sizeof (ddb_waveformat_t)); + formatchanged = 1; + } char fname[PATH_MAX]; snprintf (fname, sizeof (fname), "%s/dspconfig", plug_get_config_dir ());
View file
deadbeef-0.5.0.tar.bz2/translation/extra.c -> deadbeef-0.5.1.tar.bz2/translation/extra.c
Changed
@@ -88,3 +88,4 @@ // Resampler (Secret Rabbit Code) _("Target Samplerate") _("Quality / Algorythm") +_("Automatic Samplerate (overrides Target Samplerate)")
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.