Announcement

Collapse
No announcement yet.

Spinner TIVO with Framed Now Playing Integration

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    When I run NPFrameInstall, I get a new virtual device Z50. What does it do exactly? I don't see any updates from Homeseer, it's always UNKNOWN. Can I delete it?

    Thanks,

    [This message was edited by htsource on Thursday, 25 July 2002 at 11:38 PM.]

    Comment


      #32
      htsource, when I posed that question a bit back, I didn't get a prompt clear response, so I just dove in... now I understand why there was no quick, clear response: it's in a few places and not easy (IMO) to document.

      Essentially, the NPFrame.html is the wrapper that pulls up all the NPFrameR1C1A.asp and such files. All the sizes for the data in each of the frames is in those .asp files. I just went through them again and again and again until I found enough of the pieces to get it sized right.

      As I posted just a bit ago, now that I have another touchpad that's 1024x768, I'd like to resize it all for that, but I don't want to lose the 800x600 sizing that I did, so - ideally - I'd like to be able to use the current files with variables for size. I haven't interacted with Michael (as he requested) to pursue that as yet.

      Michael, any ideas on pulling the sizing out to .ini stuff?

      (see profile for environment)

      Comment


        #33
        The sizing should not be that difficult of a problem. If you could do it manually, then the computer can do it automatically.

        I think what we want to do it to recognize the client by some means which might be the IP address and then dynamically size the frames and other elements to fill the desired screen area. The mapping of client to screen size will be an .ini lookup.

        There are a relative few and finite number of areas where the size needs to be changed. I have a guess at where some might be, but since you have already been through it to get to 800x600 it makes sense just to do a source code difference to see what you thought was appropriate to change. With the differences then we know what sizes should be a function of screen size. I suspect a few more will want to be changed going up to 1024. The first step, however, is to recreate what you have using dynamic logic rather than a manually edited version of the Audrey layout.

        Comment


          #34
          Tell me what I can do to help, Michael. I documented a few of the places that I changed things, but I'm sure a code verify would shorten the search considerably.

          The gist of it came down to just a few things, as I recall: frame sizes, font sizes and bitmap size... I think that was it.

          What can I do to help? Post code in a .zip?

          (see profile for environment)

          Comment


            #35
            Simon,
            The screen space is allocated with the framesets and the area of the screen for the header in in NPFrameR0. This is where the header.asp should be included. If a footer is also desired then a frame needs to be defined to hold it and the footer included in that frame. With a big screen this is room for the footer frame.

            With the multiple frame organization there is no longer a single asp file where everything can be placed. If some of the elements are at the top and some are at the bottom of the screen then two frames will be needed and likely two asp/html files to support each of the frames.

            Another thing you will run into when using frames is that the "back" javascript apply to the current frame unless explicitly told otherwise. So some functions that assume the request to go back was from the top window will fail. The links buttons are such an example. They need to be explicitly directed to go to the parent screen or _top screen otherwise the resultant page will appear only in the frame rather than the entire window.

            Comment


              #36
              Gregory,
              The easiest thing to do is zip up the source and mail it to me. I will use the document compare function in Word to see what has changed. Once I see that then we can evaluate the best approach

              Comment


                #37
                Michael,

                Thanks for your explaination, I'll give it another try and let you know what it turns out.

                Simon

                Comment


                  #38
                  Michael, let me know if you didn't get the zip package I emailed you.

                  'Nother thought: the one element of unreliability left in my environment is when the dreaded "BOF/EOF" error comes up and kills TTF. I know that it's mostly when I have discs that decide not to play correctly; but I often don't get around to correcting them immediately. If TTF were to restart whenever it died that'd be great. Of course, if it just didn't die in the first place, that'd be better.

                  All that aside, you're now launching it if it's not running when NPFrame.html starts, right? Right now, all I have to do if it dies is "relaunch" NPFrame.html and it restarts TTF. That's a LOT better than when I had to go to the server to start it again. What I'm getting at is that if TTF is going to keep doing this, do you have an idea on how I might go about checking that it's running and/or relaunching it at the start of every song?

                  TIA.
                  -Gregory

                  (see profile for environment)

                  Comment


                    #39
                    Hi guys,

                    Sorry I keep asking questions but I spent almost whole day yesterday trying to get this to work but just no go. I've attached the NPFrame.html.

                    Basically I've been trying to customize the HTML to show nicely on a 1280x1024 screen. However, I run into few problems:

                    a) The header is working but if I click on the any links from it, it opens in its own window. I know Michael warn me about it, but I'm not sure where to fix it.

                    b) I can't get the footer to show

                    c) When I launch the HTML page, I get the following 2 separate IE windows:

                    http://192.168.1.106:1500/cdj/NPFram...Action=&wdt=15

                    and

                    http://192.168.1.106:1500/cdj/NPFram...ion=WDTInstall

                    Basically the NPFrame.html file, I did it from scratch in FrontPage 2000. I named all the frames same as the original NPFrame.

                    Any help would be much appreciated,

                    Simon
                    Attached Files

                    Comment


                      #40
                      Yesterday I Emailed Gregory the updates to allow configuration of the screen size to confirm that the changes were properly made. I'll send them to you also since you are actively trying to make the changes. I will also send you my links files so you can see the syntax for both the PC and touchscreen versions. The syntax is backward compatible so existing programs will accept the new links syntax.

                      For the footer you will need to add a frame under the row of icon buttons. In the NPFrameSizes.asp file you will see where the row for these buttons are defined and add an entry for 50 or so pixels. In NPFrameMain.asp you will make the corresponding change by adding a row with the "src=xxx" parameter to be the new xxx file that you make that contains the footer.

                      You are getting the new windows because your new html file did not contain entries for the hidden frames. On IE, when a referenced window does not exists it creates a new browser instance to hold it. I think starting from scratch in FrontPage is the more difficult approach. There is more to it than just the visual layout and it involves more than the NPFrame.html file. When you get the Email you should have a better insight.

                      Comment


                        #41
                        Thanks for the files, Michael. I'm going to try to hash through them this evening.

                        On a separate note, I wonder what the chances are of getting TTF not to crash just because it hits EOF/BOF? That is the one remaining element of reliability trouble that I have. All else is excellent at this point.

                        I have P510s running Win95 stripped of IE with NPFrame running on Opera that say up for days. They don't stop even if the server goes down or TTF crashes. If I fire TTF back up, they sync back up within a few seconds. The ProGear and other PCs are equally reliable, but the $150 P510s are the impressive thing.

                        The big bummer is that when the EOF/BOF error occurs, I can't even re-run TTF, since it's sitting waiting for someone to hit "Enter". If it'd just crash itself away, I could relaunch it every minute (I tried that, but this "Enter" thing was a problem).

                        Is TTF Ron's baby? Ron, any chance of that change? I don't mind re-launching it, if it's easier to just make it kill itself. Ideally, it'd log the error but stay running.

                        Thanks.

                        (see profile for environment)

                        Comment


                          #42
                          The only TTF error I see popup is when I close homeseer down and it tells me that it lost contact with its automation server. This is not an unexpected result. I know John Wilson also has some TTF error show up, but I forget what it is.

                          The bandaid solution is to detect when the problem exists and then terminate it. hs.Keys may work and if it does not then I know terminate.exe will do the job.

                          I tried giving TTF an <enter> when it is working normally and it produces the ding which is objectionalble if it happens on a periodic basis. This means that hs.keys with a <enter> should only be used if it is in a failed state.

                          Does anything happen to the virtual devices used by TTF when it aborts? If so then this could be used to detect the failed state.

                          It may also be possible to do a API call to look for that specific window. It may be the case that the window will not be distinguishable from the normal TTF one. To know if we can detect it, then run the ProcessPriority.exe program without any parameters when the failure occurs. This will produce a HTML file showing all the visible and hidden windows and then see if a separate window is listed for the popup vs the TTF window.

                          I suspect you are getting EOF/BOF errors because there is something inconsistent with your CDJ database. One solution is not to provide data that will cause TTF to find the BOF/EOF. SpinnerRefreshLibrary can help with this. There are later versions that what is posted in the library. If I had the latest source to TTF then we could change it to not produce the popup on that error condition. Only Ron has the latest source.

                          Comment


                            #43
                            I just completed a 2-day upgrade to NPFrames and decided to try out the Spinner components. Based on how complete your NPFrames package was, I'm sure that this issue has to do with the way I set it up, but I'm at a loss as to how to proceed.

                            As far as I can tell, I've followed all the instructions to set up Winamp, VCR, and Ripper. When I run Winamp and choose my channels, I get messages in the HS log that songs are copied to VCR, and, when I look at VCR, they are indeed being copied. No error messages are generated in HS, or anywhere else.

                            VCR shows a number of songs "queued" and attempts to load them, but they all time out after "n" retries (I've tried up to 20). The "Received" directory contains .RM files of zero length, all properly named.

                            Any ideas?

                            Comment


                              #44
                              Thanks for the help, Mike. That file did the trick.

                              Now I'm getting the files downloaded and converted, but they are not getting copied to the CDJ Music directory in Artist/Album/Song order, nor are they being added to CDJ. I just get hundreds(!?!) of MP3 files on my hard drive with the cryptic Spinner codes for filenames.

                              I have all the diagnostics turned on, but I'm having trouble figuring out where to focus. I see SpinnerMove.exe runs full-time and consumes 100% CPU. Ripper also runs constantly and rips the same 20 files over and over. Winamp hangs every once in a while, too. I'm also getting Audrey errors in the HS log, but since I don't have Audreys, I'm not sure if that's important or not.

                              Can I shut off the Spinner recording functions and leave everthing else running? Is there a way to run just the MOVE function to try move the completed MP3 library? Can I just re-set the database and libraries and start over?

                              Regards,

                              Comment


                                #45
                                You've got a lot going on (or not going on). I'll "talk out lound" and see if that helps. It looks like the front-end with SpinnerGet is working to some degree. This is very good. The hardest part of making this thing work was all the timing tweaks needed by SpinnerGet.

                                SpinnerGet will place each filename in the SpinnerArtists Table of the Spinner database. This may be the same database as CDJ if that is how you configured it. This is the table that contains the ID3 data grabbed from Winamp as new songs appear.

                                If this table is not populated then SpinnerMove has no information as to where to place the files. If I recall correctly the RA files do not have the ID3 encoded and I do this with SpinnerMove when I place them in the correct library structure.

                                If the SpinnerArtist table does have the RA filename and corresponding entries for artist/album/track then we need to focus on the SpinnerMove setup. If it does not this means that what you currently have will not be correlated and will not be of much value other that as a "surprise" playlist.

                                We need to see what side of the fence the problem is on to take the next step. Does the spinner log show the artist/album/track names? Is the SpinnerArtist table defined in the database and does it contain reasonable information?

                                The Genre table should also be augmented with spinner-specific genre codes. I just added them in sequence to the end of the table as the genre data in the filename is detected.

                                Ripper can only do 20 conversions at a time. I originally set it up with a script monitoring the number of files in the VCR and when the threshold is reached to start SpinnerMove. SpinnerMove will copy batches of 20 files at a time between the VCR and Ripper and prompt to have Ripper do the conversion. I no longer use that script as mentioned below.

                                I've had some cases where the RA files causes Ripper a problem and it will abort. SpinnerMove was not made smart enough to detect this so it will copy 20 more files and the failure modes will remain. The solution is to recognize which file did not convert and delete it. You can copy the RA files in the Ripper input area back to the VCR and start SpinnerMove again. I cannot recall Ripper running continuously without aborting, but I suspect it is possible. Solution again is to discard the data file that is causing it problems.

                                Ripper will use near 100% CPU when it is converting. SpinnerMove is usually waiting for Ripper, but does have some number crunching to do. Events are allowed to occur in SpinnerMove's loops so other activities should occur in parallel.

                                Yes winamp does hang in various different ways. Over the months I have characterized various failure modes and made SpinnerGet smarter to handle more of the cases. It is still not 100% but it usually will run overnight doing its thing as it is intended.

                                I've detected just under 30,000 tracks from Spinner.com and 43% resulted in a new download. Typical scenario for me is to collect data for a day then start SpinnerMove in the morning. Agent speaks when its time to answer Ripper's promts. I've got an old computer running the package configured without homeseer doing the collection. My homeseer computer runs SpinnerMove and has the CDJ library.

                                The Spinner package contains a number of standalone tools. I generally tried to provide ini configuration options to enable selected capabilities. Primary testing, however, is with it as I use it. You do not need to use SpinnerGet or SpinnerMove to use other aspects of the package.

                                You'll probably find EMAIL a little easier to work for this level of debug. I can also provide you with more current versions of the files once we get past the basics of operation. The SpinnerRefresh is another that has had several upgrades. There is always some new situation that needs detection so this gets added to SpinnerRefresh to assure the library is consistent. With this volume of tracks manual maintenance is not practical and the automation tools are essential.

                                Comment

                                Working...
                                X