Home NetLinx Modules & Duet Modules

New Module: Squeezecontrol

2

Comments

  • glr-ftiglr-fti Junior Member Posts: 286
    Apologies if I created a thread drift...I just wanted to mention what I found. Probably should have started a new thread.

    Here's a link to RocketGUI: http://www.rocketgui.com/modules.html
  • John NagyJohn Nagy CineTouch Product Manager Posts: 1,548
    The problem we've had with the Vortex/Squeeze has been the protocol changes that come too frequently and without warning. It's unreasonable to have to go back and develop and redistribute new code several times a year to every customer. The open code project that is Squeeze/Slimserver has resulted in steering by committee - about as steady as government by a 2-party system.
  • Jorde_VJorde_V UX Scientist Posts: 393
    John Nagy wrote: »
    The problem we've had with the Vortex/Squeeze has been the protocol changes that come too frequently and without warning. It's unreasonable to have to go back and develop and redistribute new code several times a year to every customer. The open code project that is Squeeze/Slimserver has resulted in steering by committee - about as steady as government by a 2-party system.

    Exactly the reason I dropped it.
  • John NagyJohn Nagy CineTouch Product Manager Posts: 1,548
    By the same token, or lack thereof, BOXEE looks like new great but closed platform. The remote is RF, no IR or IP or serial or any other control I've seen. A great little box with no integration future? How say you all? Can it be cracked? It's a NICE source. If only.
  • bobbob Independent Programmer Posts: 296
    Nerieru wrote: »
    Exactly the reason I dropped it.

    I still don't have ANY problem controlling SlimServer with the (really) old module from Jeff Coffler. Everything works very nice and reliable without any single glitch!
  • viningvining X Member Posts: 4,358
    bob wrote: »
    I still don't have ANY problem controlling SlimServer with the (really) old module from Jeff Coffler. Everything works very nice and reliable without any single glitch!
    Yeah I haven't had any issues either but Im also just using it as a server for locally stored music on a VB player. No Pandora or iRadio, etc.

    And as far as constantly changing updates the VB Player doesn't get updated unless you manually do it and if the SS isn't automatic either you always have the choice to maintain and instlall the stable version of your choice. Of course I did kill the VB Player in my office updating from Fedora 11 to 14 but that was my own damn fault.
  • bobbob Independent Programmer Posts: 296
    Vining, why don't you get a SqueezeBox receiver? They are small, silent, work perfect, almost no power consumption and can be had for less than $100? You can configure them on a cmdline without the Duet remote and they give an excellent and very reliable frontend. On the VB (server hardware) I would recommend installing the SlimServer only but no player.
  • bobbob Independent Programmer Posts: 296
    glr-fti wrote: »
    Apologies if I created a thread drift...I just wanted to mention what I found. Probably should have started a new thread. Here's a link to RocketGUI: http://www.rocketgui.com/modules.html

    Hmm, looking at the video and comparing to iPeng HD or SqueezePad that you get for $10, this is just awful!
  • viningvining X Member Posts: 4,358
    bob wrote: »
    Vining, why don't you get a SqueezeBox receiver? They are small, silent, work perfect, almost no power consumption and can be had for less than $100? You can configure them on a cmdline without the Duet remote and they give an excellent and very reliable frontend. On the VB (server hardware) I would recommend installing the SlimServer only but no player.

    I like the VB players. They also use next to no power, completely quite and come with 2 TB or 4TB of storage for $399.00??. You can link multiples with rsync scripting to mirror libraries for back up plus they auto-rip cds and get cover art using Bliss. They're not KScape but I think they're great for the price. I'll get the odffice one back to working again when I get a chance back up my files and do a clean install of Fedora 14.
  • bobbob Independent Programmer Posts: 296
    But using a Raid5 on the SlimServer and there is (practically) no need for mirroring the library and you get everything centralized?!
  • Jorde_VJorde_V UX Scientist Posts: 393
    bob wrote: »
    I still don't have ANY problem controlling SlimServer with the (really) old module from Jeff Coffler. Everything works very nice and reliable without any single glitch!

    Depends on the server software you're running the latest version of the server software deprecates several functions within the module, it might still work, but it won't be pretty or the way it's supposed to be.

    If you try adding things like Internet Radio etc you'll stumble upon the ever-changing protocols etc. If you want to do really advanced stuff you're even more dependent on it. (like maintaining favorites through the AMX interface)

    So functionalities that I wanted to add simply weren't maintainable without some serious time-investment.
  • viningvining X Member Posts: 4,358
    If your using the iPad as a UI you can always just source the VBP and then launch SBS web interface http://vortexboxplayer:9000 (or http://PC running the free SBS software:9000) then you can control your music, use iRadio, Pandora or any other SB app you want. For a little nicer interface you can buy iPend for $9.99. The downside is you need to back out of TPC to launch the URL or iPeng.

    Now you don't need to write or maintain any code at all.
  • John NagyJohn Nagy CineTouch Product Manager Posts: 1,548
    vining wrote: »
    For a little nicer interface you can buy iPend for $9.99.

    That's iPeng. It is nice. I hear the author has commented that he wished he never did the app because the updates have been too frequent and painful.
  • viningvining X Member Posts: 4,358
    John Nagy wrote: »
    That's iPeng. It is nice. I hear the author has commented that he wished he never did the app because the updates have been too frequent and painful.
    Sorry for the typo.

    I'm just as happy to use the SBS web gui too so if the iPeng author calls it quits no biggy. I can use my AMX module if I want to just source music on the hard drive and if I want iRadio, Pandora...... I'll use iPeng while it still exists and the SBS gui when & if it doesn't. Still no programming and nothing to maintain at least when using iPads.
  • viningvining X Member Posts: 4,358
    Vortex now rips DVDs

    Vortex version 1.7 was just released:
    One of the most common feature requests we get is for the ability to rip DVD movies. VortexBox users have already ripped their large CD collections to VortexBox now they want to add their DVD collections as well. VortexBox delivers!

    VortexBox can now autodetect CDs or DVDs and rip accordingly. All you need to do is insert a DVD movie into the VortexBox and it will be auto ripped to MKV format. This is great for all the new media players such as Logitech Revue, Boxee Box, Windows Media Center, and XBMC.

    We have also added the latest version of SqueezeBox Server (7.4.2) and a bunch of other fixes and upgrades. VortexBox is now not only the easiest way to get CDs to your player but the easiest way to get DVDs there as well.
  • DavidRDavidR Junior Member Posts: 62
    looking for the file 'getiperror.axi'

    seems to be missing from the slimserver open source files...

    any help is appreciated.
  • viningvining X Member Posts: 4,358
    DavidR wrote: »
    looking for the file 'getiperror.axi'

    seems to be missing from the slimserver open source files...

    any help is appreciated.
    Comment out the line that includes that file and re-compile. See what errors you get. You will probably get some "Cannot find function ????" errors. Do a search for the function name/s and see what paremeters the function calls are passing to the function and create your own .axi or simply create your own function to handle these. There might just one call in the ONERROR section of the data_event handler and you can most likely comment it out if you want and deal with it later or not since it's probably just a send_string 0 message. Sometimes they do re-connect handling too so you need to see how the calls are being used.
  • DavidRDavidR Junior Member Posts: 62
    thanks... its compiling now however this squeezebox code (sourceforge) seems incomplete. there is no define_device definitions and the touchpanel example doesnt have channel, variable text and level fields defined.

    was this project ever finished?
  • viningvining X Member Posts: 4,358
    There was a module that worked but I don't recall how complete it was. I do recall it having a main.axs, a .axi file and a .axs. Keep searching the forum cuz I'm pretty sure the are links posted to the files. Search for slimserver, squeezebox or squeeze control. I forget what it actually is now.
  • youstrayoustra Junior Member Posts: 135
    Simple question on Squeezebox Setup

    I'm late to the squeezebox party. I tried the v4 from Jorde_V and couldn't make heads or tails - didn't see where/how I passed TP device addresses. The TP file was also incomplete as far as I can tell. I picked up the stuff here:

    http://squeezecontrol.svn.sourceforge.net/

    I also tried the Netlinx module lib on Sourceforge has Jeff's older slimserver module. I got it to work but haven't gotten album art going yet (followed PDF instructions) and I'd love to add Pandora etc.

    http://sourceforge.net/projects/netlinx-modules/files/SlimServerMod/

    Any guidance on which to pick? I've read what I can from the forums but haven't seen a "best practices" summary or even a primer on this. The Jorde_V stuff looks good but my flailing hasn't yielded anything yet.

    Or...should I just bite the bullet and get rocketgui's total music module? I hate not having source...

    Separately, a specific question: on Jeff's module, it seems like the album art wants to be accessed via dynamic image. My slimserver's on a QNAP box at 192.168.1.102, so the TP file suggest the target would be http://192.168.1.102:9001/fake/path/cover.jpg. That doesn't work and I'm suspicious of the terms "fake/path." Seems like a placeholder. Anybody have the specific URL reference I'd need?
  • viningvining X Member Posts: 4,358
    The port may be 9000 not 9001. Maybe the NAS is using that port and kicked you to 9001? I recall having that issue with a VotexBox and when I installed SubSonic it kicked my SS port to 9001. Check your SS > settings > Information > Server HTTP Port Number: 9000 (?).

    Settinting > Advanced > CLI > list the command port which should be 9090.

    Her's my function for the cover art:
    DEFINE_FUNCTION fnFB_SetCoverArtPath(INTEGER iUI_Indx,INTEGER iForce,INTEGER iRemoveArt)
        
         {
         LOCAL_VAR CHAR cSentRMFStr[SS_LEN_URL] ;
         STACK_VAR CHAR cNewRMFStr[SS_LEN_URL] ;
         STACK_VAR INTEGER nForce ;
         STACK_VAR INTEGER nIsApp ;
              
         nForce = iForce ;     
         
         nIsApp  = sSqzBox.sAppStat.nAppType == SS_infoApps ;
           
         //fnDevMod_DeBug("'fnFB_SetCoverArtPath: IS_APP-[ ',itoa(nIsApp),' ], IS_APP_URL-[ "',sSqzBox.sPlaylist[1].cArtworkURL,'" ], FORCE-[ ',itoa(nForce),' ] :DEBUG <',ITOA(__LINE__),'>'") ;
         if(nIsApp)
    	  {
    	  if(LENGTH_STRING(sSqzBox.sPlaylist[1].cArtworkURL))
    	       {
    	       STACK_VAR INTEGER nFBS ;
    	       STACK_VAR CHAR cProtocol[1] ;
    	       STACK_VAR CHAR cFileName[256] ;
    	       
    	       //fnDevMod_DeBug("'fnFB_SetCoverArtPath: artwork_URL-[ "',sSqzBox.sPlaylist[1].cArtworkURL,'" ] :DEBUG <',ITOA(__LINE__),'>'") ;
    	       cFileName = sSqzBox.sPlaylist[1].cArtworkURL ;
    	       if(find_string(cFileName,'http://',1) || find_string(cFileName,'HTTP://',1))
    		    {
    		    cProtocol = '0' ;
    		    }
    	       else if(find_string(cFileName,'ftp://',1) || find_string(cFileName,'FTP://',1))
    		    {
    		    cProtocol = '1' ;
    		    }
    	       if(LENGTH_STRING(cProtocol))
    		    {
    		    cNewRMFStr = "'%P',cProtocol" ;
    		    REMOVE_STRING(cFileName,'://',1) ;
    		    nFBS = find_string(cFileName,'/',1)
    		    if(nFBS)
    			 {
    			 STACK_VAR CHAR cPath[256] ;
    			 
    			 cLstArtHost = "cNewRMFStr,'%H',GET_BUFFER_STRING(cFileName,nFBS-1)" ;
    			 cNewRMFStr = cLstArtHost ;
    			 GET_BUFFER_CHAR(cFileName) ;
    			 
    			 WHILE(find_string(cFileName,'/',1))
    			      {
    			      cPath = "cPath,REMOVE_STRING(cFileName,'/',1)" ;
    			      }
    			 if(length_string(cPath))
    			      {
    			      SET_LENGTH_STRING(cPath,LENGTH_STRING(cPath)-1) ; //remove ending "/"
    			      cNewRMFStr = "cNewRMFStr,'%A',cPath" ;
    			      }
    			 cNewRMFStr = "cNewRMFStr,'%F',cFileName" ;
    			 //fnDevMod_DeBug("'fnFB_SetCoverArtPath: RMF STR-[ "',cNewRMFStr,'" ] :DEBUG <',ITOA(__LINE__),'>'") ;
    			 }
    		    else
    			 {
    			//fnDevMod_DeBug("'fnFB_SetCoverArtPath: BAD URL format, no "/" found artwork_URL-[ "',sSqzBox.sPlaylist[1].cArtworkURL,'" ] :DEBUG <',ITOA(__LINE__),'>'") ;
    			 }
    		    }
    	       else
    		    {
    		    nFBS = find_string(cFileName,'/',1)
    		    if(nFBS)
    			 {
    			 STACK_VAR CHAR cPath[256] ;
    			 
    			 cLstArtHost = "'%P0%H',sSqzBox.sPlayer.cArtHost" ;
    			 WHILE(find_string(cFileName,'/',1))
    			      {
    			      cPath = "cPath,REMOVE_STRING(cFileName,'/',1)" ;
    			      }
    			 if(length_string(cPath))
    			      {
    			      SET_LENGTH_STRING(cPath,LENGTH_STRING(cPath)-1) ; //remove ending "/"
    			      cNewRMFStr = "cNewRMFStr,'%A',cPath" ;
    			      }
    			 cNewRMFStr = "cLstArtHost,'%F',cFileName" ;
    			 //fnDevMod_DeBug("'fnFB_SetCoverArtPath: RMF STR-[ "',cNewRMFStr,'" ] :DEBUG <',ITOA(__LINE__),'>'") ;
    			 }
    		    else
    			 {
    			//fnDevMod_DeBug("'fnFB_SetCoverArtPath: BAD URL format, no "/" found artwork_URL-[ "',sSqzBox.sPlaylist[1].cArtworkURL,'" ] :DEBUG <',ITOA(__LINE__),'>'") ;
    			 }
    		    }
    	       }
    	  else
    	       {
    	       cLstArtHost = "'%P0%H',sSqzBox.sPlayer.cArtHost" ;
    	       cNewRMFStr = "cLstArtHost,'%Amusic/-235991648%Fcover.png'" ;
    	       }
    	  }
         else
    	  {
    	  if(cLstArtHost != sSqzBox.sPlayer.cArtHost)
    	       {
    	       cLstArtHost = "'%P0%H',sSqzBox.sPlayer.cArtHost" ;
    	       cNewRMFStr = cLstArtHost ;
    	       }
    	  if(length_string(sSqzBox.sPlaylist[1].cID) && !iRemoveArt)//length_string(sSqzBox.sPlaylist[1].cTitle) && 
    	       {//http://<server>:<port>/music/<track_id>/cover.jpg
    	       cNewRMFStr = "cNewRMFStr,'%Amusic/',sSqzBox.sPlaylist[1].cID,'%Fcover.jpg'" ;
    	       }
    	  else
    	       {
    	       cNewRMFStr = "cNewRMFStr,'%Amusic/0%Fcover.png'" ;     //music/0            music/current   cover.jpg?player=0.0.0.0
    	       }
    	  }
         if(cSentRMFStr != cNewRMFStr || nForce)
         	  {
    	  nForce = 1 ;//in case it isn't already for the next step
    	  cSentRMFStr = cNewRMFStr ;
    	 //fnDevMod_DeBug("'FB_SetCoverArtPath: UI CMD-[ "^RMF-Cover_Art,',cNewRMFStr,'" ] :DEBUG <',ITOA(__LINE__),'>'") 
    	  fnFB_DoSend_UI_CMD(iUI_Indx,"'^RMF-Cover_Art,',cSentRMFStr") ;
    	  }
    	  
         if(nForce || iRemoveArt)
    	  {
    	 //fnDevMod_DeBug("'FB_SetCoverArtPath: UI CMD-[ "^RFR-Cover_Art" ] :DEBUG <',ITOA(__LINE__),'>'") 
    	  fnFB_DoSend_UI_CMD(iUI_Indx,"'^RFR-Cover_Art'") ;
    	  }
    	  
         RETURN ;
         }
    

    Specifically this section should provide the cover art for files on oyur NAS:
    else
    	  {
    	  if(cLstArtHost != sSqzBox.sPlayer.cArtHost)
    	       {
    	       cLstArtHost = "'%P0%H',sSqzBox.sPlayer.cArtHost" ;
    	       cNewRMFStr = cLstArtHost ;
    	       }
    	  if(length_string(sSqzBox.sPlaylist[1].cID) && !iRemoveArt)//length_string(sSqzBox.sPlaylist[1].cTitle) && 
    	       {//http://<server>:<port>/music/<track_id>/cover.jpg
    	       cNewRMFStr = "cNewRMFStr,'%Amusic/',sSqzBox.sPlaylist[1].cID,'%Fcover.jpg'" ;
    	       }
    	  else
    	       {
    	       cNewRMFStr = "cNewRMFStr,'%Amusic/0%Fcover.png'" ;     //music/0            music/current   cover.jpg?player=0.0.0.0
    	       }
    	  }
    
    If I recall if you don't have a song ID to use you can use the generic "music/0/cover.jpg" for the file path and this will return what the SS is showing as the now playing song.

    I don't recall if Jeff originally used the song ID or if that's something I added to my adapted version.

    Pandora does work with the SS through AMX code but it's not the easiest thing to add into the module. You also need to get a Logitech hardware player to get Rhapsody to work even with RocketGUI (I think), can't just have SS running on something. I just happened to be looking into it today to see what's required and that's my take so far.
  • youstrayoustra Junior Member Posts: 135
    Thanks a bunch. I sorted the album cover out and have gotten familiar with the module. I was going to punt and just buy RocketGUI but my bench NI4k has an invalid serial and RocketGUI won't sell me the module (unless I RMA the NI4k). I'm running out of time, so I'm going to have to see if I can get Pandora going on my own. Does anyone have a Pandora enhancement (and/or general update) for this module they'd be willing to share? I promise to not ask you tech questions or expect any support...
  • viningvining X Member Posts: 4,358
    Well I got my SqueezeBox Touch and with just the Touch you can control Pandora and Rhapsody through AMX and the Touch has the audio outs onboard to connect to your audio switcher so it's pretty cool and relatively cheap and all that is needed. You could also connect a harddrive to its USB port ( i think) and use that to store music files for the SqueezeServer that runs on the Touch. You need at least an SD card in the SD slot to run SS in order to get Pandora and Rhapsody to work to. I assume the other apps would be similar to incorporate with a harddrive connected to the USB slot.

    You can run Pandora on anything that runs SS such as PC, NAS or the Vortexbox but you need a Touch (or Radio) for Rhapsody.

    Youstra, if you PM me with your email I'll send you what I got when I get a chance. Rhapsody is a work in progress but does work, I just need to figure out some addtional commands so I can add/delete albums/tracks from "my library". I've only had Rhapsody for a couple of hours now so I still don't really know what it's capable of so I need to play with it on the Touch to see what can be done on there and then see what I can duplicate on AMX. I'm also impressed with the sound quality and having access to 13 million songs and tens of thousands of albums is pretty neat. I now see why people ask for it.
  • John NagyJohn Nagy CineTouch Product Manager Posts: 1,548
    Are you able to do 2-way to the Touch? Is this likely to be more stable than the Duet? And does control not require a Server (Vortex or whatever)?
  • viningvining X Member Posts: 4,358
    John Nagy wrote: »
    Are you able to do 2-way to the Touch? Is this likely to be more stable than the Duet? And does control not require a Server (Vortex or whatever)?

    Yeah you just control the Touch itself which can run its own SS if you install an SD card so it has enough memory to load SS. Then its basically the same as any other SS running on any other platform. Obviously the SD card won't allow you to store alot of music so if you want to play ripped CDs too you'd want a hard drive connected to the Touch's USB port instead of or in addition to the SD card. Then just buy a touch per number of zones you want and no VB or SS running on a PC, just Touchs or you could have a common VB or similar so all the Touchs stream stored files from that.

    As far as stability goes i' ve only had it for a day so that's TBD and I've never played with a Duet before just VBs so i have nothing to compare to other than the VBs which can't do Rhapsody but can do Pandora.
  • John NagyJohn Nagy CineTouch Product Manager Posts: 1,548
    By stability, I was referring to the protocol staying the same. But it if is SlimServer again, it's back into the protocol of the day game they've played for years...
  • viningvining X Member Posts: 4,358
    The last few versions of SS allows you to disable automatic updates.

    Setting > Advanced > Drop Down to "Software Update" > change to "Don't check for Software updates".

    Then you should remain stable unless the setting values aren't persistent. Of course I just tried that with the Touch and that doesn't have that option while the VB does. The Touch doesn't seem to have a web interface either.
  • viningvining X Member Posts: 4,358
    Not that it's anything I would want to do but you can also use the Touch to display facebook on a TP. The same code that allows you to do Pandora, Rhapsody, MOG, Sirius Radio, Spotify, etc, etc, etc will also allow you to view facebook news feeds, My Wall, My Photos and Friends. There would definitely be a bit more code to write in order display all the pics and stuff but it could be done with out too much difficulty.
  • elrichmeisterelrichmeister Junior Member Posts: 6
    Sorry to bump an old thread, but I have to quote a job, and one of the items on the system is a Vortex box. Im new to this type of equipment and I'm not sure how to implement it exactly. So im going to start with things i know about it, and then ask some questions.


    This is what i know.
    1. The vortex box is music server that stores all music files and such. It serves as a back end for the front end player.
    2. It also has built in player so that you can play music files localy out of the audio output.


    What I want to know:
    1. Does this module control the VB player directly?
    2. Does it need like squeeze box player device that interfaces with the Vortex box?


    Well basically i want to know what other software or hardware is needed to implement the vortex box in an AMX touch panel.

    Thank You.
  • viningvining X Member Posts: 4,358
    The VB appliance now ships with a dvd drive so you can also rip dvds in mkv or mp4.

    There's also an audiophile version $$$ http://vortexbox.org/content/141-SOtM-sMS-1000-audiophile-VortexBox

    The VB appliance runs the logitech squeezebox server at that't what the module interfaces with for playing music. For dvds you control a WD, boxee, popcorn, dune, oppo or other streaming appliance.

    The VB can't do Rhapsody for that you need a logitech player.

    Since it doesn't do Rhapsody i've been using a logitech touch with a 2TB usb hard drive and rip using dbPowerAmp. I think Rhapsody is the only app the VB won't do. I canceled the spotify, mog and other apps when i was done testing and now i don't actually recall if the VB did those too or just the touch.
Sign In or Register to comment.