TaSageTV Application

From Tallus LLC Wiki
(Redirected from TASageTV Application)
Jump to: navigation, search


TiSageTV Icon.png

Tallus android SageTV allows you to monitor your SageTV Server, by browsing your Favorites, Scheduled recordings, etc. It also doubles up as a remote control, to navigate all your Client(s) and/or Extender(s), start/stop/pause playback, etc. All this through the comfort of your Android phone or tablet.

TASageTV connections.jpg



- Android device with the OS 2.1 or newer.
- SageTV version 7.
- SageTCPServer and its dependencies.
- TaSageTV.

Trial / Purchase[edit]

In addition to the Google Play version, there is also a trial version. The TaSageTV trial installs on the Android device fully functional, but comes with a limitation as far as the number of items available per list (max. of 10). This should give you a good understanding of what its capabilities are before purchase.

Use SageTV's version 7 plugin interface to install the SageTCPServer plugin and its dependencies. Then download the TaSageTV application and simply install it from your Downloads directory on the device. Some devices restrict installation of non Market sourced Apps, for those you can try this: ATT workaround

You can purchase TaSageTV Here (one per device).



- The hardware Menu button will bring up the "Options menu" from the Main screen and an appropriate one from the other pages. This is where you access the Registration, Application/Server settings, get to access a Remote control for the Client or monitor its Status. On the Media Center page you could synchronize the local database, or when looking at detailed information about a file, you might be able to start playback or streaming.

- The hardware Back button will bring you to the previous screen, or kill the application if pressed from the Main screen.

- The hardware Home button will bring you to your device's Home screen, while keeping the TaSageTV application running in the background and receiving data.

- Not everything fits in a page, so you might need to flip/scroll down to see everything...

- The best experience is provided with the phone in the Portrait orientation, though it works just fine in landscape. On the About screen, you will notice an icon. Pressing it will toggle between locked (in the current orientation) and sensor.




If you have purchased the application, this is where you can input your activation key. This will remove the various limitations, like 10 items per lists and so on. Starting version 2.09, should you replace your phone, you can start by releasing the current TASageTV license, then simply enter the activation key on the next one and activate.

If you upgrade the firmware, the release/activation cycle should happen transparently. If you replace the Android device without releasing the license first, just enter the activation key in the new device.


Server settings

The TaSageTV application needs to connect to the SageTCPServer plugin, which will act as a bridge to the SageTV Server and any possible Client or Extender. The various lists (i.e. Recorded shows, Scheduled recording, Clients, etc.) are obtained from the PC running the SageTV Server. The Name will appear in the Server selection, so chose an appropriate one. Typing ipconfig at a command prompt is one way to obtain that machine's IP address/Hostname. The port would match Server entry in SageTCPServer (i.e. default port 9250). If you set a password in SageTCPServer, you will need to enter it here. If you want to be able to access from outside your home network, see the 3G/External server section.

Pressing the Apply will save the configuration and attempt to connect to the server using your new parameters. Pressing the Add server will save the configuration and attempt to connect to the new server using your new parameters.

The screenshot shows a small icon (top-right corner), which makes it possible to see at a glance that the Server is connected (antenna), but if it had failed to connect the symbol would have shown ("X").

Client settings

The TaSageTV application can control SageTV clients (PC / extenders). All client settings are made within the SageTCPServer plugin.


In order to see thumbnails in some of the lists and in the detailed information about some items, the SageTCPServer plugin will have installed the Sage Remote API (Sagex service in the SageTV 7 plugin interface) and the Phoenix API. If you are not using the default username and password for the Jetty web server, make sure to change them here.

You can also set the Streaming delay (if your device is too fast for your server), Clear the image cache, set how many Days to keep images or Wipe the TaSageTV database. If your Android device has been customized with the result that the dropdown lists are displaying white on white, you can overwrite that behavior. For the VLC streaming, you can select which profile to use (defined in SageTCPServer).

Detailed installation[edit]

Since this application is not available on The Market, there are Android applications like AppsInstaller which makes it possible to install downloaded applications... If you have Astro on your phone you can point your phone browser to the wiki and download the newest version.

The easiest way to grab the current version is through DropBox with the free Android app. If you don't already have an account, you can use this referral link. Then let us know the email address you used, so we can share a folder with you.

Use SageTV's version 7 plugin interface to install SageTCPServer and its dependencies.

Warning: Make sure to use unique port numbers for the sage UI and each Extender/Client.

To enhance your experience, you can do the following optional steps:

1) If you want to see information about more of the upcoming recordings, in SageTV's Detailed settings/Customize, change the value of "Number of days to Schedule Recordings".

2) Set Debug to true in the plugin interface and in the Detailed settings/Advanced.

If things are working well, feel free to keep it as false. However, if you are asked for the sage log, then set this to true, restart sage to reproduce the problem, and send the logfile. The file will have the name "sagetv_0.txt" and it will be located in the SageTV\SageTV folder.

3) System messages

In order to enable System messages, Shutdown SageTV and its service, then edit the file C:\Program Files\SageTV\SageTV\Sage.Properties and add the following line:


where X is a value from 0-3; with 0=No Alert, 1=Info Alert, 2=Warning Alert, 3=Error Alert.

4) Streaming

In order to stream your video files, you will need to install VLC (version 1.0 seems to work best. 1.1 doesn't work at all.) on the same PC hosting your SageTV Server. Originally, two types of streaming are supported: HTTP and RTSP, though only one type can be configured/used at a time. It has been confirmed to work with the HTC phones, the Droid X and the Android OS 2.2, but other built-in media player tend to lack support for progressive streams (i.e. on the fly re-encoding). (for streaming over 3G try rtsp port 554, 80, 8080, or 7070, watch for conflicts with jetty or other web servers)

To tailor the parameters to your need, you can also redefine the following default Android parameters (i.e. don't put those lines in if the default values are fine):

sageTCPServer/streamingVLCOptions=-I dummy --one-instance --extraintf oldhttp --sout-keep 
  --no-sout-rtp-sap --no-sout-standard-sap --rtsp-caching=5000 -f
sageTCPServer/streamingVLCPath=C:/Program Files/VideoLAN/VLC/vlc.exe

If you have the debugging enabled, you can see the exact string being executed to launch VLC.

When you have a video file selected, pressing the Stream option will bring up the About page, with an extra link to view the stream. It appears that HD-PVR recordings do not stream properly. Streaming DVD might also be an issue, unless they are ripped to a single MPEG2 file...

5) VLC Remote

Should you want more controls over VLC, you can use the Android VLC Remote application.

3G/External server[edit]

If you want to be able to access through wifi as well as 3G, other servers can be defined, typically they would use the same port (i.e. 9250), but would be named differently (like say 3G) and use a different host/IP address. DSL or cable modems get different IPs regularly, so you can't just point your mobile web browser at what http://www.whatismyip.com/ shows... What you do is 1) register with (dyndns.com or any similar services), to get a free account. You will get a custom IP address like fonceur.homedns.com. 2) Use either your router's function or a little service system tray app they provide to tell dyndns.com what your external IP is, and they'll update their records. 3) In your router, forward a port from your external IP to your sage server. If your sage server is, then you would forward all the relevant external ports (i.e. 8080, 9250, 926x) to that IP.

Alternatively, Twieder suggested on a DD-WRT compatible router, to add your SageTV system to the"Additional DnsMASQ Options" : address=/your.sagetv.domain/192.168.###.###. Your router is your DNS server, getting and redirecting queries to your providers DNS server. You are simply telling DNSMasq to return a hard-coded internal IP for all requests to resolve that name. It is working like a HOSTS file, but for all the devices serviced by the router (and that have the router's IP setup as their DNS server).

Streaming Configurations[edit]

Streaming should be considered Beta, but some software combinations have proven successful. Here is a Table of combinations that have worked:

Status Device Android OS SageTV TASageTV TCPServer VLC Port Android Player Format(s) Notes
Streams Droid 2.1 7.0 1.09 1.6.0 1.0 554 Movies mpg Sound delayed ~250ms
Streams Placeholder 2.1 7.0 1.09 1.6.0 1.0 554 Movies mpg Sound delayed ~250ms
Total Phones 2


Typically, once you have reached the detailed view of an item, you are given multiple options, either through on-screen buttons or through the Option/Overflow menu.

Add to playlist: This will add an item to the selected Playlist (check Media center/Playlists section).
Delete: This will delete the TV Recording from the SageTV server.
Delete all: This will reset the System messages on the SageTV server.
Play: This will start playback on the selected Client/Extender.
Start the playlist: This will start the selected Playlist on the selected Client/Extender.
Stream: This will stream audio/video to the Android device using VLC.
Stream XYZ: Stream using XYZ...

If a Client has been configured (i.e. Extender, SageTV Client or SageTV Server's UI), it is possible to control it with the equivalent of a Remote control. From most pages, you can access it by pressing the hardware Menu button, then tapping Remote. Using the hardware Back button will take you back to your previous screen. When LiveTV or any playback is started, the Remote control will automatically be shown.

The keys should match the functionality of the IR remote control included with the SageTV HD Theater (i.e. HD200). It is possible to enter text through the built-in keyboard and send it to the Client. A set of 7 custom buttons can be configured in SageTCPServer. The name of the monitored SageTV Client appears in the title bar.

In the case of the HD200/300, the Power button should be able to take it out/into Standby mode, though sometimes it does totally lose network access and will require the actual IR remote control to power it back on. On a software Client, this same Power button will toggle between the full screen and minimized mode. On a HD100, it no longer seems to work. No reports have been provided on the Hauppauge MVP.

TASageTV-Control.jpg TASageTV-Control2.jpg TASageTV-Control3.jpg


- Thanks to jorton and Fuzzy for some of the graphics.
- Thanks to Fedor for the Lazylist.
- Thanks to Icons etc. for the Matte Blue and White Square Icons.
- Thanks to Joseph Wain for the icons for mobile apps.
- Thanks to Jake Wharton for the ActionBarSherlock.
- Thanks to Pierre-Luc Paour for the Natural Order comparator.

Known issues[edit]

- If you are not running the default UI, some features might not work properly (i.e. playing a video).
- Streaming a file (VLC) with special characters might fail.
- 1080i HD-PVR recordings only seem to stream audio...
- Inserting new scheduled item after the initial list.
- On rotation, lose the list of songs for an album.

Feature requests[edit]

Those things might never get implemented, but...

- Include channel logos.
- Include a media player that can stream the videos.
- Provide more notifications.

Release notes[edit]

TASageTV-Control landscape.jpg
TASageTV-Control landscape2.jpg
TASageTV-Control landscape3.jpg
TASageTV-Albums details.jpg

Version 2.58

- Fix: was not handling 4G/LTE connection state properly.

Version 2.57

- Changed a permission required for Android 4.2 registered version.

Version 2.56

- Built against Android OS 4.2.
- Modified the Streaming options.
- Removed the 7" Galaxy Tab UI work around.
- Improved the database handling.

Version 2.55

- Built against Android OS 4.1.2.
- Added a "Play on device" button.

Version 2.54

- Built against Android OS 4.1.
- Added a confirmation prompt to some delete buttons.

Version 2.53

- Text input is now done through the Keyboard icon.
- Tweaked the title area.
- Increased minimum requirements to Android 2.1.
- Fixed the Remote layout for phone with width > 480.
- Tweaked the Remote UI for tablets.

Version 2.52

- Dropped the Bluetooth/Telephony permission on the Market version.

Version 2.51

- Created an Android Market version.

Version 2.50

- Fix: Buttons on detailed view with images were broken.

Version 2.49 - 2.40

- Built against Android OS 4.0.
- Updated ActionBarSherlock.
- Implemented "snap to page".
- Fix: Program guide was broken for multiple lineups.
- Added Channel/Volume +/- to the first remote screen.
- Fix: The extra arrows did not work in landscape mode.
- Fix: Some of the arrows/enter buttons did not work.
- Fix: Some partial sync were performing complete synch.
- Now remembers the previous sort type.
- Fix: Reverted some of the Program guide changes.
- Combined a few activities in a common one.
- Fix: Some detailed views had lost their titles.
- Internal rewrite of the detailed views.
- Tweaked the header of some lists.
- Only override the volume controls on the Remote screen.
- Fix: Creation of the Songs table would fail.
- Fix: The Program guide would crash.
- Fix: The Search guide was broken.
- Fix: Wiping the database was broken.
- Now display the number of Playlists from Media center.
- Fix: The album screen was crashing.
- Fix: Deleting single item from the database had issues.
- Completed the migration to Content Provider.
- Limit the simultaneous threads for the database updates.

Version 2.30 - 2.39

- Fix: The Program guide would crash in landscape mode.
- Cleaned up the access to the database.
- Updated the method to add to the database.
- Fix: Status screen would crash playing unknown songs.
- Migrated the Playlists view to ListFragment...
- The Status screen is now using the detailed view.
- Migrated the Album view to ListFragment...
- Try to dismiss more of the left over keyboard...
- Tweaked the Album screen.
- Migrated the Program guide view to ListFragment...
- Fix: Favorites could use the wrong size of images.
- Fix: The title was not updating properly.
- Tweaked the images for Alerts/Favorites.
- Added work around for the Samsung Galaxy Tab.
- Fix: The sub-genre filtering didn't work right...

Version 2.20 - 2.29

- Now splitting sub-genre on ",".
- Added higher resolution images for Alerts/Favorites.
- Switch back to the default dropdown (spinner).
- Fix: The Favorites should not have a "Delete all" button...
- Fix: The Album's details was broken.
- Migrated the "Search guide" view to ListFragment...
- Re-enabled the list's sorting/filtering.
- Migrated the detailed view to ListFragment...
- Re-enabled the Streaming Android OS 2.3 and 3.0...
- Started to use ContentProvider and CursorLoader.
- Migrated the lists to ListFragment...
- Added the item's count to the "Dashboard".
- Fix: On some devices, text fields could be white on white.
- Now using a Dashboard for the navigation.
- Moved the Recordings to Media center...
- Hide the unimplemented Searches...
- Now using the same Remote control fragments as TaSageTVRemote.
- Moved the Remote control's Text entry field.
- Fix: Was not actively killing the services in all cases.
- Now targeting Android OS 3.2.
- Now using the Action Bar.
- No longer compiling against JAVA 1.5 (!?!).

Version 2.10 - 2.19

- Fix: On android 3.x, the Program guide had some database issues...
- Fix: On Android 3.x network operations are forbidden on the main thread.
- Fix: The Stream button visibility was linked to the Server instead of Client state.
- Targeting Android OS 2.3.3, so 3.x tablet users can use the Option menu button...
- List with less than 500 items (up from 100), now have the default filter *.
- Compiled against Android OS 3.2.
- Targeting Android OS 3.2.
- Fix: 3.x tablets would crash coming back from detailed view.
- Fix: Could crash with OS Bluetooth support without an adapter.
- Fix: Would sometime crash on launch.
- If they are empty, automatically start a sync for Albums/Photos/Songs/Videos.
- Moved some items out of the Option menus.
- Can now modify the Favorites.
- Fixed a licensing issue.
- Can now stream from the Status tab.
- Fix: Was not clearing the Status tab properly.
- Can now reactivate on a different device.

Version 2.00 - 2.09

- Partially automated the registration.
- Changed some labels on the Server settings.
- The Remote control in portrait mode now scrolls horizontally.
- Another Remote control update.
- Updated the Remote control buttons thanks to jorton.
- Moved the Server status icon again...
- Switch to the Remote control when starting playback.
- Skip the detailed view if the recording just got deleted.
- Relocated the "Keyboard" to the Remote control.
- Rearranged the Remote control.
- Moved the Server selection icon to the right.
- Got rid of the different Remote control layout for extra large screens.
- Fix: Too much resizing on the detailed view.
- Update the detailed view in a background thread.
- Moved the large screen layout to extra large layout.
- Fix: Deleted Favorites were increasing the count and not actually removed.
- Fix: The text on the Status page was never set visible...

Version 1.90 - 1.99

- Fix: Was using 2x images when it should have been 1.5x...
- Fix: Was not updating the count when removing a Recording or Schedule.
- Fix: There were some metadata parsing issues.
- Updated the Remote control's buttons.
- Built and targeting Android OS 2.3.1.
- Fix: Some options did not work from the Detailed view.
- Remapped the various forward/rewind keys.
- Removed an unnecessary delay when deleting files.
- No longer locks the UI thread launching a sync/update/wipe.
- Fix: Syncing the list of Albums was broken.
- Fix: Would crash when relaunching the app.
- No longer disconnect when the main activity is killed.
- Try to automatically reconnect from more than just the main activity.
- Fix: Was not coming back cleanly from deleting a file.
- Replaced the images on the Keyboard page.
- Merged the Status and Keyboard page.
- Set the TCP socket's incoming buffer to 8k.
- More database tweaks.
- Switched off a lot of the logging.
- Sped up inserting items in the database.
- Fix: The lineup sync from the Program guide was broken.
- Only check every 3 days if the cache requires cleaning.
- Read some preferences earlier.

Version 1.80 - 1.89

- Now displays the Schedule count.
- Now keep the counts up to date for Information and recordings.
- Did some little database tweaks...
- Fix: The Media center section was not updating properly.
- Now shows an indicator (*) when Alerts or Conflicts are presents.
- Added more item counts.
- Internal clean up of the Option menus and more.
- Fix: Search guide was broken.
- Added a detail view to the Alerts and Favorites.
- Updated the Option menu icons.
- Moved Settings to the Information section.
- Modified the internal menu navigation.
- Added sections to the Information.
- Added a list of Conflicts to the Information section.
- Moved the About screen to the Information section.
- Moved the Manual recordings to their own section.
- Added a Search section.
- Added placeholders for future searches.
- Added the Title to the detailed view.
- Fix: Was not properly closing other cursors.
- More tweaking of the database helper class.
- Reverted to Android OS 2.2 until some issues are resolved.
- Fix: Was not properly closing some cursors from the launch.
- Cleaned up the database helper class.
- Fix: Did not show the current Client/Server selection.
- Fix: Did not remember the last client.
- Targeting Android OS 2.3.1 until some issues are resolved.
- Add credentials to the URL sent to Mirage for fixed bit rate.
- Fix: Don't crash if Mirage isn't installed...
- Updated the Remote control for the tablets.

Version 1.70 - 1.79

- Improved the album display for phones.
- Fix: The orientation lock was wrong.
- Set a fixed height for some of the rows on a tablet.
- Switched the About page to the blue theme.
- Improved the album display for tablets in landscape mode.
- First pass at making the app more tablet-friendly...
- Exposed all the individual bit rates for the Mirage beta streaming.
- Built against Android OS 3.1 (compatible down to 1.5).
- Prevent the keyboard from displaying without an actual edit.
- Fix: Did not update the list of Clients properly.
- Added a Keyboard + custom buttons screen (configured in SageTCPServer 2.2.2+).
- Can now use the keyboard to input text on a Client.
- Removed the Apply step when changing client/server from their status icons.
- Can now see the connection status from all screens.
- Can now change the Client/Sever from all screens.
- Updated various screens.

Version 1.60 - 1.69

- Fix: Was wrongly hiding the Mirage stream buttons.
- Moved the Registration back out of Settings.
- The Jetty username and password are now configurable in Settings.
- Now hide the passwords.
- Fix: The Mirage stream low was incompatible with the Media streaming plugin update.
- Added a Mirage stream high.
- Don't offer the Mirage streaming options if Mirage beta is not installed.
- Fix: was not providing the jetty username/password for the new streaming.
- Added test streaming options.
- Added cover art to the list of Albums.
- Use the same image file for all songs of an album.
- Renamed some menus to match the default SageTV UI.
- Changed the detail view text colors.
- Get the Jetty HTTP port from SageTCPServer.
- Enabled the password protection.
- Updated the Favorites list.
- Updated most other lists.
- Fix: Did not support Episode titles in the Manual recordings.
- Added the day of the week and year in more places.
- Fix: Kept re-adding the Clients on a Server reconnect.
- Updated the Information list.
- Now requires SageTV 7 or newer.
- Client information is now provided by SageTCPServer 2.1.2+.
- Fix: The Power button did now work properly.
- Moved the TV guide to the Recordings section.
- Changed some rooted device's registration.
- Fix: Was saving JettyPort but reading back PortJetty.

Version 1.50 - 1.59

- Changed the launch icon to match TiSageTV.
- Added a Setting to Replace the DropDown, for devices showing white on silver.
- Added information about the default profiles.
- Can now select between 7 VLC streaming profiles (SageTCPServer 1.8.9+)
- Fix: Album details did not show the cover art.
- Updated the UI to a blue theme.
- Albums/Songs can resume an aborted sync.
- It is now possible to perform partial updates of Photos/Videos.
- Fix: Some wifi events could happen before the app was ready for them.
- Fix: Monitoring the wifi state did not play nice on a 3G connection.
- Fix: The image cache was too URL specific.
- Now requesting higher resolution photos on devices that support them.
- Replaced the image place holder by a transparent one.
- Renamed Android ID to the more accurate Device ID.

Version 1.40 to 1.49

- Fix: Detailed views were not displaying properly.
- Added a configurable delay before launching the streaming application.
- The Sagex port setting has been replaced by the Jetty web server port.
- Use the wifi network state instead of screen_on as trigger to reconnect.
- Fix: was not properly refreshing the connection state on wake.
- Fix: TV guide could crash when it had old data but no connection.
- Fix: the generic Android ID was still active.
- Fix: invalid channels could crash the application.
- Delay the reconnection on wake, to make sure the device has reconnected to the network.
- Fix: TV guide could crash if the EPG has no valid data.
- Preferred installation location moved to the SD card for Android OS 2.2+.
- Now targeting Android OS 2.2, but mostly supporting 1.5+.
- Tweaked the medium DPI UI.
- Fix: wake/sleep was creating multiple TCP close/connect.
- Fix: some popups were too tall.
- Renamed the Registration option to Settings.
- Moved the Wipe database button to the Settings.
- Added a Clear cache option to the Settings.
- Delete thumbnails that have not been accessed in a week.
- Reconnect to the server/client after waking up.
- Standardization across activities.
- Tweaked the rows in the various lists.
- Resized some thumbnails.

Version 1.30 to 1.39

- Changed to use SoftReference<> for the image cache.
- Increased the size of the thumbnails on high DPI displays even more.
- Switched back to the URL as actual key for the image cache.
- Increased the size of the thumbnails on high DPI displays.
- The lists of Photos, Recorded shows and Videos have gained thumbnails.
- Improved the image support in detailed view.
- Changed the displayed Android ID on some devices.
- Fix: Adding an Album to the Playlist didn't work.
- Can now stream an Album.
- Increased the font's size of a few elements, as 1.32 might have been too extreme...
- Reduced the size of the spinner (drop down menu).
- Reduced the font size of the lists.
- Reduced the font size of the detailed view.
- Enabled single song streaming.
- Initial support of images in detailed view (through Sage Remote API).

Version 1.20 to 1.29

- Fix: was leaking an intent on shutdown.
- Fix: The TCP listening thread could come out of sleep mode in a bad state.
- Updated the download link.
- Pushed the recommended Android OS to 1.6+.
- Added higher resolution images for hdpi devices (i.e. 480x800/854).
- Improved the Albums/Photos synchronization speed.
- Fix: Was manipulating non existent EPGID in the details.
- Replace the Title/Title by simply Title in the lists and details info.
- Fix: Episode names could leak in the lists.
- Fix: Was manipulating non existent EPGID in the lists.
- Less folder/video_ts will be shown in the list of videos.
- Starting a sync on Music/Photos/Videos will return to the Media menu.
- Internal clean up.
- The resynch database button will no longer query for Music/Photo/Video.
- Should recover more cleanly from issues inserting in the database.
- Added Haptic feedback to many buttons.
- It is now possible to delete a client or server.
- Fix: going back to the main page would not properly display the spinner(s) selection.
- Added support for BMT's non-conform EPGID.

Version 1.10 to 1.19

- Fix: failure to connect would prevent the drop down list from showing.
- Fix: the TV Guide was broken.
- Fix: all the system messages were sent/appended on start up.
- Helped the memory management with some "final"...
- Replaced the drop down lists when not needed.
- Fix: the Reset System Messages was not actually implemented.
- Fix: the Main screen was not always refreshed when it should have been.
- Fix: the SQL query for the last message was wrong.
- The Power button on the remote should now work with HD100/HD200/MVP.
- Only query for the latest System messages.
- More fixes and improvements to the System Message support.
- Fix and improvement to the System Message support.
- Fix: Connection icon could get out of sync.
- Started to look at System messages...
- Fix: locking icon was wrong.
- Streaming now skips the About page.
- Added the possibility of locking the screen orientation.

Version 1.00 to 1.09

- Fix: The Mute button did not work.
- Improved the database access.
- Fix: returning to a filtered list would crash.
- While browsing a list, starting to type text will filter items containing that text in the Title...
- Completely stripped the " from the metadata.
- Fix: Filters containing & did not work properly.
- Fix: Manual recordings were not merged with the Favorites.
- Fix: The songs' count was not reset on resync.
- The PlayList section is now working.
- Can now browse the Songs by themselves.
- Can now consult any lists unfiltered.
- Added a Search option.
- Moved the Favorites/Recorded shows/Schedule/Search to their own section.
- Updated the default VLC init string. (sageTCPServer)
- Fix: Channels were not handled uniformly.
- Fix: added more missing properties.
- Fix: one too many ( in the Videos table creation...

Version .90 to 0.99

- Fix: added more missing properties.
- Changed the Stream link to "all" from "web"...
- Fix: Some properties were missing from the database.
- Fix: TV guide had issues following a device rotation.
- The streaming option now takes you to the About page, with a link to the stream.
- The TV Guide has now migrated to the more memory efficient method.
- Fix: filtering by folder was partially broken.
- Completed the migration of the Music section to the new scheme.
- Fix: was not escaping \ to \\ (sageTCPServer).
- Improved the query for the rows count in the database.
- Changed the default sort options.
- Replaced more problematic filtering characters by _.
- Fix: the memory leaks related to the database should be fixed...
- List of less than 100 items (up from 50) can be viewed unfiltered (*) .
- Non alphabetical titles are no longer bunched up under the # filter...
- Fix: Big Upcoming recordings list could fill the 8k buffer.
- Fix: Genre was not defined in the Songs table.
- Fix: Some characters like " or % would mess up the filtering.
- Fix: crashed on empty list.
- Added a "Do you really want to quit?" prompt.

Version 0.80 to 0.89

- The Music section now mostly uses the improved code.
- The list of Photos, Recordings and Videos can now be filtered by folder.
- The list of Recordings, Schedule and Videos can now be filtered by actor.
- The list of Favorites, Photos, Recordings, Schedule and Videos have gained sorting/filtering.
- Fix: the database file did not have an extension (will require a sync).
- Changed the database structure.
- Reduced the memory usage by getting rid of some buffers.
- Some of the ListView's now use a customized SimpleCursorAdapter.
- Exposed more of the available information.
- Moved the client notification to ongoing.
- Fix: the Remote stopped working on orientation changes.
- Pressing Del, Enter or Space on the real keyboard should work properly.
- Fix: there were various Playlist issues with an offline extender.
- Should now remember the previous position in a list.

Version 0.70 to 0.79

- Key pressed on the real keyboard should be passed along to the client.
- Added the possibility of clearing the current Playlist.
- Completed the Music Playlist.
- The Channel Up/Down buttons now match the real remote's behaviors.
- Started to implement the "Play list". (not working yet)
- Fix: the Server settings layout looked a bit messy...
- Replaced the notification icon by a more compliant one.
- Fix: Client's selection was not always saved between sessions.
- Reduced the size of the notification icon.
- Can now define multiple servers (i.e. local vs remote access).
- Added a password field (for future use).
- The albums can also be sorted by their Title.
- If a sub-list of Albums contains less than 50 items, it can be seen unfiltered.
- Moved the "Synchronize" of Media Center to the options menu.
- Started to play with the notifications...
- Fix: losing connection and reconnection were not properly handled.
- Fix: when sorted by Artist or Year, the Genre fields displayed the selection too...

Version 0.60 to 0.69

- The albums can now be sorted by Artist, Genre or Year.
- Fix: the Media center part would only sync once per SageTV Server restart...
- Reduced the size of the Photos/Videos packets.
- Don't count the number of items in a table when incrementing a counter will do...
- For a full database, the maximum available data is redundant...
- Improved the database synchronization.
- Fix: the dates of the Videos were not re-read properly.
- No longer adds "#" as filter for all the lists when not needed.
- Added more options to the lists' menu.
- Fix: the list of Clients was acting funny.
- Fix: removed some forced Client reconnection.
- Fix: was not releasing some "intent receivers".
- The hardware volume buttons should work from more than just the Remote...
- Fix: don't select a client that does not exist.... (duh!)
- More toying with the streaming, try the rtsp one...
- Added a download link to About. (might require Astro/AppInstaller)
- Fix: streaming used the wrong URL. (probably still won't work)

Version 0.50 to 0.59

- Added more options to some menus.
- Added more options to some menus.
- Removed the possibility to delete other files than Recordings.
- Changed the licensing to use the Android_ID instead of the phone number.
- Fix: detailed information was not scaling with the resolution.
- Licensed version now have a limit of 1000 items, to prevent running out of memory.
- Removed some debug text to speed up synchronizations.
- Started to move the licensing to use the Android_ID instead of the phone number.
- First step before making the options menu more readily available.
- Fix: the Client list on the main screen was not getting filled on orientation changes.
- Fix: adding a client was broken.
- Fix: the Client displayed on the main screen could be off.
- Fix: switching between Clients should be cleaner.
- Fix: the Play option got broken in version .52.
- Fix: the number of duplicate Client's choice grew exponentially.
- It is now possible to switch between clients from the main screen.
- Reordered the items on the main screen.
- The Play and Stream buttons have been moved to Menu options.
- Added a Delete option for the Recordings and Video files.
- Added a Menu to Record all/first run/once/re-run for the selected show from the TV guide.
- Added a combined lineups item to the TV Guide.
- Compacted the display of some lists.
- The text should scale better with the resolution.
- The streaming test and video playback is now available for the Recorded shows.

Version 0.40 to 0.49

- On the Main menu, clicking the server text will bring the Server config.
- On the Main menu, clicking the client text will bring the Remote or Client config.
- On the Main menu, clicking the client text will bring the Remote control.
- Added a Power button to the remote control, hardcoded to get the HD200 in/out of standby.
- Possible fix for some orientation issues.
- First attempt at getting some streaming going.
- Added landscape versions of the Remote control page.
- Fix: saving the client configuration could fail.
- Fix: the lineups got broken in .41.
- Decreased the log verbosity.
- Added Server/Client status on the Main page.
- Added landscape versions of the Main, TV guide and Album details pages.
- Channels are only loaded on demand from the database.
- Can select how many days of data to display.
- Fixed some issues changing the server.
- Photos/Videos are only loaded on demand from the database.
- Moved more content to the services.

Version 0.30 to 0.39

- Started to further limit the lists by the first letter of the item's title (A-Z, # for others).
- Updates the services.
- Reduced the memory foot-print by filter the Albums by genre.
- Implemented the licensing.
- Added a recording menu to the Program details.
- Fix: Album list was not getting updated properly.
- Fix: Duration was off for the videos.
- Fix: Icons in the lists were set as background instead or source...
- Fix: Reruns flag was not properly handled.
- Added the TV Guide.
- Little face-lift for the "Detailed information".
- Started to work on customized listview items...
- Added support for multiple Client/Extender.
- Added the missing volume/channel buttons.
- Added web and email links.
- Fix: the Play button got broken when Filenames were removed.
- Improved the database support.
- Albums and Songs are now stored in the database.

Version 0.20 to 0.29

- Made the database access more generic through the use of an enumeration.
- Added more metadata to the detailed info/database.
- Fix: the default ListView optimization caused issues with the background...
- Fix: Communication parameters would not always stick...
- The metadata for the Photos are now stored in a local database.
- The metadata for the Videos are now stored in a local database.
- Enabled more buttons on the remote.
- From the remote screen, the hardware volume buttons should work.
- Fix: the selected list could be redrawn if another list received data.
- The list and status actually updates with incoming data.
- Added the possibility to start playback of audio/video files from the Detailed info screen.
- Enforced an evaluation mode.
- Added a Media center category for Music/Photos/Videos.
- Added a Live TV button.
- Activated more of the Remote's buttons.
- Fix: the application can now shutdown properly.
- Fix: status no longer crashes if nothing is playing.

Version 0.10 to 0.19

- Tapping and item from a list will now display detailed information.
- Added an options menu to the Remote control.
- Implemented a limited Status.
- Changed the TCP communication from background threads to Services.
- Changed some tabs to Activity AlertDialog and setContentView.
- Got rid of all the tabs and started to modify the logic for it.
- Replaced and added more buttons to the "remote control", thanks to Bob.
- Added an option menu.
- Moved the "About" button to the Settings tab.
- Fix: now the parameters are saved before attempting to connect.

- Now compiled for Android 1.5 and up...
TASageTV-Guide landscape.jpg

- Added filtering to the lists (seems buggy).
- Updated the TCP connection handling.
- Enabled the Music list.
- Removed the orientation lock.
- First beta release

Version 0.01 to 0.09

- Added listview.
- Added TCP support.
- Added navigation.
- Added preferences.
- Initial user interface
- Proof of concept