Moode Audio Player for Raspberry Pi

PiB does not start automatically as advertised... but once logged in over ssh it does...42 minutes later and it says completed but on reboot and attempts to load webpage all I get is....

@DRONE7


I saw the same default nginx page for quite a while during installation before it switched to the moOde page. I did not follow progress with an HDMI connection or via ssh so I didn't see the "completed" message you refer to. Sadly, I don't see any useful log files in /var/log, a feature I'm going to ask for.

Do you see the moOde trees at /var/www and /var/local/www? Is mpd installed (try 'which mpd')? If installed, is mpd running (try 'ps ax | grep mpd')?

I donated my older RPis to the engineering club at the local high school but I can try the install on an RPi0W which is also arm6 and 512MB RAM.

Regards,
Kent
 
Hi~

Thanks a lot and I build the Moode Audio Beta9 image successfully, then I back up SD Card with "dd" and use this script:

GitHub - Drewsif/PiShrink: Make your pi images smaller!

Cut the image from 16g to 2.4g,now it is 918m after compressing.

If you don't want spend time to build the newest image, you can try mine. I am sure that my image have NO EXTERA THINGS .

MoodeAudio-4.0-Beta9_20171116.zip - Google Drive

(Sorry that my poor English)

@sun1215009714

This is a nifty script to know about. Thanks for pointing it out. I was getting along with dd and the same truncation trick Tim uses but I like the more thorough nature of this script.

Regards,
Kent
 



Hi Tim, here are some updated instructions leaving off the initial instructions to set up a sdcard.

Step 1 - Install software

sudo apt update
sudo apt install xinit xorg lsb-release xserver-xorg-legacy chromium-browser libgtk-3-0
sudo sed -i "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

Step 2 - Create a .xinitrc file

sudo nano /home/pi/.xinitrc

Add the following to the file and save it

#!/bin/bash

# turn off display power management
xset -dpms &

# turn on a 10 minute screensaver
xset s 600 &

# start chromium browser
chromium-browser --kiosk --touch-events --disable-touch-drag-drop --disable-overlay-scrollbar --enable-touchview --enable-pinch --window-size=800,480 --window-position=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost/

Step 3 - Create a start-gui.sh file

sudo nano /home/pi/start-gui.sh

Add the following to the file and save it. Note if not using a touchscreen add the nocursor option after the install is finished as it will hide the cursor which will prevent using a mouse.

#!/bin/bash
/usr/bin/xinit -- -nocursor

Make executable by running the following

sudo chmod +x /home/pi/start-gui.sh

Step 4 - Create a service

sudo nano /lib/systemd/system/start-gui.service

Add the following to the file and save it

[Unit]
Description=Start Chromium GUI
After=nginx.service php5-fpm.service mpd.service

[Service]
Type=simple
ExecStart=/home/pi/start-gui.sh
User=pi

[Install]
WantedBy=multi-user.target

Step 5 - Start the service

sudo systemctl enable start-gui.service
sudo systemctl start start-gui.service

Step 6 - Modify the look of the interface

Go to advance settings and reduce the zoom to 75%

Press Ctrl tab on a keyboard connected to the Raspberry pi

Go to Chrome extensions (chome://extensions) and install the virtual keyboard extension

Next hide the scrollbar by enabling the following option

chrome://flags/#overlay-scrollbars
 
Last edited:
Hi Tim, here are some updated instructions leaving off the initial instructions to set up a sdcard.



Step 1 - Install software



sudo apt update

sudo apt install xinit xorg lsb-release xserver-xorg-legacy chromium-browser libgtk-3-0

sudo sed -i "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config



Step 2 - Create a .xinitrc file



sudo nano /home/pi/.xinitrc



Add the following to the file and save it



#!/bin/bash



# turn off display power management

xset -dpms &



# turn on a 10 minute screensaver

xset s 600 &



# start chromium browser

chromium-browser --kiosk --touch-events --disable-touch-drag-drop --disable-overlay-scrollbar --enable-touchview --enable-pinch --window-size=800,480 --window-position=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost/



Step 3 - Create a start-gui.sh file



sudo nano /home/pi/start-gui.sh



Add the following to the file and save it. Note if not using a touchscreen add the nocursor option after the install is finished as it will hide the cursor which will prevent using a mouse.



#!/bin/bash

/usr/bin/xinit -- -nocursor



Make executable by running the following



sudo chmod +x /home/pi/start-gui.sh



Step 4 - Create a service



sudo nano /lib/systemd/system/start-gui.service



Add the following to the file and save it



[Unit]

Description=Start Chromium GUI

After=nginx.service php5-fpm.service mpd.service



[Service]

Type=simple

ExecStart=/home/pi/start-gui.sh

User=pi



[Install]

WantedBy=multi-user.target



Step 5 - Start the service



sudo systemctl enable start-gui.service

sudo systemctl start start-gui.service



Step 6 - Modify the look of the interface



Go to advance settings and reduce the zoom to 75%



Press Ctrl tab on a keyboard connected to the Raspberry pi



Go to Chrome extensions (chome://extensions) and install the virtual keyboard extension



Next hide the scrollbar by enabling the following option



chrome://flags/#overlay-scrollbars

@Morias

I successfully followed your recipe last spring to display to an HDMI monitor. I skipped the virtual keyboard extension to Chrome at the time because I wasn't interested. Just clicked around with a mouse since I didn't have a touchscreen to play with.

It's possible to streamline the extension installation process by using the inline installation technique but this still requires an explicit user response (for security reasons).

Looking at the Chrome store, there are three different virtual keyboards offered. Is there one in particular you recommend?

Regards,
Kent
 
@Morias



I successfully followed your recipe last spring to display to an HDMI monitor. I skipped the virtual keyboard extension to Chrome at the time because I wasn't interested. Just clicked around with a mouse since I didn't have a touchscreen to play with.



It's possible to streamline the extension installation process by using the inline installation technique but this still requires an explicit user response (for security reasons).



Looking at the Chrome store, there are three different virtual keyboards offered. Is there one in particular you recommend?



Regards,

Kent



I installed the one by xontab however I don't use it much.

My main use of the touchscreen display is starting and stopping the player or changing radio stations.
 
Hi Tim, here are some updated instructions leaving off the initial instructions to set up a sdcard.

Step 1 - Install software

sudo apt update
sudo apt install xinit xorg lsb-release xserver-xorg-legacy chromium-browser libgtk-3-0
sudo sed -i "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

Step 2 - Create a .xinitrc file

sudo nano /home/pi/.xinitrc

Add the following to the file and save it

#!/bin/bash

# turn off display power management
xset -dpms &

# turn on a 10 minute screensaver
xset s 600 &

# start chromium browser
chromium-browser --kiosk --touch-events --disable-touch-drag-drop --disable-overlay-scrollbar --enable-touchview --enable-pinch --window-size=800,480 --window-position=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost/

Step 3 - Create a start-gui.sh file

sudo nano /home/pi/start-gui.sh

Add the following to the file and save it. Note if not using a touchscreen add the nocursor option after the install is finished as it will hide the cursor which will prevent using a mouse.

#!/bin/bash
/usr/bin/xinit -- -nocursor

Make executable by running the following

sudo chmod +x /home/pi/start-gui.sh

Step 4 - Create a service

sudo nano /lib/systemd/system/start-gui.service

Add the following to the file and save it

[Unit]
Description=Start Chromium GUI
After=nginx.service php5-fpm.service mpd.service

[Service]
Type=simple
ExecStart=/home/pi/start-gui.sh
User=pi

[Install]
WantedBy=multi-user.target

Step 5 - Start the service

sudo systemctl enable start-gui.service
sudo systemctl start start-gui.service

Step 6 - Modify the look of the interface

Go to advance settings and reduce the zoom to 75%

Press Ctrl tab on a keyboard connected to the Raspberry pi

Go to Chrome extensions (chome://extensions) and install the virtual keyboard extension

Next hide the scrollbar by enabling the following option

chrome://flags/#overlay-scrollbars

Thx :)

-Tim
 
@sun1215009714

This is a nifty script to know about. Thanks for pointing it out. I was getting along with dd and the same truncation trick Tim uses but I like the more thorough nature of this script.

Regards,
Kent

Thanks for your reply~

I know this script from this project:

GitHub - thibmaek/awesome-raspberry-pi: 📝 A curated list of awesome Raspberry Pi tools, projects, images and resources

A porject that have lots of OS, projects, tools and resources about RaspberryPi. Hope it can help you ~
 
Are you wanting to install BubbleUPNPServer just for Tidal? If so you no longer need this as UPMPDCLI can do this. Enable UPMPDCLI in the UI and configure the username and password in the optional UPNP bits in the WebUI.

This will then show up as an extra library on your network in bubble control app.

I haven't to test the latest betas due to work and now decorating but this works on Beta 5 which I am using now (or would be if not for painting the HiFi room ahem I mean the 'Dining room' dear.).

The Moode UPNP Media Server this creates can also serve other Raspberry Pi's in your network so you only need to configure this on one Raspberry PI.

The OHOME features of the Bubble Server are also in UMPDCLI , the BubbleUPNP control does not support OHRADIO anyway.


Thank you, Serverbaboon. I sidestepped the issue by going the Squeezeserver route.

Are there any downsides of using Logitech Media Server (on a seprate Pi 2) compared to setting up Tidal using an UPNP server? My impression is that it takes some work off of the streaming RPi3, allows for more configuration and allows for other remote apps than Lumin. I just bought the iPeng App and I am quite impressed.
 
PiB does not start automatically as advertised... but once logged in over ssh it does...42 minutes later and it says completed but on reboot and attempts to load webpage all I get is....
**************************
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

****************************
I had the same, as I mentioned earlier. However I left it running, had a coffee, and went out for a bike ride. 40miles and a lunch stop later Moode 4.0 Beta 9 was available! :)

EDIT: Something is wrong, however. After configuring, it won't reboot.
 
Last edited:
Hi~

Thanks a lot and I build the Moode Audio Beta9 image successfully, then I back up SD Card with "dd" and use this script:

GitHub - Drewsif/PiShrink: Make your pi images smaller!

Cut the image from 16g to 2.4g,now it is 918m after compressing.

If you don't want spend time to build the newest image, you can try mine. I am sure that my image have NO EXTERA THINGS .

MoodeAudio-4.0-Beta9_20171116.zip - Google Drive

(Sorry that my poor English)

I have spent two weeks trying to build myself following the recipe. I would like to give your image a shot. Once I write the image to sd card and insert into the pi how long does it take to before I try to access the MoOde UI?

Very nice of you to offer this gift.:wave2:
 
Hi Tim, here are some updated instructions leaving off the initial instructions to set up a sdcard.

Step 1 - Install software

sudo apt update
sudo apt install xinit xorg lsb-release xserver-xorg-legacy chromium-browser libgtk-3-0
sudo sed -i "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

Step 2 - Create a .xinitrc file

sudo nano /home/pi/.xinitrc

Add the following to the file and save it

#!/bin/bash

# turn off display power management
xset -dpms &

# turn on a 10 minute screensaver
xset s 600 &

# start chromium browser
chromium-browser --kiosk --touch-events --disable-touch-drag-drop --disable-overlay-scrollbar --enable-touchview --enable-pinch --window-size=800,480 --window-position=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost/

Step 3 - Create a start-gui.sh file

sudo nano /home/pi/start-gui.sh

Add the following to the file and save it. Note if not using a touchscreen add the nocursor option after the install is finished as it will hide the cursor which will prevent using a mouse.

#!/bin/bash
/usr/bin/xinit -- -nocursor

Make executable by running the following

sudo chmod +x /home/pi/start-gui.sh

Step 4 - Create a service

sudo nano /lib/systemd/system/start-gui.service

Add the following to the file and save it

[Unit]
Description=Start Chromium GUI
After=nginx.service php5-fpm.service mpd.service

[Service]
Type=simple
ExecStart=/home/pi/start-gui.sh
User=pi

[Install]
WantedBy=multi-user.target

Step 5 - Start the service

sudo systemctl enable start-gui.service
sudo systemctl start start-gui.service

Step 6 - Modify the look of the interface

Go to advance settings and reduce the zoom to 75%

Press Ctrl tab on a keyboard connected to the Raspberry pi

Go to Chrome extensions (chome://extensions) and install the virtual keyboard extension

Next hide the scrollbar by enabling the following option

chrome://flags/#overlay-scrollbars

Hi,

Works perfectly.

I'm testing over HDMI with wireless Kbd and can't figure out how to complete the steps below. Ctrl-tab does not seem to do anything. I think this is supposed to launch another instance of Chrome, correct?

Step 6 - Modify the look of the interface
- Press Ctrl tab on a keyboard connected to the Raspberry pi
- Next hide the scrollbar by enabling the following option
- chrome://flags/#overlay-scrollbars[/QUOTE]

-Tim
 
Hi~

Thanks a lot and I build the Moode Audio Beta9 image successfully, then I back up SD Card with "dd" and use this script:

GitHub - Drewsif/PiShrink: Make your pi images smaller!

Cut the image from 16g to 2.4g,now it is 918m after compressing.

If you don't want spend time to build the newest image, you can try mine. I am sure that my image have NO EXTERA THINGS .

MoodeAudio-4.0-Beta9_20171116.zip - Google Drive

(Sorry that my poor English)
Many thanks for making your image available! I haven't had time to build the latest beta and I'm looking forward to trying your image soon.
 
Is there a way of prioritizing different audio sources in Moode. Say I am listening to something via my LMS and then I want to send Bluetooth audio to the Moode. Currently the Bluetooth audio is ignored by my Moode player.

Hi,

Squeezelite hogs the audio output and blocks until its turned off. There is a Squeezelite setting that can be used to release the output after an idle period but Squeezelite does not provide an event hook that moOde can use to detect this and then restore its own volume setting. Airplay has this feature.

-Tim
 
Thank you, Serverbaboon. I sidestepped the issue by going the Squeezeserver route.

Are there any downsides of using Logitech Media Server (on a seprate Pi 2) compared to setting up Tidal using an UPNP server? My impression is that it takes some work off of the streaming RPi3, allows for more configuration and allows for other remote apps than Lumin. I just bought the iPeng App and I am quite impressed.
UPMPDCLI and it's Tidal/Qobuz does not process the HTTP string so I don't think it's a significant CPU load.. I have never used squeeze so I cannot comment.
 
Hi,

Works perfectly.

I'm testing over HDMI with wireless Kbd and can't figure out how to complete the steps below. Ctrl-tab does not seem to do anything. I think this is supposed to launch another instance of Chrome, correct?

Step 6 - Modify the look of the interface
- Press Ctrl tab on a keyboard connected to the Raspberry pi
- Next hide the scrollbar by enabling the following option
- chrome://flags/#overlay-scrollbars

-Tim[/QUOTE]

Hi @Morias,

I've got this all sorted now and as a bonus I discovered that the Keyboard layout setting in System Config is broken. Bug fixed!

It was Ctrl-t to launch a new Chrome tab in my setup.

Do you know if its possible to launch Chrome and have it default to max screen size instead of having to hardcode it in .xinitrc ??

-Tim
 
@DRONE7


I saw the same default nginx page for quite a while during installation before it switched to the moOde page. I did not follow progress with an HDMI connection or via ssh so I didn't see the "completed" message you refer to. Sadly, I don't see any useful log files in /var/log, a feature I'm going to ask for.

Do you see the moOde trees at /var/www and /var/local/www? Is mpd installed (try 'which mpd')? If installed, is mpd running (try 'ps ax | grep mpd')?

I donated my older RPis to the engineering club at the local high school but I can try the install on an RPi0W which is also arm6 and 512MB RAM.

Regards,
Kent

Hi Kent, thanks for the suggestions !

I couldn't find mpd and on further investigation it appears that dietpi.txt in /boot/dietpi.txt had not been overwritten for the new MoOde installer.

I have redone that and plugged the pi in again. It started activity immediately and all appears to be progressing as per expectations..:D

Trying to ssh in gives this heartening message..
[Info] DietPi is currently installing and configuring your system. Please wait for this to complete, check back later.

and after some time the nginx page has shown up in my browser. Just waiting for it to complete and update as you noted.
 

Hi @Morias,

I've got this all sorted now and as a bonus I discovered that the Keyboard layout setting in System Config is broken. Bug fixed!

It was Ctrl-t to launch a new Chrome tab in my setup.

Do you know if its possible to launch Chrome and have it default to max screen size instead of having to hardcode it in .xinitrc ??

-Tim[/QUOTE]

UPDATE:

Hi again @Morias,

Fullscreen at launch also sorted now :)

-Tim
 
Hi~

Thanks a lot and I build the Moode Audio Beta9 image successfully, then I back up SD Card with "dd" and use this script:

GitHub - Drewsif/PiShrink: Make your pi images smaller!

Cut the image from 16g to 2.4g,now it is 918m after compressing.

If you don't want spend time to build the newest image, you can try mine. I am sure that my image have NO EXTERA THINGS .

MoodeAudio-4.0-Beta9_20171116.zip - Google Drive

(Sorry that my poor English)

Your image file didn't work as expected, because it seems that there is no Ethernet or wi-fi interface configured.
Have you ever tried to burn that particular image into a sd card yourself and what was the result after booting the pi2 ?
I have tried to boot the image using either a rpi2 or a rpi3 without any success.
Am I doing something wrong ? :confused:

The Moode is supposed to be a headless distro !
 
Last edited: