Using Andy’s tutorial: andypi.co.uk/?p=334 I am able to get the Pi to display all relevant info on my 20x4 LCD (By changing the config file to 20x4). However, as he states there is an unknown issue with tags, “There is a known issue with mpdlcd crashing when playing certain files – these have been idetified as those whose ID3 tags have been edited with JRiver and have extra, non-standard / duplicated tags. If mpdlcd crashes but the rest of the system is working – use a different editor to clean up your tags.”
I am using Mp3tag to edit tags, and have Title, Artist, Album, Year, Track and Genre. There is also Album artwork. .flac file. The first track in the album plays fine and displays all the info on the LCD, however when changing to the next track, mpdlcd crashes and just displays LCDproc screen until i reboot the Pi.
It seems to be due to certain symbols in the tags, not so much what tag editor you use. The symbols I’ve discovered causing it to crash so far are:
" ’ ë ← Understandable
Just about anything other than (, ), [, ], &. .
Hi !
I’ve got the same problem. But by waiting to retag all songs, I wrote a script that check every 10 seconds if mpdlcd is alive and if no, relaunch it.It avoid to reboot the system each time it hangs… Of course, as long as your are on a song with “forbiden” caracters, mpdlcd will hang every 10 sec…My script alsa display IP adress before mpd start, so if you don’t want this feature, just adpt it! . You’ll found it in this thread : second-rpi-volumio-project-t2680.html in the zip file use monip.py
Thanks for your script balbuze. I’ve been working on re-tagging problem files and so far its drastically improved, but with a library in the 100’s of gigabytes It’s almost certain I’ll miss more than a couple.
One question, I see your using mpdlcd in your script, have you followed the same tutorial as AndyPi’s? or are there other scripts to be installed? I have some what modified AndyPi’s code to display what I want to show on the 20x4 LCD (and have a static IP so don’t really need the IP), but am still interested in your script script that restarts if it crashes.
Can I use your while loop and remove the following lines:
tn.write(“widget_set G 1 "VOL-PI-AMP"\n”);
tn.write(“widget_set G 2 1 2 "IP: %s" \n” % (ip_addr));
tn.write(“screen_del G\n”);
And have the the script check and restart mpdlcd if it crashes?