TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Underground Playground > Developers Corner
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 02-07-2008, 08:46 AM   #31
refried
Registered User
 
Join Date: Dec 2005
Location: Brunswick, ME
Posts: 142
Are you using a version control system (CVS, SVN, git, etc)?
Do you plan on having a public repository?
refried is offline   Reply With Quote
Old 02-07-2008, 09:05 AM   #32
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Quote:
Originally Posted by refried View Post
Are you using a version control system (CVS, SVN, git, etc)?
Yes, I have it in git on my own system.

Quote:
Do you plan on having a public repository?
If people show sufficient interest. So far, I'm not blown away by the response. That's OK; I needed it for my own purposes, and additional users are just a bonus. But it doesn't make me want to bother hosting it anywhere.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-07-2008, 04:20 PM   #33
s2kdave
Registered User
 
Join Date: Jan 2005
Posts: 515
Quote:
Originally Posted by windracer View Post
Soooo .... who's going to port the Galleon apps to Python? pyTiVo already supports music and photos, so all I need is the weather app and I can dump java.
Not me. If anything I'll componentize a couple of them that I use for the Catnip server I started working on. But I really don't want to touch the beast that is Galleon much more.

Have fun whomever wants to try and port it. It would be easier/cleaner to just rewrite it.
s2kdave is offline   Reply With Quote
Old 02-07-2008, 07:04 PM   #34
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
So, my new 540 came today. It came with 7.2, which was interesting -- my demo apps didn't come up at all; the screen just sat at "Please wait..." It turns out that, in that version, the TiVo won't send the "active: true" message until after it's already received something more than the handshake from the app. That was easily fixed -- I'm just not waiting for that anymore -- but it broke my original design to have resolution changes handled before startup(). Ah well. Anyway, that done, all the apps worked fine, including Animate and Clock. I'll see what happens once it upgrades to 9.1. There was some odd behavior with pyTivo, too, that I haven't fully characterized yet.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-07-2008, 10:19 PM   #35
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
OK! Here's the story: It's 9.1. I ran Animate for several hours under 7.2; no problem. Upgraded to 9.1 -- saw what others have reported. Then I tried the original Java version: exactly the same problem. So, there's another one for the 9.1 bug list. I'm surprised no one has reported it before.

I can only hope and expect that TiVo will fix it with their next software release for the Series 2, since it doesn't happen in either 7.2 or 9.2. But it happens in 9.1 regardless of the language or library used.

I'll be attaching a new version to the first post shortly.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-08-2008, 09:32 AM   #36
CuriousMark
Forum Denizen
 
CuriousMark's Avatar
 
Join Date: Jan 2005
Location: SoCal
Posts: 2,566
Thanks, glad to know it isn't just me.
CuriousMark is online now   Reply With Quote
Old 02-08-2008, 11:41 PM   #37
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Some further experiments with my 540: I tried forcing a short pause after each command sent. That didn't fix it, although it did make a difference -- I could see a little bit more of the rectangles, and the menu text didn't disappear. I extended the pause all the way to "don't send the next command until I press a key," but it didn't improve further.

I found that Effects caused the same problem as Animate -- not too surprising, since it also has many views in constant motion. One interesting thing here: when I inserted a delay, the "Visible" test actually worked (on my S3), for the first time (i.e., that square disappeared and reappeared). This hadn't worked even in the original Java version.

Then I took out the pause, and tried reducing the number of sprites instead. That was interesting. With one sprite, no problems. Two also seemed fine. With four, the first run seemed to freeze, although there was no visual distortion -- just four rectangles stopped. At first I assumed that the TiVo had frozen, but it responded just fine to the TiVo key. So I ran the four-square Animate again, and it seemed to work OK. Then I upped it to eight. Now I could see what I'd missed with four -- it actually started out normal, and only gradually came to a halt, with some squares still moving (based on their last animation, I assume) while others had already stopped; eventually, they all stopped. This happened every time with eight, although there was still no distortion or loss of text. Then I tried scaling it back down and letting it run a long time. Even with just three, after a few hours, I got the distortion and lost text.

Anyway, there doesn't seem to be anything I can do about it, but I kinda knew that already.

Instead, I offer you the next version of HME for Python. It adds two new event handlers (they're needed now, since startup() runs before the startup events are handled), and incidentally makes use of one of them in the demos to keep you from running Animate or Effects on a 9.1 system. (The others seem to be safe.) It also suppresses any exceptions during reading or writing the stream, since the socket can close at any time, but you still might need to run cleanup(). Plus it looks neater that way.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by wmcbrine : 02-09-2008 at 12:39 AM.
wmcbrine is offline   Reply With Quote
Old 02-09-2008, 11:57 AM   #38
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
I tried an older version of your software and only got an occasional artifact on my Series 2 240. I got similar artifacts from the java animate sample and my animate sample. None of them affected the usability of my tivo. This is all with 9.1.
jbcooley is offline   Reply With Quote
Old 02-09-2008, 08:41 PM   #39
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
New version -- adds handle_active(), which handles EVT_APP_INFO events of "active = true"; and better import exception handling in hmeserver.py -- empty directories are silently passed over without masking errors in real apps.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-09-2008, 08:44 PM   #40
refried
Registered User
 
Join Date: Dec 2005
Location: Brunswick, ME
Posts: 142
I'm trying out the test app on my Humax DVD Recorder (595) and it looks like the optional keys aren't coming back with the right key codes. Here are the key names, the spec codes, and what I actually get.

KEY_OPT_STOP 51 190
KEY_OPT_MENU 52 179
KEY_OPT_TOP_MENU 53 178
KEY_OPT_ANGLE 54 182

Odd, it looks like the vint parsing is correct and the packets coming over the wire sure use two bytes to specify the key number.
refried is offline   Reply With Quote
Old 02-10-2008, 10:17 AM   #41
refried
Registered User
 
Join Date: Dec 2005
Location: Brunswick, ME
Posts: 142
I tried out the 1.4.0 simulator and the 1.4.1 experimental simulator. The 1.4.0 gets the key codes right. The 1.4.1 simulator can't run the test app. I get this:
Quote:
WARNING: resource 2052 not found (type class com.tivo.hme.sim.SimResource$FontResource) [3]
WARNING: resource 2055 not found (type null) [3]

refried is offline   Reply With Quote
Old 02-10-2008, 11:58 AM   #42
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Turn on the debug output; it's more interesting. The 1.4.1 simulator is seriously broken. It gets a NullPointerException when trying to create resource 2052 (the font), which in turn is why resource 2055 (the text) fails. You can see the same behavior even when running the Java SDK's "Hello World" sample app (either 1.4 or 1.4.1 version). There are other problems with 1.4.1, too. But, I guess that's why it's labelled "experimental".

As for the key codes... they are what they are. If the real TiVo is sending out codes that don't match the spec, that's regrettable. But even the spec says not to rely on the KEY_OPT_* codes.

In a way, I'm encouraged to be receiving bug reports about things that would already be apparent with the Java SDK -- because it means that people are picking up HME for Python who never tried the Java SDK.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-11-2008, 01:35 PM   #43
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Version 0.5 posted -- this adds focus support, fixes a bug with the default sizing of child windows, and eliminates the need for a separate handle_key_repeat(), if you just want a repeat to work like a press.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-11-2008, 01:56 PM   #44
CuriousMark
Forum Denizen
 
CuriousMark's Avatar
 
Join Date: Jan 2005
Location: SoCal
Posts: 2,566
Quote:
Originally Posted by wmcbrine View Post
I found that Effects caused the same problem as Animate -- not too surprising, since it also has many views in constant motion. One interesting thing here: when I inserted a delay, the "Visible" test actually worked (on my S3), for the first time (i.e., that square disappeared and reappeared). This hadn't worked even in the original Java version.

Then I took out the pause, and tried reducing the number of sprites instead. That was interesting. With one sprite, no problems. Two also seemed fine. With four, the first run seemed to freeze, although there was no visual distortion -- just four rectangles stopped. At first I assumed that the TiVo had frozen, but it responded just fine to the TiVo key. So I ran the four-square Animate again, and it seemed to work OK. Then I upped it to eight. Now I could see what I'd missed with four -- it actually started out normal, and only gradually came to a halt, with some squares still moving (based on their last animation, I assume) while others had already stopped; eventually, they all stopped. This happened every time with eight, although there was still no distortion or loss of text. Then I tried scaling it back down and letting it run a long time. Even with just three, after a few hours, I got the distortion and lost text.

Anyway, there doesn't seem to be anything I can do about it, but I kinda knew that already.
I notified Jerry, who is passing the information along to the right people. I also played with skull and bones on my TiVo and it plays and works fine, although it never has more than one thing in motion at a time. Perhaps I need to play it for hours to see if things start getting bad.

I will try 0.5 tonight.
CuriousMark is online now   Reply With Quote
Old 02-11-2008, 02:43 PM   #45
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Of all the demo apps, only those two cause a problem. Skull and Bones is not at all a demanding app. You can probably play it indefinitely.

Anyway, thanks for talking to TiVoJerry. I think we can drop this subject now, since it's a general HME problem, not an HME for Python problem.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by wmcbrine : 02-11-2008 at 02:49 PM.
wmcbrine is offline   Reply With Quote
Old 02-20-2008, 02:03 AM   #46
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
New version 0.6 refines the focus handling a bit, makes sounds a little easier, and recognizes a couple more exit conditions.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-21-2008, 10:09 AM   #47
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Version 0.7 supports app transitions. I believe this is the last part of the HME protocol specification that I hadn't implemented. (Of course there's still more work to do in other respects.)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-22-2008, 03:37 PM   #48
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
0.8 -- The dict items for transition() no longer have to be in list form, although they still _can_ be. (The values returned to handle_init_info() are still lists, though.)

Simplified the transition demo and added an icon for it.

Print the skipped directories in hmeserver, along with the reasons they were skipped.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-22-2008, 10:18 PM   #49
tlc
Registered User
 
Join Date: May 2002
Posts: 460
Would this support HD-res photos? HMO and pyTivo don't, right?
tlc is offline   Reply With Quote
Old 02-22-2008, 10:44 PM   #50
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
If you want to write an HD photo viewer using this library, then yes. Out of the box, no. (BTW, I have an HD-related fix to post...) I'll probably write one myself, but don't wait for me.

HMO per se is neutral about resolution. The HMO photo viewer built into the TiVo is strictly SD, but the "HD Photos 2.0" HME app in TiVo Desktop uses an HMO server as the backend -- and it will even work with pyTivo. (Getting it to run outside of TiVo Desktop is a little tricky, but doable.)

Edit: Simplest possible HD photo viewer app:

Code:
import hme

class Picture(hme.Application):
    def handle_resolution(self):
        return (1280, 720, 1, 1)

    def handle_active(self):
        self.root.set_image('/your/pic/here.jpg')

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by wmcbrine : 02-22-2008 at 11:08 PM.
wmcbrine is offline   Reply With Quote
Old 02-22-2008, 11:02 PM   #51
tlc
Registered User
 
Join Date: May 2002
Posts: 460
Quote:
Originally Posted by wmcbrine View Post
HMO per se is neutral about resolution. The HMO photo viewer built into the TiVo is strictly SD, but the "HD Photos 2.0" HME app in TiVo Desktop uses an HMO server as the backend -- and it will even work with pyTivo. (Getting it to run outside of TiVo Desktop is a little tricky, but doable.)
Are you saying HD-res photos are possible with pyTivo and without TiVo desktop? Or would you still need the TiVo Desktop to tell TiVo to request HD photos from the HMO server?

Edit: Never mind, I get it. Tivo <-> HD photos 2.0 (HME) <-> HMO server.
HMO is neutral, but we can't get the Tivo to request hi-res.

Last edited by tlc : 02-22-2008 at 11:09 PM.
tlc is offline   Reply With Quote
Old 02-22-2008, 11:22 PM   #52
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
0.9 -- Added a separate set_resolution() function; changing the resolution with an already-visible root view (which is always the situation, since 0.2) requires a set_bounds() call on the root view.

Sorry for updating again so soon.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-26-2008, 04:16 AM   #53
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
0.10 -- Stupid bugs: sending data larger than 64K was broken since 0.3; images without names are not cached, but Image.remove() was still trying to remove them from the cache.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-28-2008, 08:03 AM   #54
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
0.11 -- Added a simple slideshow Picture Viewer to the included apps. It depends on the Python Imaging Library, and you'll have to edit picture/__init__.py to set ROOT to an appropriate directory (because I didn't want to bloat the archive with sample pictures). The app automatically uses hi-def mode when available.

- Changed the Animation class (and all the "animtime" parameters of various functions) to take seconds instead of milliseconds, to make it more consistent with general Python usage. I hope this doesn't inconvenience anyone.

- Small tweak to the put_chunked() function.

But I guess people are losing interest, judging by the number of downloads.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 02-28-2008, 10:57 AM   #55
gonzotek
tivo_xml developer
 
gonzotek's Avatar
 
Join Date: Sep 2004
Location: Outside Phildadelphia
Posts: 2,233
Quote:
Originally Posted by wmcbrine View Post
0.11 -- Added a simple slideshow Picture Viewer to the included apps. It depends on the Python Imaging Library, and you'll have to edit picture/__init__.py to set ROOT to an appropriate directory (because I didn't want to bloat the archive with sample pictures). The app automatically uses hi-def mode when available.

- Changed the Animation class (and all the "animtime" parameters of various functions) to take seconds instead of milliseconds, to make it more consistent with general Python usage. I hope this doesn't inconvenience anyone.

- Small tweak to the put_chunked() function.

But I guess people are losing interest, judging by the number of downloads.
I'm tracking your updates, I just don't have a lot of time to play, unfortunately. I would like to use HME for python for a few projects I have in the back of my mind, when I can find the time to devote to them.
gonzotek is offline   Reply With Quote
Old 02-28-2008, 12:13 PM   #56
CuriousMark
Forum Denizen
 
CuriousMark's Avatar
 
Join Date: Jan 2005
Location: SoCal
Posts: 2,566
Quote:
Originally Posted by wmcbrine View Post
But I guess people are losing interest, judging by the number of downloads.
Not at all, I just am not able to spend much time on it right now. I think I am still at 0.5 for my playing around and learning about event driven programming using python and hme. I have only done procedural scripts up to this point and have a lot to learn. In addition to that I probably will put more effort into fixing pytivo on my NAS first. It isn't as stable there as it is on a PC, and I fear it may be resource bound. I am trying to learn enough about Linux to try to look into that. But that is for another forum.

This is great stuff, amazing to me really.
CuriousMark is online now   Reply With Quote
Old 02-28-2008, 03:16 PM   #57
refried
Registered User
 
Join Date: Dec 2005
Location: Brunswick, ME
Posts: 142
Quote:
Originally Posted by wmcbrine View Post
But I guess people are losing interest, judging by the number of downloads.
Downloading zip files off a web forum is more effort than typing "git pull."
refried is offline   Reply With Quote
Old 04-04-2008, 10:49 AM   #58
CuriousMark
Forum Denizen
 
CuriousMark's Avatar
 
Join Date: Jan 2005
Location: SoCal
Posts: 2,566
Quote:
Originally Posted by CuriousMark View Post
I then ran animate and the screen showed the corect animation for about a second and then blanked showing an occasional tall rectangle. I took a long sequence of shots at about 2 per second to capture one of the rare appearances of a rectangle. They were appearing every 5 to 10 seconds, in different locations on the screen, but mostly to the right side.

When I exited the TiVo had lost fonts and rebooted.
I can happily report that the new 9.3 software on my Humax DVD burner TiVo fixes the issues I was seeing in HME, it all works correctly now.
CuriousMark is online now   Reply With Quote
Old 04-09-2008, 09:38 AM   #59
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,113
Quote:
Originally Posted by CuriousMark View Post
I can happily report that the new 9.3 software on my Humax DVD burner TiVo fixes the issues I was seeing in HME, it all works correctly now.
Well, I wish I could say the same for my 540. I still see it crashing in Animate, leaving me textless.

It works OK for the first few seconds... which might be an improvement. But fundamentally, it's not fixed.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 04-09-2008, 10:13 AM   #60
CuriousMark
Forum Denizen
 
CuriousMark's Avatar
 
Join Date: Jan 2005
Location: SoCal
Posts: 2,566
Bummer, I only tested it for about 10 or 15 seconds, I guess I should have tried for much longer. It was so nice seeing it behave correctly for the first time ever. Try it again after a day, just in case indexing is pushing it over the edge.
CuriousMark is online now   Reply With Quote
Reply
Forum Jump




Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 06:49 AM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |