Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 116 1231151101 ... LastLast
Results 1 to 10 of 1160
  1. #1
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    3,342

    announce: squeeze2upnp, a bridge between LMS and uPNP devices

    THIS THREAD IS DEPRECATED, PLEASE DO NOT POST HERE

    go http://forums.slimdevices.com/showth...(squeeze2upnp)

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


    Hi - I'd like to share a small app I wrote that allows upnp players to be manageable by LMS as if they were real squeezeplay device. It scans the LAN and for every upnp device found, it creates a LMS "virtual" software player (leveraging squeezelite from tripod). That "virtual" player can be used as a regular LMS player then. It can be played, stopped, paused, changed position.

    I have it working very well with Sonos devices (PLAY:1, 3 and 5) and a Marantz NR1603. I can't be sure for other devices as upnp/dlna players tend to be very difficult to handle. Audio format well supported are mp3, flac and pcm. I've not tried others.

    What is not supported today is replay gain, smart transitions and to a lower extend, perfect gapless (depend on the upnp player a bit). Synchronization cannot work, but you can have synchronous start (still some improvment to be made here).

    Reading the user-guide is important, but if you don't (we all do, don't we), at least pay attention to the generation of the config file, this is critical to make your system work properly. For example, without changing such config file, only mp3 is supported. This is still very alpha-code and requires a lot of tuning and mileage will vary depending on different upnp players, but I'm willing to add more.

    There are Windows, Linux x86 and ARM, and OSX versions.

    The code is GPL and is available on github

    I'd also like to thank a ton PasTim who had the patience to do a lot of tests with all the crappy versions I sent him. I'm afraid I'm not able to have his system to work properly (yet), but he helped tremendously fixing many other issues.

    https://github.com/philippe44/LMS-to-uPnP
    Last edited by philippe_44; 2017-06-14 at 02:43.

  2. #2
    Junior Member
    Join Date
    Sep 2011
    Posts
    16
    This looks awesome!!! Thanks for sharing.

    I've been unable to find the source repository un github, could you share the URL, please?

    Thanks,
    Iņigo

  3. #3
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    3,342
    Quote Originally Posted by Iņigo View Post
    This looks awesome!!! Thanks for sharing.

    I've been unable to find the source repository un github, could you share the URL, please?

    Thanks,
    Iņigo
    https://github.com/philippe44/LMS-to-uPnP

    NB: The makefile is pretty awful and it does not include a Windows version, especially to get libupnp compiled under C++ I had to do tiny changes to it, but if you use msvc, you are probably already fine. You also need pthread-win32

  4. #4
    Junior Member
    Join Date
    May 2014
    Posts
    5
    awesome, been dreaming of that app for long
    I have LMS on a synology and i would love to add xbmc-upnp player as a squeezebox player !
    unfortunately i don't know much about makefile and compiling...
    thanks
    Last edited by hisdudity; 2014-11-15 at 09:10.

  5. #5
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    3,342
    Quote Originally Posted by hisdudity View Post
    awesome, been dreaming of that app for long
    I have LMS on a synology and i would love to add xbmc-upnp player as a squeezebox player !
    unfortunately i don't know much about makefile and compiling...
    thanks
    Would you mind giving it a try by just running either the Linux version or the Windows version on any computer ? It does not have to run on the same computer/device than LMS, it can run on any machine and will still do the job - but it still has to be an Intel-based proc so far
    When I'll have a reasonably stable version, I'll do an ARM version (I have a Synology as well)
    Last edited by philippe_44; 2014-11-16 at 00:33.

  6. #6
    Junior Member
    Join Date
    May 2014
    Posts
    5
    hi, tried it quickly on windows 7 :
    - run with no args
    - auto discovered the server and nexus 7 upnp player and xbmc upnp player
    - these new players can now be controlled
    - playing music is ok but there are some blanks ( buffering ?)
    thanks, so great software !

  7. #7
    Junior Member
    Join Date
    Sep 2011
    Posts
    16
    Quote Originally Posted by philippe_44 View Post
    https://github.com/philippe44/LMS-to-uPnP

    NB: The makefile is pretty awful and it does not include a Windows version, especially to get libupnp compiled under C++ I had to do tiny changes to it, but if you use msvc, you are probably already fine. You also need pthread-win32
    Thanks.
    I've been able to compile it (Linux 64 bits, Fedora 20 and ArchLinux) after downloading and compiling libupnp v1.6.19 manually and changing some includedirs.
    Btw, it crashed when running "./sq2u -h".

    Now I can run it, but it makes logitechmediaserver very slow.
    After a couple of hours looking at it, I think it is because I have "squeezelite" program running and connected to the same LMS... not sure, but maybe a conflict with MAC adresses identifying players?
    After stopping squeezelite LMS keeps running slow until I stop sq2u.
    I'll be doing more tests during next days.

    Thanks and keep working on this!
    Iņigo

    EDIT:
    - changing sq2u MAC address in config file and running with the x86 version you provided works!
    - song information (title, artist...) is not updated on BubbleUPNP app on an Android mobile
    Last edited by Iņigo; 2014-11-16 at 08:28.

  8. #8
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    3,342
    Quote Originally Posted by Iņigo View Post
    Thanks.
    I've been able to compile it (Linux 64 bits, Fedora 20 and ArchLinux) after downloading and compiling libupnp v1.6.19 manually and changing some includedirs.
    Btw, it crashed when running "./sq2u -h".

    Now I can run it, but it makes logitechmediaserver very slow.
    After a couple of hours looking at it, I think it is because I have "squeezelite" program running and connected to the same LMS... not sure, but maybe a conflict with MAC adresses identifying players?
    After stopping squeezelite LMS keeps running slow until I stop sq2u.
    I'll be doing more tests during next days.

    Thanks and keep working on this!
    Iņigo

    EDIT:
    - changing sq2u MAC address in config file and running with the x86 version you provided works!
    - song information (title, artist...) is not updated on BubbleUPNP app on an Android mobile
    Thanks for the feedback - yes, at this point it is better to use the pre-build version as my makefile is not very pretty and not very convenient. The source code and the binary are up-always to-date on github
    About song information, this is one of these things that I'm trying to find an answer to because LMS does not provide them to me unless I grab them using the command line interface. But there is a timing issue I need to solve first. If you don't mind, I'd like to stabilize the main function of sq2upnp and then add this option (grab from LMS and forward all the meta-data to the uPNP player) later

    NB : you should not have to change the MAC address to make it work. I've corrected a few silly bugs, including the -h issue and you should use the current github version

  9. #9
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    3,342
    Quote Originally Posted by hisdudity View Post
    hi, tried it quickly on windows 7 :
    - run with no args
    - auto discovered the server and nexus 7 upnp player and xbmc upnp player
    - these new players can now be controlled
    - playing music is ok but there are some blanks ( buffering ?)
    thanks, so great software !
    Could you send me the logs ? you can now add on the command line -f <logfile> and just send me this logfile. There should be no blank, unless there is a massive buffering issue, but there are a few parameters in the config.xml file to solve these. You can

    1/ set <max_GET_bytes> to 0
    2/ increase <max_read_wait> to 200

  10. #10
    Junior Member
    Join Date
    Sep 2011
    Posts
    16
    Quote Originally Posted by philippe_44 View Post
    Thanks for the feedback - yes, at this point it is better to use the pre-build version as my makefile is not very pretty and not very convenient. The source code and the binary are up-always to-date on github
    About song information, this is one of these things that I'm trying to find an answer to because LMS does not provide them to me unless I grab them using the command line interface. But there is a timing issue I need to solve first. If you don't mind, I'd like to stabilize the main function of sq2upnp and then add this option (grab from LMS and forward all the meta-data to the uPNP player) later

    NB : you should not have to change the MAC address to make it work. I've corrected a few silly bugs, including the -h issue and you should use the current github version
    I compiled the 64-bits version with default options.
    Regarding MAC... You were right, I tested again with default address and it works too.

    Thanks again,
    Iņigo

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •