Hello everybody!
Im using mpd and mpc in an openwrt installation I have in my router and BitMPC in my Android to control it.

Everything is working fine, Im just trying to make it more user-friendly.

I have one m3u playlist in the playlists dir which I load on startup and from my mpc I can see and select the radio I want by selecting its URL from a list of URLs.
Sometimes this can be http://xx.xx.xx.xx:8000/bbc_radio.mp3 which is self explanatory which station it is but sometimes it can be http://xx.xx.xx.xx:8000 which obviously means nothing to people who dont memorise IPs like me

I did my research for some hours (I usually prefer to spend a few extra hours finding suggestions and experimenting rather than fire away posts in forums) and I have found the following:
-Standard m3u files do not support titles
-Extended m3u files support titles using the following format:
#EXTM3U
#EXTINF:35,JoinRadio
http://37.59.25.167:8000
-The playlists directory of mpd (the one specified in mpd.conf) is only for mpd to store its own playlists and mpd supports standard m3u format only hence the extra data that ExtM3U supports are ignored when loaded.
-MPC can read ExtM3U if the playlist is loaded from another directory than the playlists directory

And here is the problem. If I run:
mpc load /home/test.m3u

I get the following message:
loading: /home/test.m3u
error: ACK [2@0] {load} playlist name "/home/test.m3u" is invalid: playlist names may not contain slashes

I have a small audio file that is a Beep. I copy this audio file and give it the name of a Stream. Then I place this named beep just above the stream url in the playlist. I do this for each stream.
So in my main playlist i have something that looks like this :

I know it's been a while, but I am facing the same problem, and though your small wav file trick is clever, I can't use it in my project (i am building modern radios from vintage wooden ones) because the user must be able to add or remove radios streams to the playlist from a mobile app, and can't generate the wav file.

But I noticed something while using MPC on the command line: when I sent mpc play 1 or mpc next commands, the CLI spits out this:

xxx@xxxxxxxx:~ $ mpc play
FIP Radio Bordeaux
[playing] #1/23 0:00/0:00 (0%)
volume:100% repeat: off random: off single: off consume: off

As you can see, "FIP Radio Bordeaux" is the name of the stream, that is the #EXTINF tag in the stream playlist.
The thing is, sometimes MPC print out this #EXTINF tag, sometimes it doesn't.
If MPC client can receive those tags from MPD, obviously there is some MPD support for them. I am going to fill an issue on Github (MPD code is now hosted on Github) and we'll see !