Moode Audio Player for Raspberry Pi

Hi,

Is the System config screen in moOde. Its same screen where you turn on the Local UI feature.

Menu, Configure, System

-Tim


Hm, that is what I checked at first. Screen blank is set to 'never'.
That's why I am looking for alternative way like xset :)
 

Attachments

  • Screenshot_20171206-012337.jpg
    Screenshot_20171206-012337.jpg
    96.7 KB · Views: 320
Hi,

NAS mount only happens if a NAS config is created via the Sources screen.

Maybe the symlinks are messed up. Unplug all USB drives from the Pi then run the cmds below and you should get same results as mine.

pi@moode:~ $ ls -l /var/lib/mpd/music
total 12
lrwxrwxrwx 1 root root 8 Dec 4 23:39 NAS -> /mnt/NAS
drwxrwxrwx 2 root root 12288 Dec 4 23:39 RADIO
lrwxrwxrwx 1 root root 11 Dec 4 23:39 SDCARD -> /mnt/SDCARD
lrwxrwxrwx 1 root root 6 Dec 4 23:39 USB -> /media

pi@moode:~ $ ls -l /mnt
total 12
drwxr-xr-x 2 root root 4096 Dec 4 23:39 NAS
drwxr-xr-x 3 root root 4096 Dec 4 23:39 SDCARD
drwxr-xr-x 2 root root 4096 Dec 4 23:39 UPNP
pi@moode:~ $

USB drives are auto-mounted by their disk label to /media directory so this should be empty if no USB drives plugged in

pi@moode:~ $ ls -l /media
total 0

You can also check the Source sql table to make sure its empty, since you mentioned there are no NAS configs.

pi@moode:~ $ sqlite3 /var/local/www/db/moode-sqlite3.db "select * from cfg_source"
pi@moode:~ $

If there were actually a NAS config the moode log would print an entry indicating whether the NAS mount existed

pi@rp3:~ $ cat /var/log/moode.log | grep NAS
20171204 200525 worker: NAS sources (mountall initiated)

-Tim

Solved! It was a symlinks issue, as Tim supposed, so blame it on my stupid mistakes. During the setup, I omited :
Code:
sudo ln -s /media /var/lib/mpd/music/USB
As for "nat", I typed it lowercase in:

Code:
sudo ln -s /mnt/NAS /var/lib/mpd/music/NAS
So now I'm enjoying Bach on my new Moode Player!:)

Thanks again to everyone on their time, and especially to Tim for a mindblowing product!
 
Moode vs Volumio

Just because I was building it for a friend who is computer illiterate, I built a system using a spare Hifiberry Amp I had around and used Volumio instead of Moode.

The verdict is in - Moode kicks Volumio’s voluminous ***!

:)

Which isn’t to say there aren’t some things about Volumio I really like - it’s a revelation compared t9 the last time I used it, about four years ago, but technically Moode is just better.

I will spend more time on Volumio and see if I can pinpoint some of the features I like for possible future improvements in the Moode ui.

I will migrate him when the bugs are worked out of the build process.

I a MA'er but have taken a peek at Volumio just to see what it is all about. Couple of features I found on Volumio that are great. I am not trying to say these are a must have for MoOde, just wanted share my thoughts.

1. Radio search by country
2. Audirvana Plus allows me to select audio devices and Volumio is an option
:)
 
Hm, that is what I checked at first. Screen blank is set to 'never'.
That's why I am looking for alternative way like xset :)

Tim and @horsesam

Tim, when "never" is chosen in moOde, the variable scnblank is set to 600000 (seconds) which is about 166hr. Where did that value come from? It seems safe enough, although it would seem the same problem will show up in about 7 days if the Xserver isn't restarted in the meantime.

However, from an answer I found buried in the discussion of power on display via ssh
Alternately, you could just set the timeout value; it seems to have a maximum of 20864 (a little under 6 hours)

I don't know the basis for that statement but maybe values greater than 20864 are ignored? Candidly, I don't relish digging through X11 source code to find out.

@horsesam, what happens if you choose "1 Hour" for the screen blank interval?

Also, your listing of /boot/config.txt file contains the line
Code:
hdmo_mode=57
That's not a legitimate parameter. Was this just a transcription error or is it a typo in the file itself?

Regards,
Kent
 
“MoOde home” button?

I have my music in Folders with the structure USB/Non Classical/Pink Floyd/Animals/FLAC 16 44 Remaster 2011/01. Track.flac

That means I have to tap several times to get to the album I want to listen. To go back to the root of the tree, I need to tap again several times on the “back” button.

I remember a conversation some time ago in this thread talking about an eventual “home” button. Is there a way to go back to the root of the tree? If not, it could be added to the GUI. Especially because there is no “reload” button in the local UI.
 
Tim and @horsesam

Tim, when "never" is chosen in moOde, the variable scnblank is set to 600000 (seconds) which is about 166hr. Where did that value come from? It seems safe enough, although it would seem the same problem will show up in about 7 days if the Xserver isn't restarted in the meantime.

However, from an answer I found buried in the discussion of power on display via ssh


I don't know the basis for that statement but maybe values greater than 20864 are ignored? Candidly, I don't relish digging through X11 source code to find out.

@horsesam, what happens if you choose "1 Hour" for the screen blank interval?

Also, your listing of /boot/config.txt file contains the line
Code:
hdmo_mode=57
That's not a legitimate parameter. Was this just a transcription error or is it a typo in the file itself?

Regards,
Kent

Hi Kent,

Might be that different settings are needed in .xinitrc

xset s off # don't activate screensaver
xset -dpms # disable DPMS (Energy Star) features.
xset s noblank # don't blank the video device

Currently I'm using the default settings below and they appeared to work on my 7" touch and 24" monitor. I'm not sure if the &'s are needed or whether they might be causing issue.

# turn off display power management
xset -dpms &

# turn on screensaver (default = 10 mins)
xset s 600 &
 
Hi,

No need to test any further. There is definitely some breakage caused by the latest 1020 build of squeezelite. See below where it faults on the -D option while the 999 build does not.

The -D and -R E options don't even appear in the 1020 help text :-0

-Tim

Code:
pi@rp3:~ $ sudo cp /mnt/moode/components/squeezelite/_archive/squeezelite-1.8.7-999-armv7l ./
pi@rp3:~ $ sudo ./squeezelite-1.8.7-999-armv7l -n RP2 -o "hw:0,0" -a 80:4::1 -b 40000:100000 -p 45 -c flac,pcm,mp3,ogg,aac,alac,dsd -W -D 500 -R E

no errors

pi@rp3:~ $ sudo cp /usr/local/bin/squeezelite-armv7l ./squeezelite-1.8.7-1020-armv7l
pi@rp3:~ $ sudo ./squeezelite-1.8.7-1020-armv7l -n RP2 -o "hw:0,0" -a 80:4::1 -b 40000:100000 -p 45 -c flac,pcm,mp3,ogg,aac,alac,dsd -W -D 500 -R E

Option error: -D

Almost relieved! My Linux skills don't really extend to building my own image, and I don't seem to be able to get in by SSH from my Mac (I use Mac OSX for my personal stuff, but windows, and some Linux, at work) - so I have to trek to the office - all 13 meters, in the cold... to run the tests. Will I be able to get my hands on an img with working squeezelite any time soon? I want to test the sync with the rest of my Squeezebox systems in advance of getting my Lakewest hardware, so I'm happy to wait...
 
Almost relieved! My Linux skills don't really extend to building my own image, and I don't seem to be able to get in by SSH from my Mac (I use Mac OSX for my personal stuff, but windows, and some Linux, at work) - so I have to trek to the office - all 13 meters, in the cold... to run the tests. Will I be able to get my hands on an img with working squeezelite any time soon? I want to test the sync with the rest of my Squeezebox systems in advance of getting my Lakewest hardware, so I'm happy to wait...

Don't have any Macs myself but AFAIK, your intrepid moOde developer uses Macs pretty much exclusively so I'm sure the built-in Terminal application works (see for example How do I use SSH and SFTP on Mac OS X? | Academic Computing and Communications Center. What is happening when you try?

Oh, and the automated script is r*e*a*l*l*y close to release. It works a treat.

Regards,
Kent
 
Last edited:
I have my music in Folders with the structure USB/Non Classical/Pink Floyd/Animals/FLAC 16 44 Remaster 2011/01. Track.flac

That means I have to tap several times to get to the album I want to listen. To go back to the root of the tree, I need to tap again several times on the “back” button.

I remember a conversation some time ago in this thread talking about an eventual “home” button. Is there a way to go back to the root of the tree? If not, it could be added to the GUI. Especially because there is no “reload” button in the local UI.

Hi,

Either refresh Browser or Menu, Refresh from moOde UI.

-Tim
 
Hi Kent,

Might be that different settings are needed in .xinitrc

xset s off # don't activate screensaver
xset -dpms # disable DPMS (Energy Star) features.
xset s noblank # don't blank the video device

Currently I'm using the default settings below and they appeared to work on my 7" touch and 24" monitor. I'm not sure if the &'s are needed or whether they might be causing issue.

# turn off display power management
xset -dpms &

# turn on screensaver (default = 10 mins)
xset s 600 &

To make the screen not blank I believe the following works:

xset s 0 &

That is the zero seconds means the screen stays on forever.
 
Hi Kent,

Might be that different settings are needed in .xinitrc

xset s off # don't activate screensaver
xset -dpms # disable DPMS (Energy Star) features.
xset s noblank # don't blank the video device

Currently I'm using the default settings below and they appeared to work on my 7" touch and 24" monitor. I'm not sure if the &'s are needed or whether they might be causing issue.

# turn off display power management
xset -dpms &

# turn on screensaver (default = 10 mins)
xset s 600 &

Hi, Tim.

Unfortunately, I have access only to a DVI monitor with a HDMI adapter. It works fine with my desktop computer but doesn't play well with RPi's so I can't test what raspbian has done with X11. Off the top my head your .xinitrc settings look ok. The ampersands put these commands in the background so they don't cause the script to hang.

X11 can be very fiddly. The only good thing I can say is that it's better now than it was in the heady days of engineering workstations and the concomitant Unix wars. The 11th version is 30 years old this year and we're still waiting for a replacement technology. Wayland has been in development for 9 years. Someday it will be the default for Linux distros and we'll have to relearn how to do what we do.

Regards,
Kent
 
Hi Kent,

Might be that different settings are needed in .xinitrc

xset s off # don't activate screensaver
xset -dpms # disable DPMS (Energy Star) features.
xset s noblank # don't blank the video device

Currently I'm using the default settings below and they appeared to work on my 7" touch and 24" monitor. I'm not sure if the &'s are needed or whether they might be causing issue.

# turn off display power management
xset -dpms &

# turn on screensaver (default = 10 mins)
xset s 600 &

I have found that with the screen blank value set to "never" the screen still does blank, but it does not take as long as 7 days. I think it is closer to 1 day. For what it is worth.
 
@horsesam, what happens if you choose "1 Hour" for the screen blank interval?

Also, your listing of /boot/config.txt file contains the line
Code:
hdmo_mode=57
That's not a legitimate parameter. Was this just a transcription error or is it a typo in the file itself?

Regards,
Kent


Good point! That's just a typo, and fixed /boot/config.txt :)
not affected to any result so far.

Thank you!!
 
To make the screen not blank I believe the following works:

xset s 0 &

That is the zero seconds means the screen stays on forever.

Hi, Tim.

Unfortunately, I have access only to a DVI monitor with a HDMI adapter. It works fine with my desktop computer but doesn't play well with RPi's so I can't test what raspbian has done with X11. Off the top my head your .xinitrc settings look ok. The ampersands put these commands in the background so they don't cause the script to hang.

X11 can be very fiddly. The only good thing I can say is that it's better now than it was in the heady days of engineering workstations and the concomitant Unix wars. The 11th version is 30 years old this year and we're still waiting for a replacement technology. Wayland has been in development for 9 years. Someday it will be the default for Linux distros and we'll have to relearn how to do what we do.

Regards,
Kent

I have found that with the screen blank value set to "never" the screen still does blank, but it does not take as long as 7 days. I think it is closer to 1 day. For what it is worth.

Hi,

After testing it looks like setting below works.

xset s off

I'm not sure if "xset s noblank" is also needed.

-Tim
 
Tim and @horsesam

@horsesam, what happens if you choose "1 Hour" for the screen blank interval?

Kent


I just found when I change webUI > system config > Local Display > Screen blank option, it changes .xinitrc.

and, tried "1 hour". However, the display turned off after 10 minutes.

Also, i tried
Code:
 xset s 0
but it's same.

My display always disappear after 10 minutes.

I hope there's a thing which keeps virtually moving mouse cursor 1 pixel every minute so that it doesn't go into dark screen. :)

Thank you
 
Hello, Tim.

Can you share your whole .xnitrc ??
I just wanna try yours

Thank you.

Hi,

Sure. See below for files with default settings.

Code:
pi@rp2:~ $ cat ./.xinitrc 
#!/bin/bash
#
# moOde audio player (C) 2014 Tim Curtis
# [url=http://moodeaudio.org]moodeaudio.org[/url]
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# 2017-11-26 TC moOde 4.0
#

# Turn off display power management
xset -dpms
# Screensaver timeout in secs or 'off' for no timeout
xset s 600

# launch chrome browser
SCREENSIZE="$(fbset -s | awk '$1 == "geometry" { print $2","$3 }')"
chromium-browser --kiosk --touch-events --disable-touch-drag-drop --disable-overlay-scrollbar \
--enable-touchview --enable-pinch --window-size=$SCREENSIZE --window-position=0,0 \
--disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost/ 
pi@rp2:~ $
pi@rp2:~ $ cat /lib/systemd/system/localui.service
#!/bin/bash
#
# moOde audio player (C) 2014 Tim Curtis
# [url=http://moodeaudio.org]moodeaudio.org[/url]
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# 2017-11-26 TC moOde 4.0
#

[Unit]
Description=Start Chromium Browser
After=nginx.service php7.0-fpm.service mpd.service

[Service]
Type=simple

# start xserver
ExecStart=/usr/bin/xinit

User=pi

[Install]
WantedBy=multi-user.target

pi@rp2:~ $
 
I have my own question about the DSP part in Moode. This seemed a big plus of moode compared to e.g. volumio for me.
However, I didn't get it to work as I needed.
Firstly, it seems to not touch audio which is streamed via airplay. Is there a way to apply DSP in this case?
Secondly, testing with some internet radio, the equalizer seemed to do something - but not what I expected... I design the filters using REW, and applying these filters audio just sounds completely wrong (hardly any bass at all instead of just curing my two room modes). Could it be that there are different definitions for example for the Q? Could you point me to some help with this?

Overall, I really like moOde! Thanks a lot to those who make it possible!!

Hi,

The DSP only applies to MPD output. I should probably indicate this on the Audio config screen to avoid confusion. Thanks for pointing that out :)

I don't think REW output params will work correctly in the Parametric EQ. Aren't they designed for something like BruitFIR convolution filters?

Airplay does in fact support its own DSP but I have not explored that yet. Have a look at
/usr/local/etc/shairport-sync.conf

-Tim