TiVo Community Forum banner
1 - 20 of 21 Posts

· Registered
Joined
·
28 Posts
Discussion Starter · #1 ·
this file is an alternative to the generic 'now playing' webpage located on your tivo's webserver.
kinda nice to have if your pc's next to your tv.
it'll show you: total time, total space used, time left, expiration date, recording quality, plus various details about the program that are recorded.

to use
1. copy and paste into your favorite editor this xhtml code: http://my.opera.com/gman622/blog/show.dml/315486
++++save it as nowplaying.xhtml

2.-change line 9 to enter your tivo's location and IP (and storage space if you want)
-change line 14 to reflect your Media Access Key
-you can add more tivo's by uncommenting lines 10-13
***IMPORTANT: when you save the edited file the extension must be .xhtml

4. open in Firefox browser (Opera doesn't work)
 

Attachments

· Registered
Joined
·
28 Posts
Discussion Starter · #18 ·
ElPuerco said:
I wish the external links (to IMDB) opened in a seperate window.
i have my preferences set in firefox for middle-clicked links to open in a background tab, or you can always right click->open in new tab/window.

personally i think's its rude when a webmaster doesn't leave the choice up to the user where he/she wants to open links.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #33 ·
GCymbala said:
I made some changes to a copy of your "better now playing list" for my own needs.
I don't mind at all; sorry to inflict my code upon you. This was my first foray into xsl (and CSS and Javascript and XHTML for that matter) and it definitely turned into "the 'hack-iest' thing that could possibly work."

GCymbala said:
a with the my list of TiVos.
that a good idea; although it might be better for me to generalize it (maybe an array of IP's) so that any number of tivo's will work.

GCymbala said:
I also defaulted to sorting by Title, by adding
Code:
<xsl:sort select="t:Details/t:Title"/>
to the for-each Item loop.
that brings up a bug that I should fix, currently when you sort by title it doesn't take into account ones that start with "The" or "A" (are there others that i'm forgetting?). I don't think that can work with xsl:sort but it's an easy fix in the sortTable function.

There's also a couple of enhancements I was thinking of making including a SVG Pie Chart and making it possible to sort by Expiration Date. If anyone has any suggestions feel free to chime in.

One problem I am having is trying to make an async xml request. It seems to retrieve the xml document ok but choke with an uncaught exception when I try to transform it. If anyone can help:
Code:
        var xsltProcessor = new XSLTProcessor();
        var xmlDoc;
        xsltProcessor.importStylesheet(xsltSheet);
        var myXMLHTTPRequest = new XMLHttpRequest();
        netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
        myXMLHTTPRequest.open("GET", 'np.xml', true,'tivo',mak);

        myXMLHTTPRequest.onreadystatechange=function() {
            if (myXMLHTTPRequest.readyState==4) {
                xmlDoc = myXMLHTTPRequest.responseXML;
           }
        }

        myXMLHTTPRequest.send(null);
        var fragment = xsltProcessor.transformToFragment(xmlDoc, document);
 

· Registered
Joined
·
28 Posts
Discussion Starter · #39 ·
another update.....

1. another (sortable) column was added: Expires. now you can see which show will be deleted first, second, third and so on. (finally a use for the keep until date!)

2. multiple tivos are supported (though i'm not sure how well... i only have one)

3. requests are asynchronous, so the browser will not hang on lengthy GETs
(the tab/title will let you know when it's done loading)

4. now recording info will tell you if it's a planned or suggested recording.

here 'tis:
http://home.ripway.com/2005-2/266393/nowPlaying.xhtml
 

· Registered
Joined
·
28 Posts
Discussion Starter · #45 ·
morac said:
status of 503 (which is gateway timeout). If I had to guess I would say that the TiVo can't handle that many requests at once. It seems to max out at around 9 connections at once.
hmm, it's been working fine all day for me. i've got 14 shows right now, maybe the max number of requests is 16? would the server be set to only handle that many though? its not a browser setting issue is it?

morac said:
but the following will send out 1 at a time which seems to work rather well:
you're code works ok, except if you sort the columns while the expiration dates are loading then it screws up. it needs a handle to the node for each request. i think it's maybe the better way to do it though.

i'm curious if anyone else is getting these errors, and how many shows(requests) their tivos can handle.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #49 ·
A small update and limitation workaround.
I added some detail to what's now recording (quality, expiration date, and partial recording time.)
I also fixed an error whereby any bad requests that are made are simply resubmitted- not a great fix but...(shrug). And still I get strange behavior if pipelining is enabled. It seems the TiVo's little webserver is easily overwhelmed. I'm curious what server is in there - probably a small custom one they wrote themselves?

Anyway: nowPlaying.xhtml
 

· Registered
Joined
·
28 Posts
Discussion Starter · #51 ·
oops you're right sorry. it's there(here ) now.

the weird pipelining issue seems to only occur when the network.http.max-persistent-connections-per-server is less than 5, it doesn't break but it timeouts for a while. i'm not sure what it's doing.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #53 ·
morac said:
Well this version does eventually download all the expires info, but it takes a while.
the time difference seemed negligible to me - of course i only ever have 15-20 shows at any one time.

the only reason i added the expires column was to see which show would be deleted first,second and so on. as someone with only a 40gb tivo, i like to know the order of deletion for recordings (even this is problematic though, you can't change an expiration date to a date before today. so if you want something recorded today to be deleted before a bunch of shows recorded previously you have to change all the expiration dates)

for someone with a huge drive and huge number of show who doesn't ever worry about deletions, i think it best just to leave out that column. it would speed up the page load and you could still get the exp info with the show details link.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #62 ·
You should be able to download the file now. I use a free file hosting site that only allow 10MB of tranfers per 24hr. Needless to say it was all used up around 7:30 last night. If you still can't get it just message me your email, and i'll send the file to you.

nowPlaying.xhtml
 

· Registered
Joined
·
28 Posts
Discussion Starter · #72 ·
Maui said:
actual number to out in the variable for an 80 hour tivo?
what i would do is get the pie chart and assign 0 to totalGB in the TiVoPie.html file. if you've been using suggestions for awhile, the total shown at the bottom of the table should be fairly close to what's available.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #84 ·
Kristo said:
I've got two different sized TiVos & would like the ability to have the total sizes specific for each.
if i were you i'd just make two copies of the file (with two appropiately named bookmarks). then you can just have each tivo in it's own tab.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #86 ·
updated this so you can have up to five tivo's (really as many as you want) each with their own capacity.
also added the time left at all 4 recording qualities.

*my version still won't work with >128 shows but if someone wants to donate to me a 140 hour tivo, i'll gladly rewite this from scratch to 'natively' support it ;)
 

· Registered
Joined
·
28 Posts
Discussion Starter · #103 ·
awhile ago i updated this to support files transferring from pc to tivo (they show up in blue). today i made a small change to edit out the copyright tribune media... message that appears after every description.
by the way this (as well as the Pie Chart ) works fine in Firefox 1.5.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #105 ·
morac said:
the script will output the quality as "Unknown" if there is no source channel define. This should probably be changed to SourceSize.
i use the sourcechannel field in the xml file as a check for a .tivo file; if it isn't then there really isn't any notion of quality. the sourcesize is already in it's own column.

morac said:
a few shows that I recorded on my TiVo are showing up as "PC:GREG"
that's my pc's name, i should have mentioned to do a search in the file and change that to whatever you like as a "source"

morac said:
there was no source channel for this recording even though it was recorded on the TiVo. Also even if there is no source channel, the option to display the program info should probably be allowed.
that's strange, i've never had that happen. every show i've ever recorded had a sourcechannel. does this recording have a sourcestation?

morac said:
Since my TiVo's source is digital cable which is a cleaner signal, higher quality recordings don't always require more Bps.
i don't think the signal has anything to with thie size of the recording (except on the old tivo's that have vbr recording). i never really futzed around with the algorithm because my recordings have been very very consistent as far as bps goes.

morac said:
It might be better to just read the value on the TiVoVideoDetails page since your code already reads that page to get the Expiration time.
that would be the way to go but i didn't want to mess with my code that much and like i said my recordings have all been exactly the same size (within plus or minus 1 or 2 MB )

morac said:
but I decided to key off the "ProgramId" key since that should always be set for shows recorded on the TiVo. I wouldn't think PC downloads would have that set, but I'm not positive.
maybe that is the better key to use; anyway that would be an easy change to make. just change line 574 from:
Code:
"not(t:Details/t:SourceChannel)"
to:
Code:
"not(t:Details/t:ProgramId)"
 

· Registered
Joined
·
28 Posts
Discussion Starter · #118 ·
I've been trying to get this to work with Opera 9 (they support xsltprocessor now) - unfortunately it doesn't seem possible. There's no way to do a cross-domain request (even one that's on the local network).
I even tried making an opera widget which would allow the cross-domain request, but they don't work with https sites.
One hacky workaround would be to write a script that downloads the xml files every few minutes.
 
1 - 20 of 21 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top