Nick Wood | 13 May 20:33 2016
Picon

Stickers query

Hi all,

I have a query regarding stickers, and I am hoping someone can tell me 
whether the behaviour I am seeing is by design or a bug in MPD:

Suppose I add a sticker to a song called "bookmark".

On MPD v0.16 and 0.18, if I issue the following command:

sticker find song / bookmark

...I get all songs that have the "bookmark" sticker.

However on MPD v0.19, the above never returns anything.

If I replace the URI from "/" to a proper song URI, or a partial URI, 
then the search returns results.  But with the URI set to "/" to search 
everything from the root, I get nothing, yet on earlier MPD versions the 
"/" option seems to work fine.

Any clues as to what might be going wrong? Or is this an intentional 
change in MPD v0.19?

For info, the MPD v0.19 build I am using is the Arch Linux package.

Thanks in advance,

Nick

_______________________________________________
(Continue reading)

Julien Cubizolles | 19 Apr 17:35 2016
Picon

mpd creates two ALBUMARTIST entries

I noticed that music files metadata contain both "ALBUM ARTIST" and
"ALBUMARTIST" fields. When both are set, mpd creates ALBUMARTIST fields
in the tag_cache file. That's not a problem for mpd itself but emms gets
confused and emms-cache-set-from-mpd-all creates entries without any
artist field, which makes them useless for searching.

See for instance the following metadata and the corresponding tag_cache
entry.

Julien.

from metaflac:

--8<---------------cut here---------------start------------->8---
ALBUM ARTIST=PJ Harvey
ALBUMARTIST=PJ Harvey
ALBUMARTIST_CREDIT=PJ Harvey
ALBUMARTISTSORT=Harvey, PJ
ARTIST=PJ Harvey
ARTIST_CREDIT=PJ Harvey
ARTISTSORT=Harvey, PJ
--8<---------------cut here---------------end--------------->8---

tag_cache:

--8<---------------cut here---------------start------------->8---
song_begin: 02 The Ministry of Defence.flac
Time: 251.306000
Album: The Hope Six Demolition Project
AlbumArtist: PJ Harvey
(Continue reading)

Calimero | 16 Apr 00:58 2016
Picon

mpd takes 1.5s to execute previous/next while playing (regression)

Good evening,

I believe I have discovered an regression where mpd's response times on the control socket got slow while playing.
`mpc next`, `mpc previous` or `telnet localhost 6600` and typing next or previous can take a whole second
and a half before mpd responds with OK.

It looks as if mpd is now only polling for commands every second and a half, instead of reacting immediately.

Bisecting leads to:

45f6129ae7c2b9904b292d8b6b16ea36e9126a86 is the first bad commit
commit 45f6129ae7c2b9904b292d8b6b16ea36e9126a86
Author: Max Kellermann <max <at> duempel.org>
Date:   Wed Nov 11 16:49:15 2015 +0100

    player/Control: don't stop playback in Play()

    Instead of stopping playback completely, only CANCEL the queued song
    if necessary, and use the SEEK command to play the selected song.
    SEEK will take care for current playback state.

:040000 040000 328f83ba03139b5aadce2bff3c8fdc00b3afe9f5
115a2f16251cbb5b44e3e39599319a55bd12371a M    src

diff --git a/src/player/Control.cxx b/src/player/Control.cxx
index db8a8b7..2f788ff 100644
--- a/src/player/Control.cxx
+++ b/src/player/Control.cxx
 <at>  <at>  -55,15 +55,7  <at>  <at>  PlayerControl::Play(DetachedSong *song)
        assert(song != nullptr);
(Continue reading)

TimeZlicer | 20 Mar 10:34 2016
Picon
Gravatar

HLS "support"

Hi *

http://forum.musicpd.org/viewtopic.php?f=11&t=3748#p5809
This has worked for the last 2 months

I would not call this a fix or any form or real support, just that
changing from "mad" to "ffmpeg" does allows HLS, m3u8 to be played

Thank you for your consideration

---
Regards
TimeZlicer
_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel
Joerg Raftopoulos | 5 Mar 13:37 2016
Picon

Patch to increase number of metadata

Hi all,

a patch to increase the number of metadata in MPD. More a basis for
discussion as a finished product. So far, only ID3 support.

New metadata is: conductor,remixer,bpm,contentgroup,copyright,
discsubtitle,encodedby,isrc,label,language,lyricist,mood,originalartist,
originaldate,releasedate,subtitle,totaldiscs,totaltracks

Here we go.

diff --git a/src/db/plugins/simple/DatabaseSave.cxx
b/src/db/plugins/simple/DatabaseSave.cxx
index fa39164..980d672 100644
--- a/src/db/plugins/simple/DatabaseSave.cxx
+++ b/src/db/plugins/simple/DatabaseSave.cxx
 <at>  <at>  -42,7 +42,7  <at>  <at> 
 #define DIRECTORY_FS_CHARSET "fs_charset: "
 #define DB_TAG_PREFIX "tag: "

-static constexpr unsigned DB_FORMAT = 2;
+static constexpr unsigned DB_FORMAT = 3;

 /**
  * The oldest database format understood by this MPD version.
diff --git a/src/tag/Mask.hxx b/src/tag/Mask.hxx
index f2c51bb..7dfc5fb 100644
--- a/src/tag/Mask.hxx
+++ b/src/tag/Mask.hxx
 <at>  <at>  -22,6 +22,6  <at>  <at> 
(Continue reading)

Chris Spiegel | 13 Feb 06:22 2016
Picon

Pull request to support OptimFROG files

I've created a plugin for the OptimFROG file format
(http://losslessaudio.org/).  It's available in the branch called
optimfrog in my repository: https://github.com/cspiegel/mpd
_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel
Chris Spiegel | 13 Feb 06:15 2016
Picon

Pull request to support TAK files

In my git repository:

https://github.com/cspiegel/mpd

I've created a branch called tak which adds support for the TAK file
format (http://www.thbeck.de/Tak/Tak.html) to the FFmpeg plugin.  FFmpeg
already has TAK support, so it was a trivial matter of adding the
extension to the list.
_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel
Gavin Kistner | 12 Feb 18:34 2016
Gravatar

idle stored_playlist does not notice filesystem changes

Using the "idle stored_playlist" command works fine when MPD is used to modify a playlist file. However, idle does not notice if the playlist file is edited by a non-MPD source.

Is there a .conf setting (similar to "auto_update" for the music_directory) that can allow MPD to notice when a playlist file is touched? If there is no such setting, is there a good reason not to add one?
-- (-, /\ \/ / /\/
_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel
Thomas Petazzoni | 7 Feb 22:11 2016
Gravatar

[PATCH] configure.ac: check if libatomic is needed

The mpd source code uses the C++11 <atomic> functionality, which
internally is implemented using the __atomic_*() gcc built-ins. On
certain architectures, the __atomic_*() built-ins are implemented in
the libatomic library that comes with the rest of the gcc runtime. Due
to this, code using <atomic> might need to link against libatomic,
otherwise one hits build issues such as:

GlobalEvents.cxx:(.text._ZN12GlobalEvents4EmitENS_5EventE+0x14): undefined reference to `__atomic_fetch_or_4'

on an architecture like SPARC.

To solve this, a configure.ac check is added to know if we need to
link against libatomic or not.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni <at> free-electrons.com>
---
 configure.ac | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configure.ac b/configure.ac
index 107b45a..8e6fab7 100644
--- a/configure.ac
+++ b/configure.ac
 <at>  <at>  -233,6 +233,8  <at>  <at>  if test x$have_pthread_setname_np = xyes; then
 	AC_DEFINE(HAVE_PTHREAD_SETNAME_NP, 1, [Is pthread_setname_np() available?])
 fi

+AC_SEARCH_LIBS([__atomic_load_4], [atomic])
+
 dnl ---------------------------------------------------------------------------
 dnl Event loop selection
 dnl ---------------------------------------------------------------------------
--

-- 
2.6.4

_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel
richard lucassen | 27 Dec 18:42 2015

mpd hangs, kill -9 necessary

Hello list,

I run Debian Wheezy with native mpd-0.16.7-2. This has worked fine for
a few years as long as I do not choose a radiostream that is broken. In that case
I need to -SIGKILL mpd. This afternoon I compiled a
vanilla 0.19.12 and the reproducible problem is still there:

Step 1: download the m3u list to the playlist dir, it's this particular playlist:

http://wwww.xaq.nl/web.m3u

Step 2: remove the state file:

# rm -f /var/run/mpd/state (this is what I use)
removed `/var/run/mpd/state'

Step 3: start the daemon:

~/mpd/mpd-0.19.12/src>./mpd --no-daemon --stderr --verbose /etc/mpd.conf
config_file: loading file /etc/mpd.conf
server_socket: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because
binding to '[::]:6600' succeeded)
path: SetFSCharset: fs charset is: UTF-8
libsamplerate: libsamplerate converter 'Fastest Sinc Interpolator'
vorbis: Xiph.Org libVorbis 1.3.2
opus: libopus 0.9.14
sndfile: libsndfile-1.0.25
db: reading DB
curl: version 7.26.0
curl: with GnuTLS/2.12.20
state_file: Loading state file /var/run/mpd/state
errno: Failed to open /var/run/mpd/state: No such file or directory

Step 4:
$ mpc load web

client: [0] opened from 127.0.0.1:37867
client: [0] process command list
client: process command "load "web""
client: command returned 0
client: [0] process command list returned 0
client: [0] closed

Step 5:
$ mpc play 1 (this works):

client: [1] process command "status"
client: [1] command returned 0
client: [1] process command "play "0""
playlist: play 0:"http://amp.cesnet.cz:8000/cro-d-dur-256.ogg"
client: [1] command returned 0
playlist: queue song 1:"http://lr3mp0.latvijasradio.lv:8004/"
client: [1] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [1] process command list returned 0
client: [1] closed
decoder_thread: probing plugin vorbis
decoder: audio_format=48000:f:2, seekable=false
alsa_output: opened default type=PLUG
alsa_output: format=FLOAT_LE (Float 32 bit Little Endian)
alsa_output: buffer: size=26..131072 time=541..2730667
alsa_output: period: size=13..65536 time=270..1365334
alsa_output: default period_time = buffer_time/4 = 500000/4 = 125000
alsa_output: buffer_size=24000 period_size=6000
output: opened plugin=alsa name="ALSA1" audio_format=48000:f:2
state_file: Saving state file /var/run/mpd/state

Step 6:
Now, load entry 7 (which does not work, it generates a 404), then mpd skips to the next entry (which doesn't
work either) and now mpd hangs:

client: [2] opened from 127.0.0.1:37870
client: [2] process command "status"
client: [2] command returned 0
client: [2] process command "play "6""
playlist: play 6:"http://radioclasica.rtveradio.cires21.com/radioclasica/mp3/icecast.audio"
player: played "http://amp.cesnet.cz:8000/cro-d-dur-256.ogg"
client: [2] command returned 0
playlist: queue song 7:"mmsh://mediau.yle.fi/liveklassinen"
client: [2] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [2] process command list returned 0
client: [2] closed
curl: curl failed: The requested URL returned error: 404
player: played "http://radioclasica.rtveradio.cires21.com/radioclasica/mp3/icecast.audio"
playlist: play 7:"mmsh://mediau.yle.fi/liveklassinen"
playlist: queue song 8:"http://109.123.116.202:8020"

It will somehow react to a command, like "next":

client: [1] opened from 127.0.0.1:37880
client: [1] process command "next"
playlist: play 8:"http://109.123.116.202:8020"

$ mpc next
error: Timeout

Now mpd hangs:

# strace -f -p 16906
Process 16906 attached with 6 threads - interrupt to quit
[pid 16912] read(10,  <unfinished ...>
[pid 16910] futex(0x8b39e60, FUTEX_WAIT_PRIVATE, 9, NULL <unfinished ...>
[pid 16909] futex(0xb2a25bd8, FUTEX_WAIT, 16912, NULL <unfinished ...>
[pid 16908] futex(0x8b2988c, FUTEX_WAIT_PRIVATE, 293, NULL <unfinished ...>
[pid 16907] clock_gettime(CLOCK_MONOTONIC, {26813, 616325802}) = 0
[pid 16907] clock_gettime(CLOCK_MONOTONIC, {26813, 616946386}) = 0
[pid 16907] epoll_wait(4,  <unfinished ...>
[pid 16906] futex(0x8b298bc, FUTEX_WAIT_PRIVATE, 33, NULL

Only a -SIGKILL will stop mpd.

Is this reproducable for you as well?

R.

BTW:

server_socket: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because
binding to '[::]:6600' succeeded)

I have seen this every time mpd starts, but mpd sees this I suppose: 
tcp6       1      1 127.0.0.1:6600      127.0.0.1:37880   LAST_ACK

--

-- 
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht                                        |
+------------------------------------------------------------------+
_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel
Christian Hesse | 1 Dec 08:53 2015
Picon
Gravatar

[PATCH 1/1] fix LimitRTTIME in systemd unit file

From: Christian Hesse <mail <at> eworm.de>

systemd does not understand LimitRTTIME=-1. For no limit we have to use
the string 'infinity' (see systemd.exec(5)).

Signed-off-by: Christian Hesse <mail <at> eworm.de>
---
 systemd/mpd.service.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/systemd/mpd.service.in b/systemd/mpd.service.in
index 6dce7d9..09a5ad2 100644
--- a/systemd/mpd.service.in
+++ b/systemd/mpd.service.in
 <at>  <at>  -8,7 +8,7  <at>  <at>  ExecStart= <at> prefix <at> /bin/mpd --no-daemon

 # allow MPD to use real-time priority 50
 LimitRTPRIO=50
-LimitRTTIME=-1
+LimitRTTIME=infinity

 # disallow writing to /usr, /bin, /sbin, ...
 ProtectSystem=yes
--

-- 
2.6.2

_______________________________________________
mpd-devel mailing list
mpd-devel <at> musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel

Gmane