TiVo Community Forum banner
1 - 20 of 66 Posts

·
Registered
Joined
·
5 Posts
Discussion Starter · #1 ·
Inspired by the excellent whatson module and the fact that my digiguide subscription had expired, I decided to see if I could do something vaguely equivalent with tivoweb.

Given I've never written any tcl or html before, I surprised myself by coming up with something I'm using now, so I though I'd share it with everyone.

It shows what's on in a grid. You can choose Favourite/Watched Channels, how many hours to show in grid. You can search backward and forward. The page autoupdates on the hour.

I've had fun throwing this together. It has been interesting just to see how different browsers render tables (which is how I implemented the grid). I think I have a reasonable solution in the browsers that I have tested it in. I've tested in Mozilla, Konquerer, w3m on Linux and it seems to work well. It doesn't work well in lynx as its table rendering is poor. It seems to work on IE too.

I've been using it with the small icons recently posted by AlexV in http://www.tivocommunity.com/tivo-vb/showthread.php?postid=966797#post966797. These work well to keep the grid row size small.

Some things I'd like to add.
Clicking on the channel name changes channel, but this reloads the page and is thus slow. I'd like to execute the SendKey commands without reloading the page.
Keep the column and row headers fixed while the rest of the table scrolls. The html spec hints that this may be possible, but I don't know if any browsers
support it yet.

Let me know what you think.
Sue.

Attached newer version
 

Attachments

·
Registered
Joined
·
973 Posts
Small point - The times on the top of the screen are GMT; The times on individual shows are correct though (local time).
 

·
Where's my Series 3?
Joined
·
24 Posts
When I clicked on the TiVo icon next to a show, I got the following error:

INTERNAL SERVER ERROR
--cut here--
action_showing '/1159313/154' ''
can't read "genrenums": no such variable
while executing
"lsearch $genrenums $genre"
("foreach" body line 2)
invoked from within
"foreach genre $genres {
set genreindex [lsearch $genrenums $genre]
if { $genreindex != -1 } {
if { $genrestr != "" } {
append ..."
("uplevel" body line 255)
invoked from within
"uplevel $body"
invoked from within
"transaction {uplevel $body}"
(procedure "RetryTransaction" line 5)
invoked from within
"RetryTransaction {
if { [regexp {([0-9]*)/(.*)} $objectid junk fsid subobjid] } {
set showing [db $db openidconstruction $fsid $subobjid]
} els..."
(procedure "::action_showing" line 47)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--
 

·
Registered
Joined
·
786 Posts
Originally posted by offthefront
Inspired by the excellent whatson module...
:eek: :)
Clicking on the channel name changes channel, but this reloads the page and is thus slow. I'd like to execute the SendKey commands without reloading the page.
Maybe opening another window which sends the keys and then closes itself is a possibility?

Using 'target="_blank"' in an 'a' tag will open a new window, then a bit of JavaScript along the lines of 'javascript:window.close();' will close the window. I guess you could specify the size and position of the new window so it looks ok.

Keep the column and row headers fixed while the rest of the table scrolls. The html spec hints that this may be possible, but I don't know if any browsers support it yet.
Maybe frames?? I'm not sure off the top of my head how to link movement in one frame to others though.
 

·
Registered
Joined
·
164 Posts
WOW! The grid module is GREAT! I wish tivo had the grid onscreen, its just so easy to use (i can't believe there is a patent on it, seems like a no brainer organizational chart!). Nice touch having the suggestions/recording icons show up! really reallly handy! Thanks for the module!!!!
 

·
Registered
Joined
·
2,824 Posts
The icons appear probably because they also appear in Digiguide, of which this is an excellent clone. I think Digiguide are launching in the US too. :)
And Digiguide was originally inspired by the Sky onscreen Electronic Programme Guide here in the UK when Sky launched their digital service in 1998. Sky is the company that TiVo partnered with to do marketing, who stabbed TiVo in the back by releasing their own non-tivo dual-tuner PVR. Funny old world.
 

·
Tweaked and poked
Joined
·
1,846 Posts
This is bizarre. I'm feeling as if I'm the victim of an elaborate practical joke. I just cannot get it to work at all on my machine.

A results page comes back with nothing in it at all, no matter what. Waaah?
 

·
Registered
Joined
·
164 Posts
Kitschamp, same happened to me. change the options from favorites to channels watched. I don't have favorites set up. maybe thats your problem?
 

·
Bloke with a TiVo
Joined
·
13 Posts
This is a great module - I was planning on learning tcl and writing something similar myself, but when searching to see if there was anything similar around already, I found this! The only thing I was thinking of doing differently was to have a frames setup so that the channel names would not scroll out of view horizontally, but I guess there are lots of people who don't like any sort of frames anyway.

So much kudos and congratulations to offthefront for producing this excellent module.

I hope you won't take it the wrong way that I thought I could make some cosmetic enhancements - it is because I thought this module was so good already that I wanted to spend the time making it easier on my eyes.

I have attached a slightly modified grid.itcl which adds CSS class attributes to the various different table elements produced, and an updated version of my Clear Yellow css theme file which takes advantage of them. If other theme authors would like to use the grid classes, they are all in a group at the bottom of the Clear Yellow css file. Clear Yellow remains optimised for IE.

Thanks again for the module!
 

Attachments

·
Registered
Joined
·
5 Posts
Discussion Starter · #12 ·
Thanks for all the kind comments.

I thought about using frames for the row and column headers. Two problems with this approach. Scrolling needs to be coordinated between the main frame and the headers. It is also hard to know how large each table cell is going to be until the table is rendered. The broswer takes care of this itself if there is just one table. If there were seperate frames, I would need to fix the cell sizes myself. The html spec here http://www.w3.org/TR/REC-html40/struct/tables.html suggests the browser could do the seperate scrolling, given the right hints, but I don't know of any browser that currently does this.

Kitschcamp : All I can think is that you don't have any favourites specified and this is the default view at start up. Try choosing Channels Watched and see if this shows anything as jcblack suggested.

AlexV : I've included your changes in the main file.

Zirak : I made the Column headers not GMT specific. (I hope! Can someone not living in GMT let me know.)

Sue.
 

Attachments

·
A Happy Member
Joined
·
2,062 Posts
Have just installed this module, and I think it is great and well recommended. Very clear and a good format, I was a digiguide customer, and this is a good alternative.
 

·
Registered
Joined
·
182 Posts
Oh dear...

INTERNAL SERVER ERROR
--cut here--
action_grid '/' ''
can't read "thumbdata": no such variable
while executing
"scan $thumbdata "%s %d %d" thumbtype numthumbs thumbconf"
(procedure "get_thumbimage" line 2)
invoked from within
"get_thumbimage $score"
("foreach" body line 144)
invoked from within
"foreach showingfsid [lrange $showings $x [expr $x+19]] {
regexp {([0-9]*)/(.*)} $showingfsid junk showingobjid subobjid
set showing [db $db openidco..."
("uplevel" body line 2)
invoked from within
"uplevel $body"
invoked from within
"transaction {uplevel $body}"
(procedure "RetryTransaction" line 5)
invoked from within
"RetryTransaction {
foreach showingfsid [lrange $showings $x [expr $x+19]] {
regexp {([0-9]*)/(.*)} $showingfsid junk showingobjid subobjid
set..."
(procedure "sue_wochandata" line 18)
invoked from within
"sue_wochandata $chan $fsid $minseconds $maxseconds $callsign $stationfsid $filler $columnWidth"
("uplevel" body line 2)
invoked from within
"uplevel $body"
invoked from within
"ForeachMfsFile fsid name type "/Schedule" "$stationfsid:$chkdate" {
if {[catch [sue_wochandata $chan $fsid $minseconds $maxseconds $callsign $st..."
(procedure "::action_grid" line 192)
invoked from within
"::action_$action $chan $part $env"
("eval" body line 1)
invoked from within
"eval {::action_$action $chan $part $env}"
--cut here--

Something to do with LJ's thumbs module..?
 

·
Registered
Joined
·
5 Posts
Discussion Starter · #16 ·
Hmmm, curious. I've never seen this. Do you get this all the time or is this just occasionally? Has anyone else had this problem?

Sue.
 

·
Registered
Joined
·
182 Posts
Originally posted by offthefront
Hmmm, curious. I've never seen this. Do you get this all the time or is this just occasionally? Has anyone else had this problem?

Sue.
Alas, all the time but only since I installed this from here...
 

·
Registered
Joined
·
786 Posts
Ah - looks like you found a bug in the Thumbs unsetting code. I'll post a new version shortly...

Edit: version 3.5 of lj_utils.itcl now up.

Edit2: Now, how to fix the series that have had the ThumsData value deleted... *thinks...*
 
1 - 20 of 66 Posts
Top