Re-create WordSmith

Discussion in 'Developers Corner' started by davidblackledge, Jul 1, 2015.

  1. gonzotek

    gonzotek tivo_xml developer

    2,538
    59
    Sep 24, 2004
    Outside...

    Advertisements

    Maybe hide it behind something like a Konami-code sequence, so it's a bit of an easter egg. ;)
     
  2. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003
    I'm not really liking the multiple tile colors. They obscure where the selector is, and the dark backgrounds are hard to read (especially the dark + faded letters below the first row).
     
  3. scandia101

    scandia101 Just the facts ma'am

    11,107
    154
    Oct 20, 2007
    MN, greater...
    :up:
     
  4. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    Done. Thanks for the idea, and I'm glad the TiVo remote has B and A keys now. ;]

    up up down down left right left right B A (no start button, sorry)

    I'm actually adding it to my main utilities as a new "onKonami" event handler ;]
     
  5. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003

    Advertisements

    The local high-score list (right-hand column) has a weird flicker, like it's being redrawn every second or so.
     
  6. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    Yeah, actually both high score lists are hooked up to the same update as the list of connected/playing users.

    The thought was the high scores should update live when somebody gets a new score.

    However,
    a) the personal high score list doesn't need that, and
    b) the Java SDK forcibly caches the global properties where the global high scores are stored, so it'll never actually update until you reconnect.

    Therefore, I might as well turn off the high score updates completely. If I change how the global scores are handled somehow, I could turn that one back on.

    Thanks for the feedback,
    David.
     
  7. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    oh crap... I'll have to check, but it's possible that if two people are connected, and get a high score, the second one might overwrite the high score list to not include the first one's because of this caching.

    I believe TiVo didn't bother to cache at a static level for this "static" type properties file. Dang.
     
  8. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003
    Just do your own score files, there's no reason to go through the HME SDK for that stuff.

    You can of course check whether the scores need updating without redrawing, and only redraw if they do. Anyway, the left column never had this flicker, so something must be different between them.
     
  9. beyobe

    beyobe New Member

    2
    0
    Mar 19, 2007
    Is EnterWebz.TV supported on a Premiere?
    When I try to connect my Premiere to 66.193.212.44 as described in enterwebz.tv/connect.html, I get error code MSG_V307_ID (error occurred on the server).

    I can connect successfully from a Roamio Plus.
     
  10. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003
    It was this morning...
     
  11. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    It gets much creepier. I don't know how the two scores are working at ALL right now. It ends up the code in the SDK caches ONE properties file for all persistence in the application instance. It picks the file name to load/save on each request, but it doesn't seem to have a way to load the 2nd requested file because it already has something cached and doesn't cache one per file name. I would think it is overwriting the global scores with personal scores or vice versa!

    I've backed up the scores files for now and this weekend will fix the crappy implementation TiVo supplied or just write my own (I think I'd rather fix theirs to only cache per file name and do a static cache for global files). TiVo wanted this feature for high scores and such, so I figure I should fix it for the next time I fall for it. However fixing it only works when I'm using my own version of sample host... OK, I guess I should just do a full implementation of my own separate from their persistence.

    As for the flicker, they're both drawn at the exact same time... not sure why the 2nd one flickers. Also a little creepy. It generates content, clears and sets the global one, generates content, clears and sets the local one, all in one method. But I didn't turn off painting for the update, that probably would help... and I might as well track the display value so I don't update at all when not needed, like you said. Plus, like I said, the local scores don't need to be refreshed at all after the page displays.
     
  12. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    Ok, global high scores are now truly static and synchronized so they work properly at all times.
    Personal high scores don't try to update continuously in the Lobby.
    Global high scores actually reflect the latest additions if you're watching them from the Lobby.
     
  13. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003
    Not to be a pain, but the high score list still flickers.
     
  14. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    I can't see any flickering my Roamio or Mini 2... what are you seeing it on?

    And it's the global high scores now, right?
    Shouldn't be possible for the personal high scores to flicker any more - that only updates on entry.
     
  15. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003
    I noticed it on a Premiere (not that I think this is model-related), and yes, it was the global list. Not as bad as it used to be, but still there.

    I mean, seriously, it just needs to work like this (very broad pseudo-code):

    Code:
    old_list = nil
    loop:
        get new_list
        if new_list != old_list:
            update screen        /* ONLY DO THIS HERE */
            old_list = new_list
        end if
    end loop
     
  16. davidblackledge

    davidblackledge Registered lÜser

    563
    36
    Sep 9, 2008
    NM
    I wouldn't be surprised if it is - the Roamio runs the rest of Enter Webz so incredibly faster. Considering this is literally "clear resource, set resource with same string" it should be instant if the machine is fast enough.

    Oh, is THAT how you do that. I've been looking for an example of that elusive algorithm for YEARS.
    :rolleyes:

    I wasn't really concerned with the issue, but realized there was no reason to be updating the personal high scores at all, and that was the only place the flickering was showing up before, so I didn't feel like introducing a new instance variable or two when I had other improvements to think about in my very limited time.

    --

    FYI to everybody, not that it's anybody here's business, but I've got major family health issues going on right now, so I am only reading posts or working on code if I need a moment's mental break... not likely enough time to make any significant releases for quite a while.
     
  17. wmcbrine

    wmcbrine Well-Known Mumbler

    11,739
    827
    Aug 2, 2003
    That's wrong in the general case, but doubly so here, where each command is being sent over the public Internet from the server to the TiVo, introducing unpredictable delays.
     

Share This Page

spam firewall

Advertisements