1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Announcing: TivoSlimserverClient (alpha)

Discussion in 'Developers Corner' started by mondelicious, May 10, 2006.

  1. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    TivoSlimserverClient 0.1a

    Basically, I decided to replace Tivo Desktop's iTunes sharing with something more useful to me. I have a large number of albums and artists, which Tivo Desktop renders as long lists. Only useful for artists or albums starting with "a" or "b." SlimServer's web client is great for browsing music and building playlists.

    This is NOT a port of SoftSqueeze. Because Tivo is limited to mp3 playback, I opted to take advantage of the remote http streaming capabilities of SlimServer, and turn the Tivo into a Banana-fied web client.

    There is still a lot of functionality in SlimServer that could be implemented in this client in the future. And because this is not only my first Tivo HME app, but my first Java project, the code could do with a lot of optimization/refactoring.

    Still, what is there is usable and I hope that this app will help more people enjoy their mp3s in their living rooms (without buying more gear).

    announcement: http://edmondcho.com/blog/?p=13

    Enjoy!
    mondelicious
     
  2. gonzotek

    gonzotek tivo_xml developer

    2,429
    9
    Sep 24, 2004
    Outside...
    Awesome! I'll try this out as soon as I have time.
     
  3. Jun 5, 2006 #3 of 51
    atulc

    atulc New Member

    2
    0
    Jun 5, 2006
    Dear mondelicious,

    I a new to TiVo HME apps. Could you compare and contrast your TivoSlimServerClient application with the Galleon HME client? If all one can stream to TiVo is MP3 files, what is the value add from using Slimserver and the TivoSlimServerClient vs. other MP3 clients such as Galleon? Does TivoSlimServerClient offer better user functionality than the Galleon client?

    Thanks
     
  4. Jun 8, 2006 #4 of 51
    mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    Hello, atulc.

    I have happily used Galleon to listen to mp3 files and to use TivoToGo-like features from my mac. It is definitely a very useful set of apps and a handy framework. In fact, I will soon post a download link of just the app jar itself, so that it can be launched within a framework like Galleon.

    What I think is gained from SlimServer is the ability to remotely stream a wide range of formats as mp3. This depends on having lame encoding available. See this article:
    http://wiki.slimdevices.com/index.cgi?RemoteStreaming

    What this means is that any format that SlimServer can transcode to mp3 can now be streamed over to my Tivo! SlimServer has a very large set of supported file formats. There is a FAQ section devoted to file formats here:
    http://faq.slimdevices.com/index.php?sid=34485&lang=en&action=show&cat=7

    Instead of having Tivo open mp3 files from your desktop computer, this is more like opening up a streaming radio station, which is based on your desktop. SlimServer controls what plays on the station. And you control SlimServer from TivoSlimserverClient. Queue up songs jukebox-style and manipulate the queue.

    The main reason I decided to pursue this solution is that TivoDesktop for Mac was frustrating to use. Browse Artists presents me with one list of every artist in my collection. Hardly workable with over 800 artists. It took forever just to get to the letter B. I wanted a way to jump to artists that start with S or Z.

    I had been using this for a while and thought that other people might enjoy it. It is much more enjoyable to listen on the couch than sitting at my desk in the home office.

    Thanks for your interest.
    mondelicious
     
  5. brunson

    brunson New Member

    14
    0
    Apr 26, 2005
    Mondelicious,

    Sorry, but I don't get how it's supposed to be run. Is it an application to run under TivoHME/Galleon? The jnlp has an absolute path to your home directory in it and it fails with trying to run it with Java Web Start, so it throws an exception and I have to abort.

    Thanks,
    e.
     
  6. atulc

    atulc New Member

    2
    0
    Jun 5, 2006
    Hello mondelicious,

    Thanks for the detailed reply. Now I understand the motivation behind TivoSlimServerClient -- the ability to leverage Slimserver based transcoding to MP3 of other audio formats and Slimserver's ease of browsing a large music collection. I will give your application a try. I will provide you feedback in case I can think of possible enhancements.

    Regards,
    atulc
     
  7. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    Sorry about your troubles. To answer your first question, yes it is supposed to run under TivoHME. BUT, I guess it could be confusing because after successfully launching, the app doesn't show on the desktop until it is called on from the Tivo. It just lurks in the background.

    Although, it sounds as if you haven't been able to get that far. I just tried downloading and running from outside my home directory and things seemed fine. I will upload the latest development version I've been tinkering with. Maybe you'll have better luck with it.

    mondelicious
     
  8. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    I have updated the downloads on my website with version 0.2a of TivoSlimserverClient. There are now 2 options: jnlp and jar.

    The jar is provided for Galleon users who would like to run TivoSlimserverClient from the Galleon service. Just follow the instructions here: http://galleon.tv/content/view/41/47/

    The line to add to the launcher.txt file is:
    com.edmondcho.TivoSlimserverClient

    There is no administration screen at the moment. You'll have to go to your Tivo to test if things are working.

    Before I came onto the Java Web Start solution, I was using Galleon as my tivohme environment to host TivoSlimserverClient. Back then, I added the jar to Galleon's "apps" folder, not the "hme" folder as is stated in the FAQ. If the "hme" folder doesn't work, you can try that.

    I hope that this new jnlp takes care of the exception that was occuring in 0.1a.

    mondelicious
     
  9. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    I have gotten another report of java web start problems. Since I am not having much success with jnlp, I am dropping it for now.

    There is a new download available containing the TivoSlimserverClient jar and the necessary hme and bananas jars, along with a script to launch.

    Find it at: http://edmondcho.com/products/tivoslim.php

    mondelicious
     
  10. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    Bonus update! I have put together a rather crude Mac OS X app bundle and made it available on my website.

    Just one window with a text area that shows terminal output. Launching the application just runs the same start script that comes in the app + hme jars version. This just insulates Mac users from the command line a bit. No need to type any commands.

    mondelicious
     
  11. diomark

    diomark New Member

    19
    0
    Nov 3, 2006
    Hey there,

    I was totally looking for a slimserver solution like this - but on my series 3, it's hung up on the 'please wait...' when starting:(

    -mark
     
  12. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    Hey,

    Congratulations on the Series3!

    Unfortunately, I don't have access to a Series3 and I don't know how well TivoHME works on it.

    What I do know is that with a large music library/slower computer, the Please Wait... screen can take a long time.

    This is something I'd like to change for next time. I won't be able to load faster, but maybe I could load the app before I analyze the library instead of the other way around.

    Ed
     
  13. diomark

    diomark New Member

    19
    0
    Nov 3, 2006
    I have about 30k songs in my collection, so maybe I'll try giving it more time.. Was this designed with a particular version of slimserver in mind? (I'm running 6.5.1)

    -mark

     
  14. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    Uh oh, looks like I'm falling behind. I am running 6.3 without problems.

    The changelist for 6.5 raises some major flags. In particular these 2 items:
    Major rework of CLI internals
    In particular see the what's new section for some information on changes that could break existing clients

    Looks like I might have a lot of work to do...
     
  15. diomark

    diomark New Member

    19
    0
    Nov 3, 2006
    (lame - I just had to go back and post some quick replies in the coffee forum to be able to post a link in this thread...)

    6.5 is awesome compared to 6.3.. (speedwise..) - i'm used to 6.3 pausing the music/lagging a bit when searching/etc.. none of those concerns w/ 6.5...

    Try it you'll like it..

    Also have you seen this?
    http://www.ex-parrot.com/~pdw/slimp3slave/

    It's one of the simpler slim-protocol clients that I've seen (and open source w/ the cvs accessible..) - I used to use the url/stream.mp3 to stream my slimserver box; lately I've started using this and/or the softsqueeze just because going from song to song (skip song/etc) is so much faster with it (none of the 5-6 second lag that you get from just streaming) - incidentally at least in 6.5 you still have the ability to transcode down to an mp3 format using the slim protocol.

    Keep up the great work! Your hme looks awesome although I'm sad that I can't seem to use it:(
    -mark

    (ps - finally got an error from the please wait screen - 'An error occured while running the application. HTTP failure (HTTP connection error: 0x50005)



     
  16. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    hello.

    I am about to travel for a few weeks, but before I leave... here's a gift.

    TivoSlimserverClient-0.2.1a

    Just made a few minor adjustments to let users of SlimServer 6.5 use my hme app.

    http://edmondcho.com/blog/2006/11/11/tivoslimserverclient-021a/

    Let me know if it works on the Series3! The background may be cropped if you have a widescreen hdtv. I went 4:3 to begin with.
     
  17. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    I'm leaving tomorrow, so I don't have time to make the OS X wrapper work. The dmg download remains at 0.2a for now.

    Ed
     
  18. diomark

    diomark New Member

    19
    0
    Nov 3, 2006
    Hi,

    I'm having an issue with this.. It keeps picking up the wrong network interface (MDNS: http://172.16.37.1:7288/tivoslimserverclient/ is grabbing a different IP subnet then my tivo...)

    Is there a way to force it to use a different interface?

    Thanks,
    -mark
     
  19. mondelicious

    mondelicious New Member

    29
    0
    Jul 26, 2005
    Mark,

    According to this post:
    http://www.tivocommunity.com/tivo-vb/showthread.php?p=3750750&&#post3750750

    You can try adding --intf 172.16.37.1 after com.tivo.hme.host.sample.Main when launching the hme host.

    Make this change in start.sh, if that is how you are launching.

    In the future, I will try to support that flag in the start script so that it's not necessary to edit the actual script.

    Ed
     
  20. diomark

    diomark New Member

    19
    0
    Nov 3, 2006
    That worked:) but it's crashing now -

    On tivo, it's getting an 'error occured while running the application. the application closed during a write (0xffff)'



    On the linux box, it's crashing with the following error -

    Code:
    56 status - 1 player_name:172.16.15.156 player_connected:1 mode:stop playlist%20repeat:2 playlist%20shuffle:0 playlist_tracks:0
    playlist index ?
    laylist index 0
    java.lang.NumberFormatException: For input string: "laylist index 0"
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
            at java.lang.Integer.parseInt(Integer.java:447)
            at java.lang.Integer.parseInt(Integer.java:497)
            at com.edmondcho.tivoslimserverclient.TivoSlimserverClient$Status.loadIndex(TivoSlimserverClient.java:412)
            at com.edmondcho.tivoslimserverclient.TivoSlimserverClient$Status.<init>(TivoSlimserverClient.java:363)
            at com.edmondcho.tivoslimserverclient.TivoSlimserverClient.init(TivoSlimserverClient.java:108)
            at com.tivo.hme.sdk.Application.open(Application.java:428)
            at com.tivo.hme.host.sample.Listener.handleHME(Listener.java:280)
            at com.tivo.hme.host.sample.Listener.handle(Listener.java:381)
            at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
            at java.lang.Thread.run(Thread.java:595)
    null
    players count ?
    ?
    ?
    players count ?
    ?
    ?
    LOG: HME receiver disconnected
    
    (there's alot of what looks like scanning activity prior to that...)

    -mark

     

Share This Page