FirewireSDK Complete (?) STB Channel Changer using modified clover


Update: attached below is a binary of my modified 'clover' utility. I am calling it clover-pace (simple because it's a modification to clover aimed at making it work with the Pace RNG110 STB). It retains the same actual utility name and Nathan Ramella's License.

Also the usage is a little different. One no longer needs to execute clover 3 times for a 3 number channel change, it can be sent to the utility all in one command, for example:


clover -f 7,0,2 -d 60 -o my_recording.ts

The comma's are necessary, call it a workaround for my lack of knowledge with objective-c xcode programming.

Update #2: It was brought to my attention that this might have some dependencies on the Apple FirewireSDK, and also it's installation location. You can download the FireWire SDK here. I have clover installed in the root of my hard drive, and the person who brought this issue to my attention did the same thing, and that seemed to resolve any errors he was seeing. Not optimal, not clean, but it works.

Let's see where this goes...

I nice gentlemen at remix.net named Nathan Ramella, created a little command line utility he named clover. He gave out the source code of clover as well. The problem with this particular tool for me was that it wasn't sending the proper commands to my Pace RNG110 STB. Since Nathan's utility is based on some example code included with the FirewireSDK (I checked that his code is in fact based on the AVCVideoCap tool), I decided to see if I could combine some extra features of the AVCBrowser into clover. BTW, the example code for both of these gui tools are included in the FirewireSDK26 package, which is free from Apple.

The Pace RNG110 apparently can't accept the "Deterministic" tuning commands that the FirewireSDK issues over firewire. However the AVCBrowser's button commands, my STB were responding to. With some patience I could click 7 and then 0 and then 2, and my STB would tune to channel "702". I could even use the channel up and channel down keys.Frankenstein DVR Remote

I am no programmer, let me first say that, but I like the utilitarian aspect of "clover". It's my kind of simplicity. I don't want a gui, if I wanted a gui, I will build one with an ui I know better, and I can access with any web browser (PHP/XHTML).

Long story short, I was able to create a subset flag for clover (-f), that sends key presses you tell it to. The problem is you have to call clover each time. No biggy for me, since I then just created a shell script that issues each key press. I don't know enough about xcode to explode (forgive my php-ease here), a single number string and issue the commands within clover separately, but that might be something I do, for the future.

The great thing about the inclusion of this, is now clover responds to both Deterministic commands, and button commands. The other awesome thing is that if you don't give clover an output file, and just issue the -f (my new flag), or the -c, clover will still execute the channel change. Almost like a remote control. See what I am getting at here?

For now I just wanted to do a mind dump, I am trying to get into contact with Nathan to see if this is something he still has an interest in, and possibly just having him integrate it into his utility, and make it better even. I don't have the expertise to maintain such a thing, but my "hack" will serve me well.

Really interested to see if anyone ends up here, after finding out this STB is unable to respond to deterministic tuning. Another utility I checked out was pyavc, which suffered the same problem. Both record, but were unable to change the channel on my stb.

AttachmentSize
clover-pace.zip10.68 KB

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.