Moode Audio Player for Raspberry Pi

OK guys, now that I have 4.0 working, with an Audiophonics ES9023 DAC TXCO, I want more.... (I'm like a little child... more, more, more...)
I want to connect an SSD to store the music (not gonna stream, I'm gonna use it as a stand alone unit at the office). So, I'd like to connect a 500GB SSD or more to it. But I also want my 7" screen connected to operate Moode 4.0 (B12).
How do I proceed? And I want it all built in in a case like this one:
RaspTouch Black Chassis and Accessories Kit DIY - Audiophonics
(I already have one of these. If you have another case to built this all in, that's fine, just let me know where I can buy it...


Thx,
Johan

I got tired of USB and bought a bunch of these: Raspberry Pi X820 2.5 inch SATA HDD/SSD Storage Expansion Board for Raspberry Pi 1 Model B+/ 2 Model B / 3 Model B-in Demo Board Accessories from Computer & Office on Aliexpress.com | Alibaba Group
 
Hello,
these files are created by a mac when you copy your files on your hard drive or in a compressed folder (by a mac). These files are just "like metadatas" for mac OS and doesn't needed by any OS and moOde take these like audio track because extensions are wav, mp3 or other audio extension.

if you have write access to your hard drive on moode OS (or any Unix / Linux / GNU / POSIX... OS) you can test this command to erase all these files:
Code:
find -type f -name '._*' -delete
good luck

Thanks!! That did the trick. Funny how these hidden files never showed up running MoOde version 3.8 and earlier.
 
Thinking about what Medoc92 said...

When you edited the config file did you use

sudo nano /etc/upmpdcli.conf

and did the file start like the below fragment after editing, including the logging you enabled recently?

(Red is my emphasis :) )

Code:
#
# 2017-12-07 TC moOde 4.0
#

# The XML tags in the comments are used to help produce the documentation
# from the sample/reference file, and not at all at run time, where
# comments are just comments. Edit at will.

# The command line options have higher priorities than the values in
# this file.

# <grouptitle>Upmpdcli general parameters</grouptitle>
friendlyname = Moode UPNP
ohproductroom = Moode UPNP

# <var name="logfilename" type="fn"><brief>Log file
# name.</brief><descr>Defaults to stderr. This can also be specified as -d
# logfilename.</descr></var>
logfilename = /var/log/moodeupnp.log

# <var name="loglevel" type="int" values="0 5 2"><brief>Log
# level.</brief><descr>Can also be specified as -l loglevel.</descr></var>
loglevel = 4

# <var name="checkcontentformat" type="bool" values="1"><brief>Check that
# input format is supported.</brief><descr>Extract the protocolinfo
# information from the input metadata and check it against our supported
# formats. Set this option to 0 if a control point or media server sends
# good audio data with bad metadata.</descr></var>
[COLOR="Red"]checkcontentformat = 0[/COLOR]

@ Serverbaboon
No, then I have edited the wrong file :eek: The one that I have edited was in /var/, not in /etc/. I didn’t know it was in /etc/, sorry!

"checkcontentformat = 0" HELPS! :) Now the files play without problems!

Thanks so much!!

Here is the new log:

Code:
:4:src/ohplaylist.cxx:727::OHPlaylist::idArray
:4:src/ohplaylist.cxx:745::OHPlaylist::idArray (internal)
:4:src/ohplaylist.cxx:748::OHPlaylist::idArray: qvers 2
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: Insert. Params: <?xml version="1.0"?>
<u:Insert xmlns:u="urn:av-openhome-org:service:Playlist:1">
<AfterId>0</AfterId>
<Uri>http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a</Uri>
<Metadata><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
  <item>
    <dc:title xmlns:dc="[url=http://purl.org/dc/elements/1.1/">Mamma]404 Not Found[/url] mia</dc:title>
    <upnp:class xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">object.item.audioItem.musicTrack</upnp:class>
    <upnp:albumArtURI xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a/$!picture-72572-137603.png?connection=close</upnp:albumArtURI>
    <upnp:album xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:album>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:artist>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" role="AlbumArtist">ABBA</upnp:artist>
    <dc:date xmlns:dc="[url=http://purl.org/dc/elements/1.1/">1975-01-01</dc:date>]404 Not Found[/url]
    <upnp:genre xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">Pop</upnp:genre>
    <res sampleFrequency="44100" bitsPerSample="16" bitrate="32000" duration="0:03:33">[url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a</res>[/url]
  </item>
</DIDL-Lite></Metadata>
</u:Insert>

:4:src/ohplaylist.cxx:616::OHPlaylist::insert
:4:src/ohplaylist.cxx:639::OHPlaylist::insert: afterid 0 Uri [url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a[/url] Metadata <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
  <item>
    <dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Mamma mia</dc:title>
    <upnp:class xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">object.item.audioItem.musicTrack</upnp:class>
    <upnp:albumArtURI xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a/$!picture-72572-137603.png?connection=close</upnp:albumArtURI>
    <upnp:album xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:album>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:artist>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" role="AlbumArtist">ABBA</upnp:artist>
    <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">1975-01-01</dc:date>
    <upnp:genre xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">Pop</upnp:genre>
    <res sampleFrequency="44100" bitsPerSample="16" bitrate="32000" duration="0:03:33">http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a</res>
  </item>
</DIDL-Lite>
:3:src/upmpd.cxx:146::checkContentFormat: format check disabled
:4:src/mpdcli.cxx:718::MPDCli::insertAfterId: id 0 uri [url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a[/url]
:4:src/mpdcli.cxx:700::MPDCli::insert at :0 uri [url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a[/url]
:4:src/ohplaylist.cxx:645::OHPlaylist::insert: new id: 1
:4:src/mpdcli.cxx:830::MPDCli::getQueueData
:4:src/mpdcli.cxx:815::MPDCli::getQueueSongs: 1 songs 
:4:src/ohplaylist.cxx:147::OHPlaylist::translateIdArray: current ids: 1 
:4:src/ohplaylist.cxx:235::OHPlaylist::makeIdArray: saving metacache
:4:src/ohmetacache.cxx:127::dmcacheSave: got save task: 1 entries to /var/cache/upmpdcli//metacache
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: SetSourceIndex. Params: <?xml version="1.0"?>
<u:SetSourceIndex xmlns:u="urn:av-openhome-org:service:Product:1">
<Value>0</Value>
</u:SetSourceIndex>
 
Hi @JST1963,

It could be a nice feature and if i get more requests for something like this then I can add to the TODO list.

-Tim

Yes please, I would find this feature useful.

Hi,

Try from the cmd line and see of you can come up with a scheme to create the include/exclude list that could be implemented. Ashuffle can operate in several ways:

1. Entire collection (default)
2. Specific list of song files fed via stdin
3. Excluded tag matches i.e. -e genre Rock -e genre Pop would exclude all song files whose genre tag matched Rock or Pop
4. #2 and #3 together

To experiment, first turn auto-shuffle off in moOde
Then run it from cmd line. Ctrl-c to terminate

ashuffle -e tag value -e tag value ...

-or-

mpc search tag value | ashuffle -f -

mpc search tag value | ashuffle -e tag value -e tag value ... -f -

You can also use mpc find instead of search. Find requires an exact match for value.

-Tim
 
@ Serverbaboon
No, then I have edited the wrong file :eek: The one that I have edited was in /var/, not in /etc/. I didn’t know it was in /etc/, sorry!

"checkcontentformat = 0" HELPS! :) Now the files play without problems!

Thanks so much!!

Here is the new log:

Code:
:4:src/ohplaylist.cxx:727::OHPlaylist::idArray
:4:src/ohplaylist.cxx:745::OHPlaylist::idArray (internal)
:4:src/ohplaylist.cxx:748::OHPlaylist::idArray: qvers 2
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: Insert. Params: <?xml version="1.0"?>
<u:Insert xmlns:u="urn:av-openhome-org:service:Playlist:1">
<AfterId>0</AfterId>
<Uri>http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a</Uri>
<Metadata><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
  <item>
    <dc:title xmlns:dc="[url=http://purl.org/dc/elements/1.1/">Mamma]404 Not Found[/url] mia</dc:title>
    <upnp:class xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">object.item.audioItem.musicTrack</upnp:class>
    <upnp:albumArtURI xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a/$!picture-72572-137603.png?connection=close</upnp:albumArtURI>
    <upnp:album xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:album>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:artist>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" role="AlbumArtist">ABBA</upnp:artist>
    <dc:date xmlns:dc="[url=http://purl.org/dc/elements/1.1/">1975-01-01</dc:date>]404 Not Found[/url]
    <upnp:genre xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">Pop</upnp:genre>
    <res sampleFrequency="44100" bitsPerSample="16" bitrate="32000" duration="0:03:33">[url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a</res>[/url]
  </item>
</DIDL-Lite></Metadata>
</u:Insert>

:4:src/ohplaylist.cxx:616::OHPlaylist::insert
:4:src/ohplaylist.cxx:639::OHPlaylist::insert: afterid 0 Uri [url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a[/url] Metadata <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
  <item>
    <dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Mamma mia</dc:title>
    <upnp:class xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">object.item.audioItem.musicTrack</upnp:class>
    <upnp:albumArtURI xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a/$!picture-72572-137603.png?connection=close</upnp:albumArtURI>
    <upnp:album xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:album>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">ABBA</upnp:artist>
    <upnp:artist xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" role="AlbumArtist">ABBA</upnp:artist>
    <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">1975-01-01</dc:date>
    <upnp:genre xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">Pop</upnp:genre>
    <res sampleFrequency="44100" bitsPerSample="16" bitrate="32000" duration="0:03:33">http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a</res>
  </item>
</DIDL-Lite>
:3:src/upmpd.cxx:146::checkContentFormat: format check disabled
:4:src/mpdcli.cxx:718::MPDCli::insertAfterId: id 0 uri [url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a[/url]
:4:src/mpdcli.cxx:700::MPDCli::insert at :0 uri [url]http://192.168.178.2:9790/minimserver/*/Popmusik/ABBA/*5b1975*5d*20ABBA/Mamma*20mia.m4a[/url]
:4:src/ohplaylist.cxx:645::OHPlaylist::insert: new id: 1
:4:src/mpdcli.cxx:830::MPDCli::getQueueData
:4:src/mpdcli.cxx:815::MPDCli::getQueueSongs: 1 songs 
:4:src/ohplaylist.cxx:147::OHPlaylist::translateIdArray: current ids: 1 
:4:src/ohplaylist.cxx:235::OHPlaylist::makeIdArray: saving metacache
:4:src/ohmetacache.cxx:127::dmcacheSave: got save task: 1 entries to /var/cache/upmpdcli//metacache
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: SetSourceIndex. Params: <?xml version="1.0"?>
<u:SetSourceIndex xmlns:u="urn:av-openhome-org:service:Product:1">
<Value>0</Value>
</u:SetSourceIndex>
No probs I should have put the full path in my original post. Didn't realise until Medoc92 posted.
 
Hi Tim,

I am running Version 4.0 beta 12.
You have done some really great work here.

Where are the production releases usually made available

- Dan

Hi,

At moodeaudio.org via manual or automated builder, same as the Betas. I'm still not sure whether production 4.0 will also be available as an in-place update for the Betas but I'll try my best to make this happen :)

-Tim
 
I have to say I have LOVED moodeaudio. Up until now. I tried multiple SD cards, Tim's script and then Heebos. The best I ever got after many wasted hours was a terribly slow player that won't recognize my USB stick with all of my music. MPD won't even respond now. I used to like that is was so feature reach. Now I fear it has become to bloated. I can't 'Enjoy the music' if it won't read USB stick. I guess I got about 6 months out of my developer contribution. Its just not worth the hassle.
And no, I'm not some wet-behind the ears noob. I used to program in assmbler. But I don't want to spend days on this, its for fun.
 
SO much for 'Enjoy the music'

After about 8 hours of monkeying around with this new version, I'm over it. I have a day job where I have to figure out really hard stuff and they PAY me to do it. Two SD cards, 3 attempts and two different scripts, and the closest I got to a working version was one that was sluggish as an ox and would not run MPD after I plugged in my USB stick with music on it. Not my idea of fun, or a way to enjoy my music. Sorry, I'm moving on. Tim, I guess you get to keep that contribution, I got something for it, just not as much as I had hoped. Good luck with this, I think you are going to need a working bullet proof script, though...
 
Hi,

Some screen shots of Audio output routing for Bluetooth coming in moOde 4 :)

-Tim
 

Attachments

  • tim-r40b13c-out1.png
    tim-r40b13c-out1.png
    180 KB · Views: 290
  • tim-r40b13c-out2.png
    tim-r40b13c-out2.png
    34.2 KB · Views: 291