PDA

View Full Version : Force MFS refresh?


Crack903
08-18-2002, 09:50 AM
I'm trying to develop a little app that would display AOL instant messages on the tivo. I want a more professional look than text2osd can provide, so I decided to try to hack the program info display (appears when you hit 'right' watching live tv). To modify that display, I wrote a tcl script that changes the MFS info of the current program (retrieved in much the same way info.itcl works in tivoweb), does a small wait, does a 'SendKey right', another wait, then switches the info back to what it originally was. It worked well for the most part, but I'm having a problem with a synchronization of the information. Even with the delay, the info displayed is sometimes not up to date. I'm wondering if anyone knows of a better way to either access that display, or force it to check for the most current information in MFS. From what I know of the interaction with the database, everything is realtime with no way to commit a transaction. Is this wrong? It's also possible that the information being displayed is pulled from another source which is updated under certain conditions, but I haven't been able to find it. Another idea I toyed with was creating a new channel/station combo just for instant messages. I think it will be possible to switch the LastChannel property of /State/MyWorld to this channel, where the program info box can read a phony Showing that I can add in. That way would be a little bit more complex. Best case scenario for this working: when an instant message is received, the program info box pops up. The title is listed as 'Instant Message from XXXX', the call sign of the station is 'AIM', and we could even throw in the instant messenger icon for the station logo. Pressing 'right' again would bring up the description portion, which contains the actual instant message. Any thoughts??

TheDoctor
08-18-2002, 10:25 AM
Are you increasing the version number of the program info record you are replacing? If not the system may just go with the cached copy if it has already loaded it.

You might want to look at the tivovbi by Embeem. It has quite readable text, and I believe the display code is based on Mhill's osdtxt routines using a diffrent font. It is also not to hard to draw in OSD so you could build whatever kind of borders you like.

Crack903
08-18-2002, 01:59 PM
I think I got it to work. I split all the MFS accesses into different RetryTransaction blocks (a lot of duplicated code though :( ) Now I get to spend lots of time trying to figure out if TiVo is doing anything interesting. Right now it assumes you'll be watching live TV when you get an IM. It's times like these I wish I had an extra TiVo just for development. I'll post the code if I ever get it in decent condition...