Moode Audio Player for Raspberry Pi

Can I please give this a bump. Is anyone successfully using Google Music through the UPNP setup?

The song goes on the Moode playlist but doesn't play. In bubble it flashes play for a microsecond then stops.

Thanks Serverbaboon. I think I had everything installed and had configured my password in Moode. Just to be sure I reinstalled Upmpdcli which is item 4 of Component 6 and the gmusicapi (which said it was already installed). I then rebooted my raspberry pi.

That didn't make any difference and it still wouldn't play.

Using BubbleDs I then changed my library from "Moode UPNP-mediaserver" to "Local and Cloud" and configured Google Music in my phone.

It will now play music but I thought I was meant to use the library from Moode not local and cloud.

@Morias

I just got Google Play Music running on a virgin build of moOde.

It took me about 15 minutes to create a Google Play Music subscription, install the google play music interface, enable the moOde UPnP renderer, and pull up a playlist from GPM using BubbleUPnP on my Android tablet. Most of the time was spent in that second step (it's that protracted python build of lxml, required by Mechanical Soup; it should just install the python lxml package instead, as I discovered earlier).

In BubbleUPnP, I have chosen "Moode UPNP" as the renderer and "Moode UPNP mediaserver" as the library. In the BubbleUPnP library panel I'm now offered Gmusic and Tidal folders.

I'm listening to a GPM latin jazz playlist as I type this. The entire playlist displays in the moOde Playback panel (see attached image). The only quirk I saw was a delay in loading the album art.

In the parlance of the Internet, it all "just works" for me. (moOde r40b12, RPi3B, ethernet connection, usb headphones for a quick-n-dirty test).

Regards,
Kent
 

Attachments

  • moOdeGPM.png
    moOdeGPM.png
    302.6 KB · Views: 442
Last edited:
Unfortunately there is no easy way to this, unless we can somehow get the precompiled advanced kernels.

This is what I did, and mind you, this still needs a lot of work as I haven't figured out a number of things yet.

...<I elided a good description>...

Compiling on the Raspi itself is less complicated, but it took me 2 hours or more to finish.
Cross compiling on a Linux installed via virtualbox on a Mac took 40 minutes or so, but the steps are more complicated (also indicated in the Raspi compilation guide)

...

Hope this helps.

Thanks, @goldhorse

You can also try using distcc for the compilation. See, e.g., (raspberry pi | openFrameworks). I used to use it a lot for a Beaglebone Black project I was participating in.

Regards,
Kent
 
Thanks, @goldhorse

You can also try using distcc for the compilation. See, e.g., (raspberry pi | openFrameworks). I used to use it a lot for a Beaglebone Black project I was participating in.

Regards,
Kent

Hi Kent,

Thanks for the tip.
Will check out the guide and give it a spin.

jonners said:
Many thanks @goldhorse. I'm sure this will be very helpful to some, but it's probably beyond my abilities.

Hi @jonners

No worries.

Regards,

goldhorse
 
@Morias

I just got Google Play Music running on a virgin build of moOde.

It took me about 15 minutes to create a Google Play Music subscription, install the google play music interface, enable the moOde UPnP renderer, and pull up a playlist from GPM using BubbleUPnP on my Android tablet. Most of the time was spent in that second step (it's that protracted python build of lxml, required by Mechanical Soup; it should just install the python lxml package instead, as I discovered earlier).

In BubbleUPnP, I have chosen "Moode UPNP" as the renderer and "Moode UPNP mediaserver" as the library. In the BubbleUPnP library panel I'm now offered Gmusic and Tidal folders.

I'm listening to a GPM latin jazz playlist as I type this. The entire playlist displays in the moOde Playback panel (see attached image). The only quirk I saw was a delay in loading the album art.

In the parlance of the Internet, it all "just works" for me. (moOde r40b12, RPi3B, ethernet connection, usb headphones for a quick-n-dirty test).

Regards,
Kent

@Morias
One thing that I was trying to highlight and ask was to make sure you also installed the Tidal plugin as this is a prerequisite for the gmusicapi.

Kent with his wide range of testing he has been doing has the Tidal plugin installed.
 
@Morias
One thing that I was trying to highlight and ask was to make sure you also installed the Tidal plugin as this is a prerequisite for the gmusicapi.

Kent with his wide range of testing he has been doing has the Tidal plugin installed.

Actually ignore my comment above I was getting installing by building mixed up with installing by packages. :eek:

You can enable logging by editing the upmpdcli.conf file.

sudo nano /etc/upmpdcli.conf

uncomment the line

logfilename = /var/log/moodeupnp.log


and change the loglevel to 5 and uncomment.

loglevel = 5


Restart the upmpdcli service or reboot.

Try and play some tracks, the above logfile and syslog should highlight an issue.
 
hey there got beta 12 running and got sound with my soekris dam1021 up to dsd64
dsd128 and dsd256 works same as in volumio there i get an also error in moode it looks like its playing but dont show the bitrate the info just shows dsd will there be more info like the mhz? or something like that :)
is it in gernal possible to sent dsd128 and dsd256 with DoP with moode 4.0 B12?
i have a dop decoder from iancanda which makes real dsd possible with amazing result but at the moment no player can sent dop dsd128

cheers janosch
 
Actually ignore my comment above I was getting installing by building mixed up with installing by packages. :eek:

You can enable logging by editing the upmpdcli.conf file.

sudo nano /etc/upmpdcli.conf

uncomment the line

logfilename = /var/log/moodeupnp.log


and change the loglevel to 5 and uncomment.

loglevel = 5


Restart the upmpdcli service or reboot.

Try and play some tracks, the above logfile and syslog should highlight an issue.

I set up logging, set the renderer as "Moode UPNP" and the Library as "Moode UPNP-mediaserver". Whilst it still refuses to play when the library is set as Moode the log shows the following:

:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: DeleteAll. Params: <?xml version="1.0"?>
<u:DeleteAll xmlns:u="urn:av-openhome-org:service:playlist:1"></u:DeleteAll>

:4:src/ohplaylist.cxx:706::OHPlaylist::deleteAll
:4:src/mpdcli.cxx:752::MPDCli::clearQueue
:4:src/mpdcli.cxx:830::MPDCli::getQueueData
:4:src/mpdcli.cxx:815::MPDCli::getQueueSongs: 0 songs
:4:src/ohplaylist.cxx:147::OHPlaylist::translateIdArray: current ids:
:4:src/ohplaylist.cxx:228::OHPlaylist::makeIdArray: dropping uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=Twx2ua2wyanyrhs4sisdjgcffne
:4:src/ohplaylist.cxx:235::OHPlaylist::makeIdArray: saving metacache
:4:src/ohmetacache.cxx:127::dmcacheSave: got save task: 0 entries to /var/cache/upmpdcli//metacache
: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.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq</Uri>
<Metadata><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="404 Not Found xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="SAMSUNG xmlns:pv="http://www.pv.com/pvns/"><item id="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam$T3vb7lhqv2fbfasrksrdoej7fhq" parentID="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>Pathetic</dc:title><dc:creator>blink-182</dc:creator><upnp:artist>blink-182</upnp:artist><upnp:albumArtURI>Error 404 (Not Found)!!1 Ranch</upnp:album><upnp:eek:riginalTrackNumber>1</upnp:eek:riginalTrackNumber><ownerUdn>2dfea03c-6f8a-b387-b7bd-b827eba099f9-mediaserver</ownerUdn><res protocolInfo="http-get:*:audio/mpeg:* " bitrate="192000" sampleFrequency="44100" nrAudioChannels="2" duration="0:02:28.000">http://192.168.0.119:49149/gmusic/track?version=1&amp;trackId=T3vb7lhqv2fbfasrksrdoej7fhq</res></item></DIDL-Lite></Metadata>
</u:Insert>

:4:src/ohplaylist.cxx:616::OHPlaylist::insert
:4:src/ohplaylist.cxx:639::OHPlaylist::insert: afterid 0 Uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq Metadata <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:pv="http://www.pv.com/pvns/"><item id="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam$T3vb7lhqv2fbfasrksrdoej7fhq" parentID="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>Pathetic</dc:title><dc:creator>blink-182</dc:creator><upnp:artist>blink-182</upnp:artist><upnp:albumArtURI>http://lh3.googleusercontent.com/Koiew8wYjgzHueikNmaFE6z1vCJi46KlsQVSXe_ByS1Mw9ZK-TVcM-i0YucMc1gHQBam-E9v</upnp:albumArtURI><upnp:album>Dude Ranch</upnp:album><upnp:eek:riginalTrackNumber>1</upnp:eek:riginalTrackNumber><ownerUdn>2dfea03c-6f8a-b387-b7bd-b827eba099f9-mediaserver</ownerUdn><res protocolInfo="http-get:*:audio/mpeg:* " bitrate="192000" sampleFrequency="44100" nrAudioChannels="2" duration="0:02:28.000">http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq</res></item></DIDL-Lite>
:4:src/upmpd.cxx:166::checkContentFormat: supported: audio/mpeg
:4:src/mpdcli.cxx:718::MPDCli::insertAfterId: id 0 uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq
:4:src/mpdcli.cxx:700::MPDCli::insert at :0 uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq
:4:src/ohplaylist.cxx:645::OHPlaylist::insert: new id: 93
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: SeekId. Params: <?xml version="1.0"?>
<u:SeekId xmlns:u="urn:av-openhome-org:service:playlist:1">
<Value>93</Value>
</u:SeekId>

:4:src/ohplaylist.cxx:433::OHPlaylist::seekId
:4:src/mpdcli.cxx:578::MPDCli::playId(id=93)
: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: 93
: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: ReadList. Params: <?xml version="1.0"?>
<u:ReadList xmlns:u="urn:av-openhome-org:service:playlist:1">
<IdList>93</IdList>
</u:ReadList>

:4:src/ohplaylist.cxx:548::OHPlaylist::readList: [93]
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: ReadList. Params: <?xml version="1.0"?>
<u:ReadList xmlns:u="urn:av-openhome-org:service:playlist:1">
<IdList>93</IdList>
</u:ReadList>

:4:src/ohplaylist.cxx:548::OHPlaylist::readList: [93]
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: Time. Params: <?xml version="1.0"?>
<u:Time xmlns:u="urn:av-openhome-org:service:Time:1"></u:Time>

:4:src/ohtime.cxx:76::OHTime::eek:htime
 
hey there got beta 12 running and got sound with my soekris dam1021 up to dsd64
dsd128 and dsd256 works same as in volumio there i get an also error in moode it looks like its playing but dont show the bitrate the info just shows dsd will there be more info like the mhz? or something like that :)
is it in gernal possible to sent dsd128 and dsd256 with DoP with moode 4.0 B12?
i have a dop decoder from iancanda which makes real dsd possible with amazing result but at the moment no player can sent dop dsd128

cheers janosch

Hi @janosch,

Email tim at moodeaudio dot org and I'll help troubleshoot :)

-Tim
 
@Morias
One thing that I was trying to highlight and ask was to make sure you also installed the Tidal plugin as this is a prerequisite for the gmusicapi.

Kent with his wide range of testing he has been doing has the Tidal plugin installed.

Umm, that's not exactly what's going on.

I should have specified the options I chose when running the image builder script
Code:
** Option 1-5: use a proxy server for Internet access (y/n)? n
** Option 2-5: use a WiFi connection instead of Ethernet (y/n)? n
** Option 3-5: configure /var/www as squashfs (y/n)? n
** Option 4-5: install latest Linux Kernel (y/n)? y
** Option 5-5: Airplay, Ashuffle, LocalUI, Scrobbler, Squeezelite and UPnP/DLNA
** Install additional components (y/n)? y
** Ready for automated image build
** Proceed (y/n)?

The output from Koda59's clever use of ssh to execute a remote cat command is
Code:
// STEP 2 - Expand the root partition to 3GB
// STEP 3A - Install core packages
// STEP 3B - Install core packages
// STEP 4 - Install enhanced networking
** Compile bluez-alsa
// STEP 5 - Install Rotary encoder driver
** Compile WiringPi
** Compile rotary encoder driver
// STEP 6 - Compile and install MPD
// STEP 7 - Create moOde runtime environment
// STEP 8 - Install moOde sources and configs
// STEP 9 - Alsaequal
** STEP 10 - Squashfs option not selected
// STEP 11 - Optionally, install latest Linux Kernel
// STEP 12 - Launch and configure moOde!
// STEP 13 - Final prep for image
// COMPONENT 1 - MiniDLNA
// COMPONENT 2 - Auto-shuffle
// COMPONENT 3 - MPD Audio Scrobbler
// COMPONENT 4 - Shairport-sync
// COMPONENT 5 - Squeezelite
// COMPONENT 6 - Upmpdcli
** Compile Libupnp jfd5
** Compile Libupnpp
** Compile Upmpdcli
** Compile Upexplorer
// COMPONENT 7 - Optionally install gmusicapi
// COMPONENT 8 - Local UI display
// COMPONENT 9 - Allo Piano 2.1 Firmware
// END

Note that "COMPONENT 7 - Optionally install gmusicapi".

If you drill down to the UPnP Config page at this point, you'll find you can enter account credentials for Tidal and Qobuz Music Services but for Google Play Music you'll get the informative message
The Google Music feature is enable but the API must be manually installed.
Run the command "sudo pip install gmusicapi" from an ssh session.

That's the install I was talking about. Once it's done, the UPnP Config page will allow the entry of Google Play Music credentials.

Yes, I mentioned Tidal was visible, but that's only because I'd mindlessly entered its credentials at the same time I entered the Google Play Music credentials.

Regards,
Kent
 
I set up logging, set the renderer as "Moode UPNP" and the Library as "Moode UPNP-mediaserver". Whilst it still refuses to play when the library is set as Moode the log shows the following:

:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: DeleteAll. Params: <?xml version="1.0"?>
<u:DeleteAll xmlns:u="urn:av-openhome-org:service:playlist:1"></u:DeleteAll>

:4:src/ohplaylist.cxx:706::OHPlaylist::deleteAll
:4:src/mpdcli.cxx:752::MPDCli::clearQueue
:4:src/mpdcli.cxx:830::MPDCli::getQueueData
:4:src/mpdcli.cxx:815::MPDCli::getQueueSongs: 0 songs
:4:src/ohplaylist.cxx:147::OHPlaylist::translateIdArray: current ids:
:4:src/ohplaylist.cxx:228::OHPlaylist::makeIdArray: dropping uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=Twx2ua2wyanyrhs4sisdjgcffne
:4:src/ohplaylist.cxx:235::OHPlaylist::makeIdArray: saving metacache
:4:src/ohmetacache.cxx:127::dmcacheSave: got save task: 0 entries to /var/cache/upmpdcli//metacache
: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.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq</Uri>
<Metadata><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="404 Not Found xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="SAMSUNG xmlns:pv="http://www.pv.com/pvns/"><item id="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam$T3vb7lhqv2fbfasrksrdoej7fhq" parentID="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>Pathetic</dc:title><dc:creator>blink-182</dc:creator><upnp:artist>blink-182</upnp:artist><upnp:albumArtURI>Error 404 (Not Found)!!1 Ranch</upnp:album><upnp:eek:riginalTrackNumber>1</upnp:eek:riginalTrackNumber><ownerUdn>2dfea03c-6f8a-b387-b7bd-b827eba099f9-mediaserver</ownerUdn><res protocolInfo="http-get:*:audio/mpeg:* " bitrate="192000" sampleFrequency="44100" nrAudioChannels="2" duration="0:02:28.000">http://192.168.0.119:49149/gmusic/track?version=1&amp;trackId=T3vb7lhqv2fbfasrksrdoej7fhq</res></item></DIDL-Lite></Metadata>
</u:Insert>

:4:src/ohplaylist.cxx:616::OHPlaylist::insert
:4:src/ohplaylist.cxx:639::OHPlaylist::insert: afterid 0 Uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq Metadata <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:pv="http://www.pv.com/pvns/"><item id="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam$T3vb7lhqv2fbfasrksrdoej7fhq" parentID="0$gmusic$/album/Bhssm4nvrllq3sasdee2smgquam" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>Pathetic</dc:title><dc:creator>blink-182</dc:creator><upnp:artist>blink-182</upnp:artist><upnp:albumArtURI>http://lh3.googleusercontent.com/Koiew8wYjgzHueikNmaFE6z1vCJi46KlsQVSXe_ByS1Mw9ZK-TVcM-i0YucMc1gHQBam-E9v</upnp:albumArtURI><upnp:album>Dude Ranch</upnp:album><upnp:eek:riginalTrackNumber>1</upnp:eek:riginalTrackNumber><ownerUdn>2dfea03c-6f8a-b387-b7bd-b827eba099f9-mediaserver</ownerUdn><res protocolInfo="http-get:*:audio/mpeg:* " bitrate="192000" sampleFrequency="44100" nrAudioChannels="2" duration="0:02:28.000">http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq</res></item></DIDL-Lite>
:4:src/upmpd.cxx:166::checkContentFormat: supported: audio/mpeg
:4:src/mpdcli.cxx:718::MPDCli::insertAfterId: id 0 uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq
:4:src/mpdcli.cxx:700::MPDCli::insert at :0 uri http://192.168.0.119:49149/gmusic/track?version=1&trackId=T3vb7lhqv2fbfasrksrdoej7fhq
:4:src/ohplaylist.cxx:645::OHPlaylist::insert: new id: 93
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: SeekId. Params: <?xml version="1.0"?>
<u:SeekId xmlns:u="urn:av-openhome-org:service:playlist:1">
<Value>93</Value>
</u:SeekId>

:4:src/ohplaylist.cxx:433::OHPlaylist::seekId
:4:src/mpdcli.cxx:578::MPDCli::playId(id=93)
: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: 93
: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: ReadList. Params: <?xml version="1.0"?>
<u:ReadList xmlns:u="urn:av-openhome-org:service:playlist:1">
<IdList>93</IdList>
</u:ReadList>

:4:src/ohplaylist.cxx:548::OHPlaylist::readList: [93]
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: ReadList. Params: <?xml version="1.0"?>
<u:ReadList xmlns:u="urn:av-openhome-org:service:playlist:1">
<IdList>93</IdList>
</u:ReadList>

:4:src/ohplaylist.cxx:548::OHPlaylist::readList: [93]
:4:libupnpp/device/device.cxx:319::UPNP_CONTROL_ACTION_REQUEST: Time. Params: <?xml version="1.0"?>
<u:Time xmlns:u="urn:av-openhome-org:service:Time:1"></u:Time>

:4:src/ohtime.cxx:76::OHTime::eek:htime

What about syslog?
 
@Kent

As you noted when building from the UPMPDCLI source files you are actually installing all the plugins for Tidal, Qobuz and GMusic.

The only thing is that for the gmusic stuff to work you still need to install the 3rd party library gmusicapi which is not part of the upmpdcli source. This is the optional step in the build and is in reality an 'enabler' for the already installed gmusic plugin.

I confused matters by mixing up installing by package where you have the option to install or not install the media streamer plugins and you can install just Tidal and Qobuz if you want. but to use the gmusic you need to make sure you have the Tidal plugin.
 
Last edited:
Hi Mike,

Do you have a config that works where moOde is the sender?

-Tim

I don’t have any BT audio, so I was just mucking around, but I will dig something up.

Edit: Blueman is GUI based and isn’t something you can easily automate, then there’s the matter of a persistent trust...

But this gives a CLI using bluetoothctl and python to automate: Automatically connect trusted Bluetooth speaker - Raspberry Pi Stack Exchange some links in there worth pursuing, too.
 
Last edited:
Thanks, Mike.

I have some cheap Bluetooth speakers I wouldn't want to listen to for long stretches, but I'd like to be able to use them while I'm testing at my desk.

When I tried to cobble together a working setup out of the core packages earlier this year I couldn't get all the gears to mesh with moOde. Blueman is written in GTK+ so I ignored it. I should look into what it does---maybe I missed something---and try again.

If moOde can be made to work as a Bluetooth media source, I'm sure Tim can cobble up the additional configuration option before the coffee break:)

Regards,
Kent

Bluetoothctl may be more your speed... https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065
 
Last edited:
@Kent

As you noted when building from the UPMPDCLI source files you are actually installing all the plugins for Tidal, Qobuz and GMusic.

The only thing is that for the gmusic stuff to work you still need to install the 3rd party library gmusicapi which is not part of the upmpdcli source. This is the optional step in the build and is in reality an 'enabler' for the already installed gmusic plugin.

I confused matters by mixing up installing by package where you have the option to install or not install the media streamer plugins and you can install just Tidal and Qobuz if you want. but to use the gmusic you need to make sure you have the Tidal plugin.

@Serverbaboon

Obviously you and I are on the same wavelength. I was trying to show how to use the image builder to get to a moOde installation with working Google Music Play capability so others might get there too. Not everyone knows what's inside all these packages or is able to discern if they have a service-specific plugin or not.

Candidly, I'm still on the fence regarding the UPnP renderer. Since I have no UPnP-capable equipment (beyond the BubbleUPnP app on several Android devices, that is), I'm exercising the renderer only because I'm curious about these third-party streaming services. I haven't decided if I'll go beyond their trial-subscription periods.

Thanks to Tim, though, the renderer is there for those who need it.

Regards,
Kent
 
Bluetoothctl may be more your speed... ...

Wow, I think you set the record for the longest cut-n-paste in this forum:eek:

bluetoothctl is where I started. It works fine. I was tripping over my own feet getting moOde/ALSA/bluetooth-source melded together. There was still some shifting sand in the BlueALSA nee bluez-alsa project. Things seem more stable these days and I know more than I knew then.

We shall see.

Regards,
Kent
 
Wow, I think you set the record for the longest cut-n-paste in this forum:eek:

bluetoothctl is where I started. It works fine. I was tripping over my own feet getting moOde/ALSA/bluetooth-source melded together. There was still some shifting sand in the BlueALSA nee bluez-alsa project. Things seem more stable these days and I know more than I knew then.

We shall see.

Regards,
Kent

Not a cut and paste problem, a DIYAudio link-parsing problem.

That bloody link parsing really annoys me and is a ‘feature’ I really see no use case for.

If I could turn it off as an option, I would. I forget to unstick it when posting links.
 
Access Point configuration

Tim,


I do want to try and use the AP mode simultaneously with the wired connection.


In my attempts, I first try to be able to get the wlan0 interface up, then try and use a generic script for setting wlan0 as a brigded interface through eth0.


How can I by-pass moode behavior of keeping wlan0 down while eth0 in connected?


Thanks,
Dror
 
I use moOde on a Raspberry Pi 3B, with a USB DAC (Arcam irDAC) that has an infra-red receiver. The DAC has a remote control where I can press play, stop, next song, etc. and this sends commands over USB to the DAC.

I posted some instructions on how to configure it in the past. MoOde 4 is now built on top of a more recent Raspbian, with a newer, slightly different version of lirc, so I'm posting here the updated instructions, in case somebody else wants to use them.

* Tested with a manual installation of moode 4 beta 12

1. Install the necessary packages
sudo apt-get install lirc
sudo apt-get install ir-keytable

- Check input with ir-keytable (the device name could be different in your case):
pi@moode:~ $ ir-keytable -vtd /dev/input/event0
Opening /dev/input/event0
Input Protocol version: 0x00010001
Testing events. Please, press CTRL-C to abort.
1498377601.323848: event type EV_MSC(0x04): scancode = 0xc00b7
1498377601.323848: event type EV_KEY(0x01) key_down: KEY_STOPCD(0x0001)
1498377601.323848: event type EV_SYN(0x00).
1498377601.323876: event type EV_KEY(0x01) key_up: KEY_STOPCD(0x0001)
1498377601.323876: event type EV_SYN(0x00).

2. In /etc/lirc/lirc_options.conf, put the device in the line:
device = /dev/input/event0

3. Replace /etc/lirc/irexec.lircrc with:
begin
prog = irexec
button = KEY_PLAY
config = mpc play
end
begin
prog = irexec
button = KEY_STOPCD
config = mpc stop
end
begin
prog = irexec
button = KEY_PAUSE
config = mpc pause
end
begin
prog = irexec
button = KEY_PREVIOUSSONG
config = mpc prev
end
begin
prog = irexec
button = KEY_NEXTSONG
config = mpc next
end

4. Restart the services:
sudo systemctl restart lircd
sudo systemctl restart irexec

- Check lircd and irexec are running:
pi@moode:/etc/lirc $ ps -ef | grep irc
root 807 1 0 12:32 ? 00:00:00 /usr/sbin/lircd --nodaemon
root 1950 1 0 12:36 ? 00:00:00 /usr/bin/irexec /etc/lirc/irexec.lircrc
pi 2366 15383 0 12:38 pts/0 00:00:00 grep --color=auto irc
pi@moode:/etc/lirc $

Good to go! Now the command irw can be used for troubleshooting: start this command then press keys on the remote
pi@moode:/etc $ irw
00000000800100a6 00 KEY_STOPCD devinput
00000000800100a6 00 KEY_STOPCD devinput
00000000800100a6 00 KEY_STOPCD devinput
00000000800100cf 00 KEY_PLAY devinput
^C
pi@moode:/etc $

- More info: LIRC - Linux Infrared Remote Control