[Message Prev][Message
Next][Thread Prev][Thread Next][Message
Index][Thread Index]
RE: Display JPEGs on your Tivo from ANYWHERE
- Subject: RE: Display JPEGs on your Tivo from ANYWHERE
- From: "Sullivan, Glenn" <gsullivan@xxxxxxxxxxxxxx>
- Date: Mon, 28 Nov 2005 08:28:58 -0500
Here's what I ended up doing... You tell me how it meshes with your
model.
When the xAPplication starts, it reads a CSV of TiVo address,
Description combinations, and starts a thread for each TiVo, with a
message queue.
LOCATION:
When it receives a message like this:
xap-header
{
v=12
Hop=1
UID=FF123400
Class=Display.Locate
Source=BushSoft.xAPTiVoJPEGWriter.test
}
Locate
{
}
It responds with a message like this for each TiVo... The only
difference is the source subaddress and the last two digits of the UID:
xap-header
{
v=12
hop=1
uid=FF111101
class=Display.Service
source=BushSoft.xAPTiVoJPEGWriter.gmslaptop1:LivingRoom
target=BushSoft.xAPTiVoJPEGWriter.test
}
Display
{
failurecount=0
size=no
successcount=0
priority=no
image=yes
queue=yes
lines=3
align=no
buttons=no
time=yes
modal=no
length=35
brightness=no
}
MESSAGE DISPLAY:
Upon receiving a message like this:
xap-header
{
v=12
Hop=1
UID=FF123400
Class=Message.Display
Source=KCSoft.Send.Anya
Target=BushSoft.xAPTiVoJPEGWriter.GMSlaptop1:>
}
Display.Text
{
Line1=Incoming Voice Call
Line2=Stuart Booth is calling from 01234-567890 } Display.Look {
Image=\\gmsserver01\Pictures\ERIN.JPG
}
It creates the JPEG and adds the message to the queue for each TiVo. As
the TiVo display becomes available, the app attempts to post the JPEG to
the screen. If a "duration" item is added to the Display.Text
block,
the image is posted for that many seconds, otherwise, the image is
posted until another one is queued to post, or a clear message is
received.
There can be two different types of messages generated by a display
event, depending on if it succeeded or not. The message is generated
when the operation is complete, i.e., immediately, for a permanent
display, or after the message has been displayed and clears, in the case
of a timed display.
xap-header
{
v=12
hop=1
uid=FF111101
class=Message.Display.Info
source=BushSoft.xAPTiVoJPEGWriter.gmslaptop1:LivingRoom
target=KCSoft.Send.Anya
}
Display.Success
{
tivodescription=Living Room
successcount=5
line1=Incoming Voice Call
line2=Stuart Booth is calling from 01234-567890
tivoaddress=192.168.64.251
failurecount=0
}
xap-header
{
v=12
hop=1
uid=FF111102
class=Message.Display.Info
source=BushSoft.xAPTiVoJPEGWriter.gmslaptop1:MasterBedRoom
target=KCSoft.Send.Anya
}
Display.Failure
{
tivodescription=Master Bed Room
successcount=0
line1=Incoming Voice Call
line2=Stuart Booth is calling from 01234-567890
tivoaddress=192.168.64.250
failuretext=The underlying connection was closed: Unable to connect
to the remote server.
failurecount=4
}
You can see that the message was displayed correctly on my Living Room
TiVo, but not on the Bedroom TiVo... That's because I don't have one in
the bedroom ;-)
You can also see that the Living Room TiVo has successfully processed 5
display messages, and the Bedroom TiVo has had 4 failures.
There is also a corresponding "Clear" message:
xap-header
{
v=12
Hop=1
UID=FF123400
Class=Message.Display
Source=KCSoft.Send.Anya
Target=BushSoft.xAPTiVoJPEGWriter.GMSlaptop1:>
}
Display.Clear
{
}
Which generates either a success or failure message:
xap-header
{
v=12
hop=1
uid=FF111101
class=Message.Display.Info
source=BushSoft.xAPTiVoJPEGWriter.gmslaptop1:LivingRoom
target=KCSoft.Send.Anya
}
Clear.Success
{
tivodescription=Living Room
failurecount=0
successcount=8
tivoaddress=192.168.64.251
}
xap-header
{
v=12
hop=1
uid=FF111102
class=Message.Display.Info
source=BushSoft.xAPTiVoJPEGWriter.gmslaptop1:MasterBedRoom
target=KCSoft.Send.Anya
}
Clear.Failure
{
tivodescription=Master Bed Room
failurecount=6
successcount=0
tivoaddress=192.168.64.250
failuretext=The underlying connection was closed: Unable to connect
to the remote server.
}
QUEUE MESSAGES
The xAPplication also responds to Queue.Query and Queue.Clear messages.
For the Query message, it responds back with a Queue.Info message, and
for the Clear message, it clears the respective queues and THEN responds
with Queue.Info messages as appropriate:
xap-header
{
v=12
Hop=1
UID=FF123400
Class=Message.Display
Source=KCSoft.Send.Anya
Target=BushSoft.xAPTiVoJPEGWriter.GMSlaptop1:>
}
Queue.Query
{
}
xap-header
{
v=12
Hop=1
UID=FF123400
Class=Message.Display
Source=KCSoft.Send.Anya
Target=BushSoft.xAPTiVoJPEGWriter.GMSlaptop1:>
}
Queue.Clear
{
Clear=All
}
xap-header
{
v=12
hop=1
uid=FF111102
class=Message.Display.Info
source=BushSoft.xAPTiVoJPEGWriter.gmslaptop1:MasterBedRoom
target=KCSoft.Send.Anya
}
Queue.Info
{
tivodescription=Master Bed Room
failurecount=0
successcount=0
tivoaddress=192.168.64.250
count=0
}
How does that mesh with your model?
Glenn Sullivan, MCSE+I MCDBA
David Clark Company Inc.
-----Original Message-----
From: xAP_developer@xxxxxxx
[mailto:xAP_developer@xxxxxxx]
On Behalf Of Stuart Booth
Sent: Wednesday, November 23, 2005 5:21 PM
To: xAP_developer@xxxxxxx
Subject: Re: [xAP_developer] Display JPEGs on your Tivo from ANYWHERE
On Wed, 23 Nov 2005 15:19:59 -0500, "Sullivan, Glenn"
<gsullivan@xxxxxxx> wrote:
>You mention heartbeats... Does your Slim Connector send a different
>heartbeat for each sub address?
Ohhh, duhhhh, just ignore me, that was so wrong. I was thinking of it as
I tapped away on the k/b!
>Since the TiVo has no ability for you to answer an on screen prompt,
>there are no "buttons", so I don't see the .Info or .Event
being
used...
>Those are designed to "answer" with the button pressed, yes?
That was the idea, but the response would only ever be Timed Out on
TiVo. Same applies with the Slims, but it's VERY useful with MCE which
uses the same schema, and also has Time Out options if you were away
from the screen and missed the prompt for instance. One schema to fit
them all, and just use a default response where it isn't appropriate.
Questions ought to be possible on a TiVo somehow though?
WRT TiVo and Info and .Event, assuming a message queue, they're quite
useful messages as you can report when a message gets its chance to be
displayed. Same applies for any queue-based display device I think.
I'll have to check my code to remind me when I send each type.
S
--
Stuart Booth <stuart@xxxxxxx>
xAPFramework.NET - a xAP software development framework for .NET
http://www.xapautomation.org/
http://www.xapframework.net/
xAP_Development Main Index |
xAP_Development Thread Index |
xAP_Development Home |
Archives Home
|