TiVo Music Server for Android

Discussion in 'TiVo Home Media Features & TiVoToGo' started by sinanju, Jul 26, 2011.

  1. sinanju

    sinanju Active Member

    863
    60
    Jan 3, 2005
    I've written a music server for Android. The app is free and in the market. You can find it here: https://market.android.com/details?id=earlmagnus.androidhme

    I don't have a lot of options for testing a variety of environments, so if you have trouble with it, please let me know by posting here. I know, for example, there may be a Bonjour/Rendezvous issue with the app and S2s... it's not clear yet if that's my code, the environment the S2 is in, or an imperfect of understanding of the required service description on my part.

    Here is the description in the market:


    Have an Android device with lots of MP3s? Have a TiVo connected to your home sound system? Now you can stream MP3s from your phone or tablet to your TiVo over WiFi.

    How it works:

    Start the application to start the music server. Shortly after starting, the application will tell you its service has been published and, at that point, "Music on Android Device" should appear in the "Music and Photos" menu of your TiVo, near the bottom. Select that menu item to begin browsing your music.

    The top-level directory will show two or three entries. You can browse by Album or by Playlist. On versions of Android that provide Album Artist information -- Gingerbread/2.3.3 and higher -- you can also browse by Artist. You can start playback from the Artist, Album, Playlist, or individual track level. Because the top three entries are "virtual" rather than physical directories, you cannot start playback from there.

    The back button will exit the application an shut down the server. If you want to do other things on your device while the server is running, hit the home button. You can return the application to the fore by tapping its icon or its line in the notification area.

    The Application interface will display the Album, Artist, Track and Album art for the track being sent to the TiVo. If no album art is available, the "TiVo Guy" will be shown.

    The menu button will enable you to set the name of the device that should appear in the TiVo's menu. It will let you chose the behavior of the server when the TiVo tell it you have left the music interface -- exit or remain running. You have the option of using beacon or mDNS for discovery. Beacon will be more reliable on Android and is the default. If you change preferences, the server will restart.

    Clicking ads (and supporting the developer) will not interfere with playback.

    Known Issues:

    Although Android supports a number of audio formats, the TiVo supports only MP3. Only MP3s will be played.

    The MP3s must be on an SD card. Unfortunately, Android makes one choose to fetch music information from internal or external storage. Since internal storage tends to be limited, I use external. If there is demand, I will provide a preference in a later version.

    Shuffle is not well supported. The TiVo protocol expects the server to be able to support a repeatable random sequence of tracks and provides a "seed" to facilitate that repeatability. The database used by Android cannot use the seed, so it cannot provide a repeatable random sequence of tracks. As a result, the current implementation is a bit of a hack. I'm working on a solution.

    The TiVo sometimes will not properly advance tracks, especially if you have used the channel up/down buttons to advance tracks. This problem exists even when using the official TiVo Desktop. If you have that problem, use the "skip to tick" button (->|)to advance or left-arrow out to the track listing and play from the desired point instead.

    Seek has not yet been implemented. Fast forward and rewind are disabled.

    Some home networks with multiple routers or range extenders may have "accidental" subnets. If the Android device and the TiVo are on different subnets, they will not find each other.

    Be aware:

    The server will prevent the device from sleeping as long as it is running. You can shut off the screen, but WiFi and an awake CPU will consume power. If you do shut the screen off, performance of switching between tracks or browsing may be somewhat degraded. You will probably want the device to be docked or otherwise plugged in while running the server.
     
  2. wmcbrine

    wmcbrine Well-Known Mumbler

    11,653
    786
    Aug 2, 2003
  3. sinanju

    sinanju Active Member

    863
    60
    Jan 3, 2005
    Yes... I misnamed the package and never refactored it.

    Thanks for the pointer. If multicast becomes an issue, I'll be implementing the beacon.
     
  4. sinanju

    sinanju Active Member

    863
    60
    Jan 3, 2005
    The beacon was relatively straightforward to implement. I pushed an update.
     
  5. Aug 3, 2011 #5 of 14
    CuriousMark

    CuriousMark Forum Denizen

    2,620
    3
    Jan 13, 2005
    SoCal
    The Beacon works with my S2. I have it running and playing well. This is very nice!
     
  6. Aug 6, 2011 #6 of 14
    sinanju

    sinanju Active Member

    863
    60
    Jan 3, 2005
    V 1.3: Corrected a wifi lock issue and a lifecycle issue when exiting from the TiVo.
     
  7. evp

    evp New Member

    1
    0
    Nov 11, 2011
    Great app!

    Could you please add the Screen Off button/option? My Sprint Motorola Photon stops streaming as soon as I push the hardware Power Button to turn off the screen. A built in software solution would be a huge battery saver.

    Thanks,
    Ed
     
  8. sinanju

    sinanju Active Member

    863
    60
    Jan 3, 2005
    That's not a problem I have with Gingerbread on a Google Nexus One. In fact, I acquire CPU and WiFi locks in a way to specifically enable automatic screen dimming and the user optionally turning the display off while still streaming.

    Either Moto did something funky to save power, defeating my code, or your using an old version of the code that had a lifecycle issue. Visit Market>My Apps on your device and make sure you don't have a update for the app waiting to be installed. If you have the latest, it's a device issue.
     
  9. mmf01

    mmf01 Member

    146
    10
    Jan 31, 2011
    Orange...
    This is a great app!! Any chance of adding an option to scan folders and sub-folders with the .nomedia flag (i.e. Google Music Cache Folder) ;)
     
  10. sinanju

    sinanju Active Member

    863
    60
    Jan 3, 2005
    I don't actually scan the media... Android does and it provides the database. Unfortunately, it's not as easy as renaming the .nomedia flag. The cached mp3s are not tagged... even the ones that were uploaded with tags.
     
  11. mmf01

    mmf01 Member

    146
    10
    Jan 31, 2011
    Orange...
    Didn't realize tags aren't embedded. Thanks anyways. :)
     
  12. doyling

    doyling Member

    41
    0
    Aug 11, 2006
    I have been playing with it a bit and it's fun. In the past I would run a 1/8 connector into the headphone jack and into my home theater. Now with this I am wireless, until it comes time to charge. Plugging into my computer then disables the SD card. Even when choosing charge only on the phone. Will have to just use the wall charger.
     
  13. pics4u

    pics4u New Member

    1
    0
    Apr 5, 2012
    I'm new to this app so I'm not sure what part of the lifecycle was fixed...However, I still experience the app stopping whenever I make a change on tivo....this requires a restart before being able to stream music again....

    Any ideas?

    thanks
     
  14. deek102

    deek102 New Member

    11
    1
    May 4, 2008
    Hi Sinanju,

    Love the idea, love the app, but I'm having a problem with many tracks skipping. I'm running a TiVo Premiere and I have Android 2.2.1 on a Samsung Galaxy S 4g.

    It's not all tracks and I've yet to identify a pattern. I'm going back and re-playing the track I had issue with and it doesn't seem like it's having the problem this time...

    I'm not using my phone while this occurs. My phone is plugged into a power source and sitting on my coffee table.

    I guess a background app could be spiking the CPU and taking away from your app but I'm not sure.

    Any advice?
     

Share This Page