Moode Audio Player for Raspberry Pi

Random thoughts

Hi, Tim.

1. I haven't burned r26 (final) to uSD cards yet because I'm trying to figure out why both my RPi2B and my RPi3B suffered a segfault in mpd.service in the last day while running r26-tr7. The immediate symptom is what you would expect; most of the information displayed in the Browse/Library/Playback windows disappears.

They have different make/model power supplies rated at 2a and 2.5a. They have different audio devices (USB and HiFiBerry DAC+).

Both were running on class 10 8GB uSDHC cards. One is a SanDisk Ultra and the other a PNY, so I'm dubious it's a card-specific problem. I don't know what I'm doing that would corrupt the file system. I'm off to buy new ones just in case, but there are also some well-known utilities out there specifically for (re)formatting uSD cards which I'll try before using the old ones again.

Other than mpd.service's segv and process exit reported to daemon.log/syslog, there doesn't seem to be any useful log activity. While it's now happened to me three times, it happens so seldomly that turning on verbose logging in mpd to see if it's happening in the same code segment seems a poor strategy. Still, that's better than nothing.

2. The recent discussion about turning on resampling reminded me that I don't know much about the internal workings of either my audio devices or mpd.

Is there a compilation somewhere of the basic characteristics of the available RPi-compatible audio devices and their drivers? The vendors' websites are a cloudy crystal ball when it come to locating hard data. Take, for example, my HiFiBerry DAC+ and jyeatman's HiFiBerry Amp+. Looking at the HiFiBerry descriptions of these two products, I would not have predicted that I could play the aac stream from Zen FM via my HiFiBerry DAC+ without resampling, but jyeatman couldn't play if via his HiFiBerry Amp+ unless he did resample.

Is there a good reference for mpd and its parameters? The old mpd wiki is now deprecated in favor of www.musicpd.org, which I find less than helpful as a pedagogical resource (same problem with this forum, actually). I've done some web searching, admittedly not thoroughly, which hasn't turned up what I would consider the "missing manual".

Regards,
Kent

PS - Dropbox reports "This account's links are generating too much traffic and have been temporarily disabled!" It's heartwarming to see you have that much demand!
 
Great release!

I have some questions:

1) I've got some multidisc classics compilation with 50+ CD's in each, can I sort albums in library by name? At the moment I have:

CD 1 "Title"
CD 10 "Title"
CD 11 "Title"

And it must be like:

CD 1 "Title"
CD 2 "Title"
CD 3 "Title"

2)Can I use Album Artist tag instead of Artist to hide artist from compilations?

Thank you!
 
Great release!

I have some questions:

1) I've got some multidisc classics compilation with 50+ CD's in each, can I sort albums in library by name? At the moment I have:

CD 1 "Title"
CD 10 "Title"
CD 11 "Title"

And it must be like:

CD 1 "Title"
CD 2 "Title"
CD 3 "Title"

2)Can I use Album Artist tag instead of Artist to hide artist from compilations?

Thank you!

What you are experiencing in 1) is the age-old problem of sorting by lexical vs numerical order (you can look it up via your favorite search engine). Having mixed alphanumerics as you have just adds to the problem. The quick solution is for you to rename your albums in lexical order, e.g., CD 01 xxx, cd 03 xxx, ,,, CD 10 xxx, CD11 xxx, so they appear in the order you expect.

If you do a little Web searching, you'll find there is a continual debate about how to name music directories and files. I doubt everyone will ever agree on the "right" way, which means writing a sorting routine that can accommodate everyone's taste is nigh on to impossible. Basically, computers still can't figure out their users' intentions.

Meanwhile, enjoy the goodness of Moode Player!

Regards,
Kent
 
Hi, Tim.

1. I haven't burned r26 (final) to uSD cards yet because I'm trying to figure out why both my RPi2B and my RPi3B suffered a segfault in mpd.service in the last day while running r26-tr7. The immediate symptom is what you would expect; most of the information displayed in the Browse/Library/Playback windows disappears.

They have different make/model power supplies rated at 2a and 2.5a. They have different audio devices (USB and HiFiBerry DAC+).

Both were running on class 10 8GB uSDHC cards. One is a SanDisk Ultra and the other a PNY, so I'm dubious it's a card-specific problem. I don't know what I'm doing that would corrupt the file system. I'm off to buy new ones just in case, but there are also some well-known utilities out there specifically for (re)formatting uSD cards which I'll try before using the old ones again.

Other than mpd.service's segv and process exit reported to daemon.log/syslog, there doesn't seem to be any useful log activity. While it's now happened to me three times, it happens so seldomly that turning on verbose logging in mpd to see if it's happening in the same code segment seems a poor strategy. Still, that's better than nothing.

2. The recent discussion about turning on resampling reminded me that I don't know much about the internal workings of either my audio devices or mpd.

Is there a compilation somewhere of the basic characteristics of the available RPi-compatible audio devices and their drivers? The vendors' websites are a cloudy crystal ball when it come to locating hard data. Take, for example, my HiFiBerry DAC+ and jyeatman's HiFiBerry Amp+. Looking at the HiFiBerry descriptions of these two products, I would not have predicted that I could play the aac stream from Zen FM via my HiFiBerry DAC+ without resampling, but jyeatman couldn't play if via his HiFiBerry Amp+ unless he did resample.

Is there a good reference for mpd and its parameters? The old mpd wiki is now deprecated in favor of www.musicpd.org, which I find less than helpful as a pedagogical resource (same problem with this forum, actually). I've done some web searching, admittedly not thoroughly, which hasn't turned up what I would consider the "missing manual".

Regards,
Kent

PS - Dropbox reports "This account's links are generating too much traffic and have been temporarily disabled!" It's heartwarming to see you have that much demand!

Hi Kent,

#1 Could be caused by bug in MPD or one of its libs. I just ran the following on my test systems and one of them showed the following:

pi@rp3:~ $ cat /var/log/syslog | grep 'SEGV'
Jun 2 13:04:17 rp3 systemd[1]: mpd.service: main process exited, code=killed, status=11/SEGV

I could include mpd in watchdog. This would provide automatic restart if it ever crashed. A record of the restart would b written to moode.log. This would eliminate the need to hard-reboot or ssh in to restart mpd. Send me email and I'll get u a test version of watchdog to try out.

#2 Documentation in this space can be a challenge. Sometimes its really great and other times its just the source code with a few comments.

I've add SourceForge to the list of download sites :)

-Tim
 
Great release!

I have some questions:

1) I've got some multidisc classics compilation with 50+ CD's in each, can I sort albums in library by name? At the moment I have:

CD 1 "Title"
CD 10 "Title"
CD 11 "Title"

And it must be like:

CD 1 "Title"
CD 2 "Title"
CD 3 "Title"

2)Can I use Album Artist tag instead of Artist to hide artist from compilations?

Thank you!

Hi Alexey,

The Library panel only uses Genre, Artist and Album tags and sorts them lexically as Kent mentioned. Artist and Album sort also ignore articles "a, and, the" so for example an album named "The Beatles" sorts into the B's instead of the T's.

Compilation albums are handled by creating a virtual album internally that shows up in the Library panel as "AlbumName, Various Artists". These virtual albums are created by iterating through the album tag array and rolling up multiple occurrences of an album into a single occurrence.

-Tim
 
Hi Kent,

#1 Could be caused by bug in MPD or one of its libs. I just ran the following on my test systems and one of them showed the following:

pi@rp3:~ $ cat /var/log/syslog | grep 'SEGV'
Jun 2 13:04:17 rp3 systemd[1]: mpd.service: main process exited, code=killed, status=11/SEGV

I could include mpd in watchdog. This would provide automatic restart if it ever crashed. A record of the restart would b written to moode.log. This would eliminate the need to hard-reboot or ssh in to restart mpd. Send me email and I'll get u a test version of watchdog to try out.

#2 Documentation in this space can be a challenge. Sometimes its really great and other times its just the source code with a few comments.

I've add SourceForge to the list of download sites :)

-Tim

Thanks for confirming you have found a segv event too, Tim. I was beginning to believe I live in the twilight zone. Including mpd in your watchdog is kind of a brute-force solution but effective. Email coming.

As for #2, I was asking about mpd itself. My parenthetical remark about this forum was a shot at the transactional nature of forums, nothing more. For Moode Player, I'm thinking I should be like Tom Sawyer whitewashing the fence and start a FAQ by culling past posts to this forum. It would necessarily be spotty in coverage (not to mention possibly, er, probably wrong in places) but maybe it would spur others to flesh it out with their expertise and experience. "Many hands make light work" was one of my grandmother's favorite sayings.

Regards,
Kent
 
Thanks for confirming you have found a segv event too, Tim. I was beginning to believe I live in the twilight zone. Including mpd in your watchdog is kind of a brute-force solution but effective. Email coming.

As for #2, I was asking about mpd itself. My parenthetical remark about this forum was a shot at the transactional nature of forums, nothing more. For Moode Player, I'm thinking I should be like Tom Sawyer whitewashing the fence and start a FAQ by culling past posts to this forum. It would necessarily be spotty in coverage (not to mention possibly, er, probably wrong in places) but maybe it would spur others to flesh it out with their expertise and experience. "Many hands make light work" was one of my grandmother's favorite sayings.

Regards,
Kent

This sounds like a very good idea. As a relative noob to MPD, RPI and Moode the apparent lack of a comprehensive document source was a little challenging. Having had previous experience in the FOSS world, I knew that it was not necessarily a reflection of the quality of the project.

That being said, what got me hooked on Moode vs it's competitors is the very active community and interactive developer. Having almost instant feedback from both Tim and the community is a great asset. A unified or conventional documentation presence (FAQ, wiki etc,..) would be the icing on the cake.
 
Member
Joined 2016
Paid Member
Hi, Tim.

1. I haven't burned r26 (final) to uSD cards yet because I'm trying to figure out why both my RPi2B and my RPi3B suffered a segfault in mpd.service in the last day while running r26-tr7. The immediate symptom is what you would expect; most of the information displayed in the Browse/Library/Playback windows disappears.

They have different make/model power supplies rated at 2a and 2.5a. They have different audio devices (USB and HiFiBerry DAC+).

Both were running on class 10 8GB uSDHC cards. One is a SanDisk Ultra and the other a PNY, so I'm dubious it's a card-specific problem. I don't know what I'm doing that would corrupt the file system. I'm off to buy new ones just in case, but there are also some well-known utilities out there specifically for (re)formatting uSD cards which I'll try before using the old ones again.

Other than mpd.service's segv and process exit reported to daemon.log/syslog, there doesn't seem to be any useful log activity. While it's now happened to me three times, it happens so seldomly that turning on verbose logging in mpd to see if it's happening in the same code segment seems a poor strategy. Still, that's better than nothing.
!

Quick report : same problem here with a device that has never experienced any issue in the last months with 2.5. WOrked nicely yesterday evening until I clicked "pause play", and when I wanted to listen to music this morning I got the half broken GUI and these entries in /var/log/syslog :

Code:
Jun  9 07:50:06 moodeplus systemd[1]: mpd.service: main process exited, code=killed, status=11/SEGV
Jun  9 07:50:06 moodeplus systemd[1]: Unit mpd.service entered failed state.


Thanks for the otherwise very good software !
Charles
 
Quick report : same problem here with a device that has never experienced any issue in the last months with 2.5. WOrked nicely yesterday evening until I clicked "pause play", and when I wanted to listen to music this morning I got the half broken GUI and these entries in /var/log/syslog :

Code:
Jun  9 07:50:06 moodeplus systemd[1]: mpd.service: main process exited, code=killed, status=11/SEGV
Jun  9 07:50:06 moodeplus systemd[1]: Unit mpd.service entered failed state.


Thanks for the otherwise very good software !
Charles

Was that pausing a stream or pausing playing an mp3 (or similar)?

I've seen mpd crash when I'd left moode overnight on pause, but I do run podget and mpc update via cron
 
TheOldPresbyope, thank you! Solution works like charm.

Tim, i've mentioned situation when there is an album of Diana Krall for example, but in some tracks there is featured artist, so in library I see not only Diana Krall, but this artist too with one track inside. MPDroid allows to choose tag for using - artist or album artist, so in this case library looks clean and tidy, i see only Diana Krall =) Maybe there is a way do the same in Moode?
 
SDCard folder access from Windows

Hi Tim,
I just installed 2.6.
Lots improvements from 2.5 !
One thing I got into trouble is accessing SDCard folder from Windows PC.
When I click SDCard, it goes to SDCard endlessly.
See the screen capture.
 

Attachments

  • Untitled.png
    Untitled.png
    50 KB · Views: 266
Quick report : same problem here with a device that has never experienced any issue in the last months with 2.5. WOrked nicely yesterday evening until I clicked "pause play", and when I wanted to listen to music this morning I got the half broken GUI and these entries in /var/log/syslog :

Code:
Jun  9 07:50:06 moodeplus systemd[1]: mpd.service: main process exited, code=killed, status=11/SEGV
Jun  9 07:50:06 moodeplus systemd[1]: Unit mpd.service entered failed state.


Thanks for the otherwise very good software !
Charles

Was that pausing a stream or pausing playing an mp3 (or similar)?

I've seen mpd crash when I'd left moode overnight on pause, but I do run podget and mpc update via cron

Hi Tim,
I just installed 2.6.
Lots improvements from 2.5 !
One thing I got into trouble is accessing SDCard folder from Windows PC.
When I click SDCard, it goes to SDCard endlessly.
See the screen capture.

I thought I posted a reply but it doesn't appear(if duplicate, pls ignore)
I removed the symlink in SDCARD folder. SDCARD -> /mnt/SDCARD
/mnt/NAS behaves similarly.

Hi,

These are bugs which I'm planning to release fixes for as a downloadable patch file for in-place updating :)

BUG #1: MPD SEGV when Player left idle for long period of time typically overnight. Frequency of this occurring is rare. Cause unknown but suspect bug in either MPD or systemd.
FIX: MPD added to watchdog monitor, watchdog started from worker instead of rc.local. This will ensure that MPD is automatically restarted of it ever crashes thus eliminating the need for hard reboot or ssh.

BUG #2: circular symlinks being established for /mnt/NAS and /mnt/SDCARD. Caused by code in worker.php plus different behavior of new moodeOS.
FIX: circular symlinks removed from /mnt/NAS and /mnt/SDCARD, code removed from worker.php

Regards,
Tim