TiVo recording status on a photo frame

Discussion in 'TiVo Coffee House - TiVo Discussion' started by nrc, Jan 31, 2012.

  1. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    We can't all be computer nerds. :) I should be able to post a Windows executable version of this script later tonight. That will at least eliminate the hurdle of having to install Perl and modules. There will still be some nerdy parts around running the program but maybe we can iron that out over time.

    Interesting. Is the the third circle always missing or only when it's two suggestions and then a scheduled recording? I'll look into this.
     
  2. nyjklein

    nyjklein J-E-T-S JetsJetsJets TCF Club

    258
    44
    Aug 8, 2002
    North...
    Seems so. With three suggestions, the first two have yellow circles, the third has nothing. With three recording going, the first line is a suggestion with yellow, the 2nd is red, the third is missing and the 4th is red.

    Jeff
     
  3. windracer

    windracer joined the 10k club

    12,260
    216
    Jan 3, 2003
    St. Pete, FL
    NRC's solution is cooler, but I remember using this old Vista dashboard widget a long time ago.
     
  4. TiVo_Fanatic

    TiVo_Fanatic Member

    532
    0
    May 29, 2006
    Pa
    I am a bit of a computer nerd, just not on your level lol.

    As far as a windows based app goes, that would be awesome, since I assume the program is something that has to stay actively running I guess your going to make it with the ability to run in the background with a taskbar icon like the TivoDesktop server ?
     
  5. csell

    csell Member

    304
    6
    Apr 16, 2007
    Can this work for a Tivo HD?
     
  6. Fofer

    Fofer Bo55man69

    92,818
    4,426
    Oct 29, 2000

    <drool>

    I would love to see something like that for Mac.
     
  7. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    Yes. It looks like the information that it pulls from the TiVo has remained consistent.
     
  8. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    I think I figured this out. I've miscalculated the vertical position of the record circles. The third circle is shifted to the position of the fourth and the fourth is off the image. I think that shifting around may also be causing the color mix-ups.

    I'll upload a fixed version tomorrow after I test it on Windows.
     
  9. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    I've uploaded a new version that should fix the bugs that nyjklein pointed out. I also added a .exe version which is really a packaged Perl executable.

    I also added an option to copy the image to multiple files that are numbered sequentially. The reason for this is that my frame seems to work more smoothly if it thinks that it's stepping through multiple images.

    http://www.offcamber.net/files/nooled
    http://www.offcamber.net/files/nooled.exe
     
  10. nyjklein

    nyjklein J-E-T-S JetsJetsJets TCF Club

    258
    44
    Aug 8, 2002
    North...
    Hadn't had a chance to check it out until tonight, It does indeed resolve the issue I was having on my Elite.

    Jeff
     
  11. TiVo_Fanatic

    TiVo_Fanatic Member

    532
    0
    May 29, 2006
    Pa
    What would be the proper steps to run and get the exe goin successfully ?

    Or should I just run it and follow the prompts I assume are in there ?

    Edit: See pic...
     

    Attached Files:

  12. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    Looks like the packager I used failed to bundle one of the libraries. My apologies, I'll have to repackage and make sure I test on a box that doesn't already have the library outside the package. :eek:
     
  13. TiVo_Fanatic

    TiVo_Fanatic Member

    532
    0
    May 29, 2006
    Pa
    No worries ;-)
     
  14. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    Ok. I fixed the dependencies and this time I actually tested the packaged version on a machine (win7) without Perl installed.

    You'll need to install ImageMagick. http://www.imagemagick.org/

    Then try something like:

    .\nooled.exe -t tivo_ip -m MAK -i image.jpg -o imageout.jpg

    Or maybe just .\nooled.exe --help
     
  15. TiVo_Fanatic

    TiVo_Fanatic Member

    532
    0
    May 29, 2006
    Pa
    Ok, so I sort of got this working...

    Anyway, with this being a one hit wonder on Windows. How would I automate this since I'm not on Linux where if I was I could do a 2 minute cron ?

    Lastly, how can I have it to do random images, so again, when I get a digital frame I dont have to wait for the nooled image to roll around and display what's recording if that makes sense.

    Here's what I'm running from the Windows command prompt right now.

    .\nooled.exe -t T_IP -m T_MAK -S -T -F 20 -i .\input\Andy21.jpg -o .\output\Andy21.jpg

    Edit: I'm also curious if it's possible to use a "config" file on the Windows application. Reason I ask is because the more I need to "run" this the more I need to enter the IP & Mak of the TiVo in question along with the other defined options.

    Ty for your hard work and patience with me ;-)

    Edit 2:

    I dont have a digital photoframe yet so I still need to figure out how to make this work for me. That said, photoframes as I understand them rotate the images so the recording info will only ever be shown on the one image when it rolls over right or does this project assume the user would only ever be using one image which would always be displayed on the frame ?
     

    Attached Files:

  16. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    Originally I figured that it could use Windows task scheduler. nyjklein reports success using Windows task scheduler in Win 7, but in XP it's very limited.

    I will probably add a looping feature with a configurable delay at a minimum. I'll investigate other options as well. Going the full Windows Service route seems painful and non-portable to me so I'm going to avoid that unless interest builds. Particularly since it doesn't seem necessary for Win7 and beyond.

    I think I need to describe this better in the help document. The intent is for nooled to handle any picture switching and only provide the frame with the image that will contain the current recording status.

    So if you point to a directory full of images with as the source, nooled will pick one of those to use. For the next hour (by default) nooled will use that same file and apply the current recording status to that image. After an hour it will pick a new image and use that for the next hour. You can change the frequency of changing images with the "frameUpdate" option in the config file.

    Of course this assumes that your frame will update the frame display even if the name of the file remains unchanged and there's only one file in the place that it's looking for photos. If not, you can use the -C option which makes multiple copies of the image so that your frame can happily think that it's doing a slide show when it's really just updating the same image over and over until nooled swaps it out for a new one.

    So when you do this command:

    nooled -m MAK -t TIVO -C2 -i C:\photodir -o Z:\framedir\tivostat.jpg

    nooled will pick an image at random from C:\photodir and save it with your TiVo recording status to tivostat1.jpg and tivostat2.jpg in Z:\framedir\. For the next hour it will pick that same photo (actually a temp copy of it) and just update it with any recording status changes.

    Yes, for Windows it will look for the config file by default in your user directory which is normally just above My Documents. Just beware that you create .nooledrc without any .txt extension and it should read it fine. Alternately you should be able to give it the -c option to have it read any file you like.

    A couple of words of caution about photo frames. First, some photo frames say wireless but they actually need a dongle to work with wireless. Some of the Pandigital ones are this way. Second, I'm not sure how many other models besides Kodak will access photos from a Windows share. I wouldn't mind to make allowance for other ways of sharing but I don't have a good idea of what else might sense. What I have now works for me and I don't want to mess with other mechanism if nobody is going to use them. I'm guessing that FrameChannel is out. :D
     
  17. TiVo_Fanatic

    TiVo_Fanatic Member

    532
    0
    May 29, 2006
    Pa
    Assuming that works, I would like to suggest something that allows it to be minimized to the tray by the clock so I don't have to always keep a prompt window open. I sort of suggested this before... so users don't need to keep anything physically open like you would with a web page your using. As for goin the funn windows route whatever that means, I'm sure I'm not the only one who'd consider a small donation to this project ;-)

    I would add that I don't have PayPal right now but could easily send you a check, mo or even pay you via Paymate, if you use that.

    I def like the way you wrote and redescribed this. So if the frame pulls its images from framedir then there's only ever the one image in it which is replaced during the script updates. Any way, so I can say that I asked... if I use your provided command, it will use any images from the photo directory and get placed in the frame directory ?

    Also, since I'm running this on Windows... it looks like the only thing I need to change is nooled to .\nooled.exe and then add the extra stuff like which would make it for me look like this.

    .\My Documents\nooled\nooled.exe -m T_MAK -t T_IP -C2 -S -T -F20 -i C:\Documents and Settings\Owner\My Documents\nooled\input\ -o C:\Documents and Settings\Owner\My Documents\nooled\output\TivoEliteStat.jpg

    Question about the -C2, even with it keeping two copies of an image wouldnt there still always be at least one image with the same name that might cause an issue with the frame or does that "bug" kind of void itself out since it would as you said be like a slide show where it should rotate through the images without issue regardles of their names ?

    So I don't screw this up might I ask you for a favor ?

    Using the below command which I will use.

    .\My Documents\nooled\nooled.exe -m T_MAK -t T_IP -C2 -S -T -F20 -i C:\Documents and Settings\Owner\My Documents\nooled\input\ -o C:\Documents and Settings\Owner\My Documents\nooled\output\TivoEliteStat.jpg

    Wold you create the config file for me and tell me where it should be placed ?

    Actually, speaking of file placement, wouldnt it just go in the nooled folder where the exe is ?

    Which right now is Desktop > My Documents > nooled

    Then in the nooled folder is where my output & inout image folders are which are named output & input.

    Ty for your hard work and dedication with this ;-)

    Edit: On the note of randomness, each time I run my command seen below, it should choose a random image right ? Well it seems to always use the same image so my question is this, even under an automation process for Windows which I hope can be found. Just how random is it supposed to be ?

    Or does that hr thing still apply where it's somehow sensing what time it is and since it last ran or whatever ?

    Code:
    ".\My Documents\nooled\nooled.exe" -m T_MAK -t T_IP -C2 -S -T -F20 -i "C:\Documents and Settings\Owner\My Documents\nooled\input" -o "C:\Documents and Settings\Owner\My Documents\nooled\output\TivoEliteStat.jpg"
     
  18. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    I think if I put a loop in you'll be able to run it at startup as a Windows scheduled tasks and not have to have a command line window open. I doubt that I'll venture into system tray icons.

    And thanks for the appreciation but I'm doing this for my own interest and entertainment so there's no need for a contribution.

    I'm not sure that I follow the question. In the example command that you provided it will create TivoEliteStat1.jpg and TivoEliteStat2.jpg and always update those same two images. It doesn't actually create the TiVoEliteStat.jpg file (without the digit) in that case.


    To put these options in a config file, create this file and save it as: C:\Documents and Settings\Owner\.nooledrc

    Code:
    tivo = T_IP
    mak = T_MAK
    copies = 2
    suggestionTitles = yes
    transferTitles = yes
    textSize = 20
    imageSource = C:\Documents and Settings\Owner\nooled\input\
    frameTargetImage = C:\Documents and Settings\nooled\output\TivoEliteStat.jpg
    frameUpdate = 3600
    
    Right now it looks in your "%HOMEPATH%" ($HOME in Linux) directory. The next version it might be worth checking the current directory first and then the home directory.

    It will pick an image at random and then it will continue to select that same file every time you run it for an hour, only updating the recording status (if any). If you want it to change images more often change "frameUpdate = 3600" in the config file I included above to a smaller number of seconds.

    I did it this way because I prefer to keep the same image up for a while rather than have it constantly switching photos. The frame sits on our TV stand and I find a slide show type display to be distracting. With the same image and no slide transition on my frame it just looks like a static picture with the recording status updating every five minutes.

    It can tell how long it has been since it picked the current image because it saves a temporary copy of the file and it can check the creation timestamp on that.
     
  19. TiVo_Fanatic

    TiVo_Fanatic Member

    532
    0
    May 29, 2006
    Pa
    Thxx for that, in regards to the startup / loop thing... what if you want to edit it. Would you have to restart the system or just mess with the task ?

    As for the config file, C:\Documents and Settings\Owner\My Documents\nooled\ is where the exe is at so what I was asking was wouldnt I want the config there too ?

    C:\Documents and Settings\Owner\My Documents\nooled\nooled.exe
    C:\Documents and Settings\Owner\My Documents\nooled\.nooled

    Edit: With the config file in mind, all I should need to now run would jusr be nooled.exe right ?

    Edit 2: Looks like my answer is no, I ran the exe and got images not found in nooled so it's def missing the config file which right now I have placed in the sane folder as the exe as seen above.

    Might I suggest having, at least for the exe version, it look for the config file in the location of the exe ?
     
  20. nrc

    nrc Cracker Soul

    2,485
    26
    Nov 17, 1999
    Living in a...
    The links in the original post now point to an updated version.

    I've added a --repeat n option (or -r n) where 'n' is how many minutes to wait between updating the image. It actually tries to align on the nth minute (so that it can hit the start/end times of programs as closely as possible). The program will run until it is killed when -r is used. Without -r it remains a one-shot program.

    Also, now if it doesn't find .nooledrc in your current directory it will next check in the directory the program is running from, and then finally your HOME directory.

    It still doesn't run as a service - I haven't found a free way to do that within the executable. But I've experimented with a utility called nssm (Non-sucking Service Manager) which allows you to pretty easily install the program as a service now that it can run continuously with the repeat option.

    I've just started testing this with nssm but it seems to be working pretty well. You should make sure that you give nooled the "quiet" option so that it doesn't try to print stuff out while it's running as a service.

    Here's my (Windows) .nooledrc as and example:
    Code:
    mak = 555555555
    tivo = 192.168.10.100
    imageSource = Y:\PhotoQueue\
    frameTargetImage = Y:\Photos\Frame\nooledPic.JPG
    copies = 2
    quiet = 1
    repeat = 5 
    
    [​IMG]
     

    Attached Files:

Share This Page