Success: MusicIP and Spicefly Sugarcube running on Raspberry Pi

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • frankd
    Senior Member
    • Jan 2012
    • 232

    Success: MusicIP and Spicefly Sugarcube running on Raspberry Pi

    UPDATE: This tutorial has been updated for buster installations now

    I managed to get MusicIP (headless), sugarcube, and the MusicIP plugin on raspberry pi LMS working with the help of Qemu. This is a inexpensive and simple setup without requiring an intel processor architecture.

    For my 25k track collections, a new mix keeps one core of the raspberry pi 4 busy for approximately 2 seconds, while LMS continues to play in the background, thus no issue concerning processing power (in contrast to the old raspberries).
    Basically all is working so far. I have not tested validation of music, as all my tracks have been validated and fingerprints archived using the Windows version of MusicIP. Scanning / adding 25k tracks to MusicIP takes approximately 30 minutes
    High Level tutorial (I used a Max2Play installation of LMS):

    We need to add the i386 architecture:
    sudo dpkg --add-architecture i386

    You have to edit your /etc/apt/sources.list file and every file in /etc/apt/sources.list.d, adding [arch=armhf] behind each occurence of deb.
    So for example the line
    deb http://archive.raspbian.org/raspbian buster main contrib non-free
    would become
    deb [arch=armhf] http://archive.raspbian.org/raspbian buster main contrib non-free

    In my case only following two files were modified:
    sudo nano /etc/apt/sources.list
    sudo nano /etc/apt/sources.list.d/raspi.list



    sudo apt-get update
    sudo apt-get dist-upgrade
    sudo apt-get install qemu binfmt-support qemu-user



    The libc6:i386 Deb Package needs to be modified to match the version of its Raspbian equivalent (which has an additional +rpi1)

    Check the current libc6 version of the Raspberry: dpkg -s libc6:armhf
    Find the equivalent version of the i386 libc Debian package from https://packages.debian.org/buster/i386/libc6 (currently libc6_2.28-10_i386.deb)
    Adapt the lines below with the current version:

    cd ~
    wget http://ftp.us.debian.org/debian/pool...28-10_i386.deb
    mkdir -p newpack oldpack/DEBIAN
    dpkg-deb -x libc6_2.28-10_i386.deb oldpack/
    dpkg-deb -e libc6_2.28-10_i386.deb oldpack/DEBIAN
    nano oldpack/DEBIAN/control
    Set the version to the Rasbian version (add +rpi1) and remove the dependency of libgcc1 and save the file
    rm oldpack/usr/share/doc/libc6/changelog.Debian.gz
    nano oldpack/DEBIAN/md5sums
    Remove the line with the MD5 Sums for changelog.Debian.gz
    dpkg-deb -Z xz -b oldpack/ newpack/
    The new package is now in the subfolder newpack, with the name of the new version (e.g. libc6_2.28-10+rpi1_i386.deb)
    Install the new package:
    sudo dpkg -i newpack/libc6_2.28-10+rpi1_i386.deb

    Please note:
    If you update the libraries with sudo apt dist-upgrade and a new version of libc6 will have been published in the meantime, the upgrade will fail due to version mismatches.
    In this case remove the libc6:i386 version (sudo apt-get purge libc6:i386) re-run the distribution upgrade and then follow the steps of re-packaging and installing the new libc6:i386

    Also please note:
    If you are using an ubuntu-based OS, the appropriate library might be (at the time of writing): http://de.archive.ubuntu.com/ubuntu/...untu4_i386.deb


    Unpack MusicMixer into your home directory (you can download it at https://www.spicefly.com/article.php...sicip-software )
    gzip -dc MusicMixer_x86_1.8.tgz | tar -xf


    /home/pi/MusicIP/MusicMagicMixer/MusicMagicServer start
    ignore warnings about ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
    It should be accessible via http://localhost:10002/server
    /home/pi/MusicIP/MusicMagicMixer/MusicMagicServer stop



    You can start the MusicMagic server (in my case installed in the pi home-directory):
    /home/pi/MusicIP/MusicMagicMixer/MusicMagicServer start
    It should be accessible via http://localhost:10002/server

    ignore warnings about ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored, the server runs anyway.

    Stop the server via:
    /home/pi/MusicIP/MusicMagicMixer/MusicMagicServer stop

    Copy mmm.ini from the /home/pi/MusicIP/MusicMagicMixer folder to /home/pi/.MusicMagic/
    or download a stripped version from http://spicefly.com/files/mp/mmm.ini to /home/pi/.MusicMagic/
    Make it editable:
    sudo chmod a+rw /home/pi/.MusicMagic/mmm.ini
    edit mmm.ini and adjust the path for the cache, in my case to /home/pi/.MusicMagic/default.m3lib then save the file


    Autostart:
    To start the sever every time when the raspberry boots:

    sudo nano mmserver

    Edit the file and add the header for the init daemon, adapt the paths. My version looks like:


    ------------
    #! /bin/sh

    ### BEGIN INIT INFO
    # Provides: mmserver
    # Required-Start: $remote_fs $syslog
    # Required-Stop: $remote_fs $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Start MusicIP daemon at boot time
    # Description: Enable service provided by daemon.
    ### END INIT INFO



    # NON-PRIVIELEGED USER TO RUN MUSICMAGICSERVER.
    USER=pi
    # PATH TO THE MUSICMAGICMIXERSERVER
    export MUSICHOME=/home/pi/MusicIP/MusicMagicMixer/
    case $1 in
    start)
    # next line was original
    # su - $USER -c $MUSICHOME"MusicMagicServer start & > /dev/null"
    sudo -u pi /home/pi/MusicIP/MusicMagicMixer/MusicMagicServer start & > /dev/null 2>&1
    echo "Running MusicMagicServer"
    exit
    ;;
    stop)
    # next line was original
    # su - $USER -c $MUSICHOME"MusicMagicServer stop & > /dev/null"
    sudo -u pi /home/pi/MusicIP/MusicMagicMixer/MusicMagicServer stop & > /dev/null 2>&1
    echo "Stopped MusicMagicServer"
    exit
    ;;
    *)
    echo "Usage: /etc/rc.d/init.d/mmserver { start | stop }"
    exit
    ;;
    esac


    --------


    sudo cp /home/pi/MusicIP/MusicMagicMixer/mmserver /etc/init.d
    cd /etc/init.d

    Then register the start script and reboot:
    sudo update-rc.d mmserver defaults
    sudo reboot




    There is a Memory Leak in the Quemu emulation of Music IP and will lead to high memory consumption over few weeks.
    Best way is to restart MusicMagic Server due to memory leak ever night, in my case I chose at 4:00.
    quick instructions using crontab:
    At shell:

    crontab -e

    Add following lines:
    0 4 * * * /home/pi/MusicIP/MusicMagicMixer/mmserver stop
    1 4 * * * /home/pi/MusicIP/MusicMagicMixer/mmserver start

    save and exit and check if in crontab saved:
    crontab -l
    Reboot and musicIP should be restarted every night. this way it should consume only single digit percentage of your raspberry pi memory.


    Set Timeouts for the LMS MusicIP Plugin to higher values to account for the slow speed of the Raspberry - I386 Emulation:

    - shut down LMS
    - open plugin/musicip.prefs from your Prefs folder
    - add "timeout: 120" to the end
    - restart LMS


    to use recipes, copy recipes.xml to your/home/.MusicMagic directory


    The next steps might be outdated and thus not required unless you run into memory issues:
    Also ensure that while scanning new music you set in the LMS GUI settings - preferences - Database Memory Config to "normal", not high or max. Otherwise you might run out of memory or you need to create large swap files to cope with 1-2 GB memory consumption while importing MusicIP info during the scan process.

    If you have very large libraries, please update the swap partition and reboot (this is primarily for a Pi with 1 or 2GB, a 4GB pi should be fine without modifications):
    sudo nano /etc/dphys-swapfile (change conf_swapsize to desired value-- 4096)
    sudo nano /sbin/dphys-swapfile ((change conf_maxswap to desired value -- 4096)
    Last edited by frankd; 2021-05-25, 09:08.
  • cparker
    Senior Member
    • Oct 2005
    • 640

    #2
    SugarCube 4.80 Test Release

    Hi Frankd,

    Very interesting work that you are doing with the Pi. I've added your proposed changes into a test release here;



    If you get a chance would be helpful if you could test this on your setup and let me know if it's working ok. I'll then add a GUI element to enable fine tuning of the timeout value, similar to the SQL timeouts.

    Cheers

    (Note: This contains new code to, Fade Volume on Track Transition however this isn't fully working on clients in a sync group, so shouldn't be considered fully stable)
    www.spicefly.com - ** Spicefly SugarCube ** - A hassle free acoustic journey through your music library using MusicIP. Plus the finest MusicIP installation guides, enhanced MIP Interface and SpyGlass MIP the Windows Automated MusicIP Headless Installer.

    Comment

    • frankd
      Senior Member
      • Jan 2012
      • 232

      #3
      Originally posted by cparker
      Hi Frankd,

      Very interesting work that you are doing with the Pi. I've added your proposed changes into a test release here;



      If you get a chance would be helpful if you could test this on your setup and let me know if it's working ok. I'll then add a GUI element to enable fine tuning of the timeout value, similar to the SQL timeouts.

      Cheers

      (Note: This contains new code to, Fade Volume on Track Transition however this isn't fully working on clients in a sync group, so shouldn't be considered fully stable)

      HI CParker,
      excellent, all is working on my setup so far - this was an incredibly fast response!
      Being able to run all important plugins and addons on Raspberry (musicIP was the last missing for me) makes LMS a lot more future proof in my eyes.

      In case you are looking for some ideas for improving the plugin:
      I typically do not use the web-interface for operating my music system, I use either the radio / touch interface or the Squeezecontroller app. Therefore a dropdown list for selecting MIP Genre, MIP Artist and Music IP Receipe similar to the already available MIP Filter would be great (under settings, spicefly sugarcube). Currently you can select Genre, Artist and Filter as Mixtype, however Genre and Artist are of limited value for me as I cannot select my desired genre or artist in this interface (unless I walk to my PC and adapt settings there). I would be happy to beta-test any future versions.

      Cheers,
      Frank


      BTW.: Filters, receipes and moods are also working on the Raspberry headless setup, will post more info later.
      Last edited by frankd; 2017-02-13, 21:38.

      Comment

      • srasher
        Member
        • Jun 2006
        • 86

        #4
        Frank,

        this is absolutely fantastic news! I was about to experiment with installing the x86 version of MusicIP with ExaGear, but your howto looks so well documented and promising that I will try to reproduce this on my Odroid U3, most probably on the upcoming weekend.

        Thanks a lot for describing your trial so detailed.

        Cheers,
        Seb
        "The only word I know is 'Grunt' - and I can't spell it" (R.I.P. D.A.)

        Comment

        • HB64
          Member
          • Jan 2008
          • 89

          #5
          Hi Frankd,

          Great work, i'm using a wandboard quad for LMS now for a couple of years and the only thing what was missing was MusciIP, well a sort of missing it was en is running on a qnap nas and redirected to the wandboard with xinetd this setup works reasonably well but this is even better.
          Only the boot script was not working on the wandboard the headers for the init daemon i had to change from,
          Code:
          # Required-Start: $remote_fs $syslog
          # Required-Stop: $remote_fs $syslog
          to
          Code:
          # Required-Start:    $local_fs $network
          # Required-Stop:     $local_fs
          to make it work.
          Filters are working also and now all i need is a way to make receipes and moods get recognized.
          In all a very good job, thank you for your work.

          Greetings,

          Henk

          Comment

          • frankd
            Senior Member
            • Jan 2012
            • 232

            #6
            recipes and filters

            Hi all,
            recipes are working pretty straightforward:

            Copy recipes.xml (I use the one which came with the windows MusicIp installation) into the home-directory of MusicIP (not the installation directory), where also your default.m3lib resides. For the raspberry: If the musicip server is started by the Pi user, it will be at/home/usr/pi/.MusicMagic/
            Restart the MusicIP server and LMS server and you should be able to select the recipes in the Sugarcube plugin.

            Filters are best added and edited by opening default.m3lib with the Windows version of MuisicIP. You need to use version 1.8, not the 1.9 beta, as the 1.9 saves your database in a format which is not readable by the 1.8 versions. Best is to add / modify only the filters and do not change anything concerning your music files as your windows version might refer to a different path structure and thus screws up the references to your music files.

            Moods need some more adaptations, I will test more during the weekend and post afterwards the results.

            Cheers,
            Frank

            Comment

            • Antoniop
              Senior Member
              • Jul 2010
              • 200

              #7
              Amazing ! ( and a few questions)

              Hi Frank,
              This is fantastic ! It's also what I was missing to completely move my LMS to my raspberry.
              I was also thinking about exagear, but since they don't give keys for testing purposes, I was a bit reluctant to buy it without knowing if it works or not.

              I have a few questions because I don't really understand how it works :
              - Is Max2play necessary ? I use only my raspberry as a server and not as a player
              - At what moment is Qemu used ? I see that the packages are installed but I don't see the "emulation" part

              BTW, I have around 20k tracks and a PI3, that should run fine.
              Thanks a lot
              Antonio
              Last edited by Antoniop; 2017-02-16, 14:40.
              LMS 8.x.x
              on Linux Mageia 8 and RPI 3
              1 SB3, 2 radio, 1 touch, 1 transporter SE, 1 chromecast audio
              Plugins : Trackstat, Smartmix, MusicIP, ...

              Comment

              • frankd
                Senior Member
                • Jan 2012
                • 232

                #8
                Originally posted by Antoniop
                Hi Frank,
                This is fantastic ! It's also what I was missing to completely move my LMS to my raspberry.
                I was also thinking about exagear, but since they don't give keys for testing purposes, I was a bit reluctant to buy it without knowing if it works or not.

                I have a few questions because I don't really understand how it works :
                - Is Max2play necessary ? I use only my raspberry as a server and not as a player
                - At what moment is Qemu used ? I see that the packages are installed but I don't see the "emulation" part

                BTW, I have around 20k tracks and a PI3, that should run fine.
                Thanks a lot
                Antonio

                Hi Antonio,
                I was similarly concerned about using Exagear, in particular as it is not open source and thus the future might be unpredictable... That thought triggered my investigation for other options....
                .
                The trick why you do not see the reference to Quemu is the installation of the binfmt package. This package allows you to start binaries compiled for different architectures without explicitly starting an emulator, it will call the emlator of choice if required....

                For your other question: No you do not need Max2Play for running MusicIP under your raspberry setup. You might need to adapt some details to your personal setup / operating system, however the principles I described should be the same. I assume the setup which Henk describes is a completely different one (different hardware, different operating system, but he still made it work with few adaptions to the startup script). As long as you operate under a Debian derived operating system (e.g. Raspian) you should be fine...

                For everybody reading this thread:
                Success stories, failures or lessons learnt are appreciated in this thread as this should be a guidance for more setups, and it should help the community to prevent investing in unnecessary hardware and software.
                Best,
                Frank

                Comment

                • Antoniop
                  Senior Member
                  • Jul 2010
                  • 200

                  #9
                  Originally posted by frankd
                  Hi Antonio,
                  I was similarly concerned about using Exagear, in particular as it is not open source and thus the future might be unpredictable... That thought triggered my investigation for other options....
                  .
                  The trick why you do not see the reference to Quemu is the installation of the binfmt package. This package allows you to start binaries compiled for different architectures without explicitly starting an emulator, it will call the emlator of choice if required....

                  For your other question: No you do not need Max2Play for running MusicIP under your raspberry setup. You might need to adapt some details to your personal setup / operating system, however the principles I described should be the same. I assume the setup which Henk describes is a completely different one (different hardware, different operating system, but he still made it work with few adaptions to the startup script). As long as you operate under a Debian derived operating system (e.g. Raspian) you should be fine...

                  For everybody reading this thread:
                  Success stories, failures or lessons learnt are appreciated in this thread as this should be a guidance for more setups, and it should help the community to prevent investing in unnecessary hardware and software.
                  Best,
                  Frank
                  Ok, thanks a lot. I will give you my feedback once I installed it.
                  Congratulations for your work, it's very good.
                  LMS 8.x.x
                  on Linux Mageia 8 and RPI 3
                  1 SB3, 2 radio, 1 touch, 1 transporter SE, 1 chromecast audio
                  Plugins : Trackstat, Smartmix, MusicIP, ...

                  Comment

                  • Antoniop
                    Senior Member
                    • Jul 2010
                    • 200

                    #10
                    I did the steps for MusicIp installation only (not Spicefly at the moment) and it's apparently working well, I can have Musicip mixes, but I have a few problems with LMS, I don't know if it's related with MusicIP: it seems slower than before and the scanning crashes during the artist picture lookup. I restarted LMS and had the same. Then I stopped the mm server and ran a new scan. It finished normally.
                    Are you having the same problem ? do you thing it's related with the MusicIp server ? I also have some problems with the dynamic playlist plugin http://forums.slimdevices.com/showth...aylists-on-RPi.
                    Thanks a lot
                    LMS 8.x.x
                    on Linux Mageia 8 and RPI 3
                    1 SB3, 2 radio, 1 touch, 1 transporter SE, 1 chromecast audio
                    Plugins : Trackstat, Smartmix, MusicIP, ...

                    Comment

                    • srasher
                      Member
                      • Jun 2006
                      • 86

                      #11
                      Hi Frank,

                      I finally got to trying this out. Unfortunately it didn't work as seemlessly as I had hoped.

                      First, I am trying this on a max2play installation on an Odroid U3.
                      I had put different lines to the /etc/apt/sources.list.d/i386.list. As the max2play installation on the Odroid is not based directly on Debian/Raspian Jessie, but refers to an ubuntu port of Trusty Tar, I had to put

                      deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
                      deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
                      deb [arch=i386] http://security.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

                      Before I was trying to use your lines in that file. binfmt-support and qemu-user installed fine, but for the installation of the libc6:i386 I got tons of dependency errors, referring to all kinds of base system tools and libs that I didn't specify to install. Looked like it was trying to do a kind of dist-upgrade from trusty to jessie or something like this.

                      After finding those three lines referring to trusty, libc6:i386 installed fine.

                      When I am then trying to start the MusicMagicServer I get the following error message

                      /home/odroid/Software/Squeezebox/musicip/MusicIP/MusicMagicMixer/MusicMagicServer: 1: /home/odroid/Software/Squeezebox/musicip/MusicIP/MusicMagicMixer/MusicMagicServer: Syntax error: "(" unexpected

                      And that's where I am stuck. As this is an executable it looks like the binfmt-support doesn't kick in, although when I try to start it with

                      sudo /etc/init.d/binfmt-support start

                      it states that it has already been started.

                      I am pretty confident that the file is not corrupted from the download. There is only one Linux related download on the page you referred to and all the human readable files in the MusicIP archive look fine.

                      Is there any hint anyone can give me? I am a little bit lost when it comes to qemu/binfmt related stuff and only tried to follow the Howto as close as possible.

                      Thanks in advance for any bit of help, cheers,
                      Seb
                      "The only word I know is 'Grunt' - and I can't spell it" (R.I.P. D.A.)

                      Comment

                      • bobertuk
                        Senior Member
                        • May 2009
                        • 717

                        #12
                        Originally posted by srasher
                        Hi Frank,

                        I finally got to trying this out. Unfortunately it didn't work as seemlessly as I had hoped.

                        First, I am trying this on a max2play installation on an Odroid U3.
                        I had put different lines to the /etc/apt/sources.list.d/i386.list. As the max2play installation on the Odroid is not based directly on Debian/Raspian Jessie, but refers to an ubuntu port of Trusty Tar, I had to put

                        deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
                        deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
                        deb [arch=i386] http://security.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

                        Before I was trying to use your lines in that file. binfmt-support and qemu-user installed fine, but for the installation of the libc6:i386 I got tons of dependency errors, referring to all kinds of base system tools and libs that I didn't specify to install. Looked like it was trying to do a kind of dist-upgrade from trusty to jessie or something like this.

                        After finding those three lines referring to trusty, libc6:i386 installed fine.

                        ....

                        Seb
                        Or for Odroid XU4 with Ubuntu 16.04 LTS try using...

                        deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
                        deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
                        deb [arch=i386] http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse

                        MusicIP server runs but haven't tried to get any further yet.

                        Bob
                        2 x Touch
                        2 x Radio
                        2 x Boom
                        1 x Intel-NUC server/squeezelite running LMS 8.20 (from nightlies) on Windows 10
                        1 X Odroid-XU4 server/squeezelite running LMS 7.91 on Ubuntu 16.04
                        1 x iMac server running macOS Big Sur
                        WaveIO USB into Lavry DA-10 DAC
                        Starfish Pre-amp : Based on NAIM NAC 72
                        Heavily modified NAIM NAP 250 Power-amp
                        Focal Electra 1027 Be II Speakers

                        Comment

                        • Antoniop
                          Senior Member
                          • Jul 2010
                          • 200

                          #13
                          Originally posted by Antoniop
                          I did the steps for MusicIp installation only (not Spicefly at the moment) and it's apparently working well, I can have Musicip mixes, but I have a few problems with LMS, I don't know if it's related with MusicIP: it seems slower than before and the scanning crashes during the artist picture lookup. I restarted LMS and had the same. Then I stopped the mm server and ran a new scan. It finished normally.
                          Are you having the same problem ? do you thing it's related with the MusicIp server ? I also have some problems with the dynamic playlist plugin http://forums.slimdevices.com/showth...aylists-on-RPi.
                          Thanks a lot
                          Hi,
                          Finally, it was a problem with the server only.
                          I removed LMS and did a fresh install. It's ok now.
                          It seems to work well and it's quite fast, no big difference with my desktop computer.
                          Thanks
                          LMS 8.x.x
                          on Linux Mageia 8 and RPI 3
                          1 SB3, 2 radio, 1 touch, 1 transporter SE, 1 chromecast audio
                          Plugins : Trackstat, Smartmix, MusicIP, ...

                          Comment

                          • bobertuk
                            Senior Member
                            • May 2009
                            • 717

                            #14
                            MusicIP install for Odroid-XU4

                            Hi frank,

                            Building on your great work for RaspberryPi, I've reworked your guide a bit to document getting MusicIP working on Odroid-XU4 with Ubuntu 16.04 LTS and max2play. I hope you don't mind my own modifications to get autostart working on XU4.

                            ================================================== ============

                            Download and unpack MusicIP 1.8 for linux



                            Edit /etc/apt/sources.list file and every file in /etc/apt/sources.list.d, adding [arch=armhf] behind each occurence of deb.
                            So for example the line
                            deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe restricted
                            would become
                            deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial main universe restricted

                            For the Max2Play installation, following two files had to be modified:
                            sudo nano /etc/apt/sources.list
                            sudo nano /etc/apt/sources.list.d/odroid.list


                            Next, we have to add package sources for i386 packages to our apt configuration. We'll do it the obvious way and take the official Debian repositories.
                            Of course you are free to choose other mirrors, if you prefer.
                            To do that, you create the file /etc/apt/sources.list.d/i386.list via sudo nano /etc/apt/sources.list.d/i386.list and insert the following

                            deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
                            deb [arch=i386] http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
                            deb [arch=i386] http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse


                            Then add the i386 architecture and update packages:
                            sudo dpkg --add-architecture i386
                            sudo apt-get update



                            Install binfmt, qemu and libc for i386:
                            sudo apt-get install binfmt-support qemu-user
                            sudo apt-get install libc6:i386

                            Ignore warnings...


                            Start MusicMagic server (in my case installed in the odroid home-directory):
                            sudo /home/odroid/MusicIP/MusicMagicMixer/MusicMagicServer start
                            It should be accessible via http://localhost:10002/server

                            To start manually...
                            sudo /etc/init.d/mmserver start

                            To stop manually...
                            sudo /etc/init.d/mmserver stop

                            To make 'Music IP Server' start when system boots:
                            Sudo cp /home/odroid/MusicIP/MusicMagicMixer/Mmserver /etc/Init.d
                            cd /etc/init.d
                            sudo nano mmserver

                            Edit mmserver and add the header for the init daemon, adapt the pathes. My version looks like:


                            ------------
                            #! /bin/sh

                            ### BEGIN INIT INFO
                            # Provides: mmserver
                            # Required-Start: $remote_fs $syslog
                            # Required-Stop: $remote_fs $syslog
                            # Default-Start: 2 3 4 5
                            # Default-Stop: 0 1 6
                            # Short-Description: Start MusicIP daemon at boot time
                            # Description: Enable service provided by daemon.
                            ### END INIT INFO

                            # NON-PRIVIELEGED USER TO RUN MUSICMAGICSERVER.
                            USER=odroid
                            # PATH TO THE MUSICMAGICMIXERSERVER
                            export MUSICHOME=/home/odroid/MusicIP/MusicMagicMixer/
                            case $1 in
                            start)
                            # next line was original
                            # su - $USER -c $MUSICHOME"MusicMagicServer start & > /dev/null"
                            sudo -u odroid /home/odroid/MusicIP/MusicMagicMixer/MusicMagicServer start & > /dev/null 2>&1
                            echo "Running MusicMagicServer"
                            exit
                            ;;
                            stop)
                            # next line was original
                            # su - $USER -c $MUSICHOME"MusicMagicServer stop & > /dev/null"
                            sudo -u odroid /home/odroid/MusicIP/MusicMagicMixer/MusicMagicServer stop & > /dev/null 2>&1
                            echo "Stopped MusicMagicServer"
                            exit
                            ;;
                            *)
                            echo "Usage: /etc/rc.d/init.d/mmserver { start | stop }"
                            exit
                            ;;
                            esac


                            --------


                            Then register the start script and reboot:
                            sudo update-rc.d mmserver defaults
                            sudo reboot


                            The MusicIP plugin should run out of the box (may require restart of LMS to recognize the MusicIP server in case LMS is started to early).

                            If using max2play there is an option to delay LMS startup. I use a delay of 60 seconds to ensure MusicIP is running before LMS.

                            ================================================== =============

                            Hopefully this makes sense and helps show others how franks method can be modified for other ARM platforms and other versions of Linux.

                            Best wishes

                            Bob
                            Last edited by bobertuk; 2017-03-02, 00:07. Reason: Change 'start on boot'
                            2 x Touch
                            2 x Radio
                            2 x Boom
                            1 x Intel-NUC server/squeezelite running LMS 8.20 (from nightlies) on Windows 10
                            1 X Odroid-XU4 server/squeezelite running LMS 7.91 on Ubuntu 16.04
                            1 x iMac server running macOS Big Sur
                            WaveIO USB into Lavry DA-10 DAC
                            Starfish Pre-amp : Based on NAIM NAC 72
                            Heavily modified NAIM NAP 250 Power-amp
                            Focal Electra 1027 Be II Speakers

                            Comment

                            • frankd
                              Senior Member
                              • Jan 2012
                              • 232

                              #15
                              Originally posted by Antoniop
                              Hi,
                              Finally, it was a problem with the server only.
                              I removed LMS and did a fresh install. It's ok now.
                              It seems to work well and it's quite fast, no big difference with my desktop computer.
                              Thanks
                              These are good news Antonio.
                              I have a suspicion, in case the problems with scanning your music re-appear:
                              In your webinterface, under Advanced - MusicIP you can select what should be imported from MusicIP when your music collection is scanned. I have selected only the mixable status not the Title and Genre information (all Info), which is indicated as being slow and might cause some timeout issues in case the MusicIP server is slow. I think in most setups, the Genre and Title info would be anyway duplication of what is scanned via the music files anyway.

                              Best,
                              Frank

                              Comment

                              Working...